diff options
Diffstat (limited to 'tests/CodexTest.cpp')
-rw-r--r-- | tests/CodexTest.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/CodexTest.cpp b/tests/CodexTest.cpp index 96d03c1f12..2768d57cfc 100644 --- a/tests/CodexTest.cpp +++ b/tests/CodexTest.cpp @@ -9,6 +9,7 @@ #include "SkAndroidCodec.h" #include "SkBitmap.h" #include "SkCodec.h" +#include "SkCodecImageGenerator.h" #include "SkData.h" #include "SkImageDecoder.h" #include "SkMD5.h" @@ -379,6 +380,18 @@ static void check(skiatest::Reporter* r, &scaledCodecDigest, &codecDigest); } + // Test SkCodecImageGenerator + if (!isIncomplete) { + SkAutoTDelete<SkStream> stream(resource(path)); + SkAutoTUnref<SkData> fullData(SkData::NewFromStream(stream, stream->getLength())); + SkAutoTDelete<SkImageGenerator> gen(SkCodecImageGenerator::NewFromEncodedCodec(fullData)); + SkBitmap bm; + bm.allocPixels(info); + SkAutoLockPixels autoLockPixels(bm); + REPORTER_ASSERT(r, gen->getPixels(info, bm.getPixels(), bm.rowBytes())); + compare_to_good_digest(r, codecDigest, bm); + } + // If we've just tested incomplete decodes, let's run the same test again on full decodes. if (isIncomplete) { check(r, path, size, supportsScanlineDecoding, supportsSubsetDecoding, false); |