| Index: tests/CodexTest.cpp
|
| diff --git a/tests/CodexTest.cpp b/tests/CodexTest.cpp
|
| index 1dd64d9a6dacb5a6b4fa7b91721da6c39d84a057..b7f1584a16a29a52724c44e752fc7e9f56897d29 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,38 @@ 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 kSuccess because kIndex8 is supported.
|
| + SkPMColor colorStorage[256];
|
| + int colorCount;
|
| + SkCodec::Result result = decoder->start(
|
| + decoder->getInfo().makeColorType(kIndex_8_SkColorType), NULL, colorStorage, &colorCount);
|
| + REPORTER_ASSERT(r, SkCodec::kSuccess == result);
|
| + // The rest of the test is uninteresting if kIndex8 is not supported
|
| + if (SkCodec::kSuccess != result) {
|
| + return;
|
| + }
|
| +
|
| + // This should return kInvalidParameters because, in kIndex_8 mode, we must pass in a valid
|
| + // colorPtr and a valid colorCountPtr.
|
| + result = decoder->start(
|
| + decoder->getInfo().makeColorType(kIndex_8_SkColorType), NULL, NULL, NULL);
|
| + REPORTER_ASSERT(r, SkCodec::kInvalidParameters == result);
|
| + result = decoder->start(
|
| + decoder->getInfo().makeColorType(kIndex_8_SkColorType));
|
| + REPORTER_ASSERT(r, SkCodec::kInvalidParameters == result);
|
| +}
|
| +
|
| +DEF_TEST(Codec_Params, r) {
|
| + test_invalid_parameters(r, "index8.png");
|
| + test_invalid_parameters(r, "mandrill.wbmp");
|
| +}
|
|
|