| /* | 
 |  * Copyright 2020 Google LLC | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 |  | 
 | // Make sure SkUserConfig.h is included so #defines are available on | 
 | // Android. | 
 | #include "include/core/SkTypes.h" | 
 | #ifdef SK_ENABLE_ANDROID_UTILS | 
 | #include "client_utils/android/BitmapRegionDecoder.h" | 
 | #include "include/codec/SkAndroidCodec.h" | 
 | #include "include/codec/SkCodec.h" | 
 | #include "tests/Test.h" | 
 | #include "tools/Resources.h" | 
 |  | 
 | DEF_TEST(BRD_types, r) { | 
 |     static const struct { | 
 |         const char* name; | 
 |         bool supported; | 
 |     } gRec[] = { | 
 |         { "images/arrow.png", true }, | 
 |         { "images/box.gif", false }, | 
 |         { "images/baby_tux.webp", true }, | 
 |         { "images/brickwork-texture.jpg", true }, | 
 |         { "images/color_wheel.ico", false }, | 
 | #ifdef SK_CODEC_DECODES_RAW | 
 |         { "images/sample_1mp.dng", false }, | 
 | #endif | 
 |         { "images/mandrill.wbmp", false }, | 
 |         { "images/randPixels.bmp", false }, | 
 |     }; | 
 |  | 
 |     for (const auto& rec : gRec) { | 
 |         auto data = GetResourceAsData(rec.name); | 
 |         if (!data) return; | 
 |  | 
 |         REPORTER_ASSERT(r, SkCodec::MakeFromData(data) != nullptr); | 
 |         REPORTER_ASSERT(r, SkAndroidCodec::MakeFromData(data) != nullptr); | 
 |  | 
 |         auto brd = android::skia::BitmapRegionDecoder::Make(data); | 
 |         if (rec.supported) { | 
 |             if (!brd) ERRORF(r, "Failed to create BRD from %s", rec.name); | 
 |         } else { | 
 |             if (brd) ERRORF(r, "Should *not* create BRD from %s", rec.name); | 
 |         } | 
 |     } | 
 | } | 
 | #endif // SK_ENABLE_ANDROID_UTILS |