aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/CodexTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CodexTest.cpp')
-rw-r--r--tests/CodexTest.cpp13
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);