aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/GifTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/GifTest.cpp')
-rw-r--r--tests/GifTest.cpp54
1 files changed, 1 insertions, 53 deletions
diff --git a/tests/GifTest.cpp b/tests/GifTest.cpp
index 0168d89d83..7728d27dcb 100644
--- a/tests/GifTest.cpp
+++ b/tests/GifTest.cpp
@@ -238,25 +238,11 @@ DEF_TEST(Gif_Sampled, r) {
return;
}
- // Construct a color table for the decode if necessary
- sk_sp<SkColorTable> colorTable(nullptr);
- SkPMColor* colorPtr = nullptr;
- int* colorCountPtr = nullptr;
- int maxColors = 256;
- if (kIndex_8_SkColorType == codec->getInfo().colorType()) {
- SkPMColor colors[256];
- colorTable.reset(new SkColorTable(colors, maxColors));
- colorPtr = const_cast<SkPMColor*>(colorTable->readColors());
- colorCountPtr = &maxColors;
- }
-
SkAndroidCodec::AndroidOptions options;
options.fSampleSize = 4;
- options.fColorPtr = colorPtr;
- options.fColorCount = colorCountPtr;
SkBitmap bm;
- bm.allocPixels(codec->getInfo(), colorTable);
+ bm.allocPixels(codec->getInfo());
const SkCodec::Result result = codec->getAndroidPixels(codec->getInfo(), bm.getPixels(),
bm.rowBytes(), &options);
REPORTER_ASSERT(r, result == SkCodec::kSuccess);
@@ -273,41 +259,3 @@ DEF_TEST(Codec_GifTruncated, r) {
std::unique_ptr<SkCodec> codec(SkCodec::NewFromData(data));
REPORTER_ASSERT(r, !codec);
}
-
-// There was a bug where SkAndroidCodec::computeOutputColorType returned kIndex_8 for
-// GIFs that did not support kIndex_8. Verify that for such an image, the method computes
-// something that it can actually decode to.
-DEF_TEST(Codec_GifIndex8, r) {
- std::unique_ptr<SkStream> stream(GetResourceAsStream("randPixelsOffset.gif"));
- if (!stream) {
- return;
- }
-
- std::unique_ptr<SkAndroidCodec> codec(SkAndroidCodec::NewFromStream(stream.release()));
- REPORTER_ASSERT(r, codec);
- if (!codec) {
- return;
- }
-
- REPORTER_ASSERT(r, codec->getInfo().colorType() == kN32_SkColorType);
- const SkColorType outputColorType = codec->computeOutputColorType(kN32_SkColorType);
- REPORTER_ASSERT(r, outputColorType == kN32_SkColorType);
-
- SkAndroidCodec::AndroidOptions options;
- sk_sp<SkColorTable> colorTable(nullptr);
- int maxColors = 256;
- if (kIndex_8_SkColorType == outputColorType) {
- SkPMColor colors[256];
- colorTable.reset(new SkColorTable(colors, maxColors));
- options.fColorPtr = const_cast<SkPMColor*>(colorTable->readColors());
- options.fColorCount = &maxColors;
- }
-
- auto info = codec->getInfo().makeColorType(outputColorType);
- SkBitmap bm;
- bm.setInfo(info);
- bm.allocPixels(colorTable.get());
-
- REPORTER_ASSERT(r, SkCodec::kSuccess == codec->getAndroidPixels(info, bm.getPixels(),
- bm.rowBytes(), &options));
-}