Index: tests/CodexTest.cpp |
diff --git a/tests/CodexTest.cpp b/tests/CodexTest.cpp |
index 1dd64d9a6dacb5a6b4fa7b91721da6c39d84a057..b1ff6a9874a917ea9280e0b8c99b9c9610252795 100644 |
--- a/tests/CodexTest.cpp |
+++ b/tests/CodexTest.cpp |
@@ -152,7 +152,7 @@ static void check(skiatest::Reporter* r, |
DEF_TEST(Codec, r) { |
// WBMP |
- check(r, "mandrill.wbmp", SkISize::Make(512, 512), false, false); |
+ check(r, "mandrill.wbmp", SkISize::Make(512, 512), true, false); |
// WEBP |
check(r, "baby_tux.webp", SkISize::Make(386, 395), false, true); |
@@ -289,3 +289,23 @@ DEF_TEST(Codec_Empty, r) { |
test_empty(r, "empty_images/zero-width.wbmp"); |
test_empty(r, "empty_images/zero-height.wbmp"); |
} |
+ |
+static void test_invalid_parameters(skiatest::Reporter* r, const char path[]) { |
+ SkAutoTDelete<SkStream> stream(resource(path)); |
+ if (!stream) { |
+ SkDebugf("Missing resource '%s'\n", path); |
+ return; |
+ } |
+ SkAutoTDelete<SkScanlineDecoder> decoder(SkScanlineDecoder::NewFromStream(stream.detach())); |
+ // This should return kInvalidConversion because, in kIndex_8 mode, we must pass in a valid |
+ // colorPtr and a valid colorCountPtr. |
+ SkCodec::Result result = decoder->start( |
+ decoder->getInfo().makeColorType(kIndex_8_SkColorType), NULL, NULL, NULL); |
scroggo
2015/08/04 20:24:11
FWIW, you could leave off the last three NULLs and
msarett
2015/08/04 21:21:26
I put the SkASSERT back in. This means we will cr
|
+ REPORTER_ASSERT(r, SkCodec::kInvalidConversion == result); |
+} |
+ |
+DEF_TEST(Codec_Params, r) { |
+ test_invalid_parameters(r, "mandrill_512.png"); |
scroggo
2015/08/04 20:24:11
Is this a kIndex8 image? It might be interesting t
msarett
2015/08/04 21:21:26
Yes kInvalidParameters is better!
Yes it is better
|
+ test_invalid_parameters(r, "mandrill.wbmp"); |
+ test_invalid_parameters(r, "CMYK.jpg"); |
+} |