| Index: tests/PDFJpegEmbedTest.cpp | 
| diff --git a/tests/PDFJpegEmbedTest.cpp b/tests/PDFJpegEmbedTest.cpp | 
| index 133d84a3ff745e9b5177739c59f48c55e43a2975..cfe6776bf5b22f8dedd3cbfd35c66ac7fd79fe56 100644 | 
| --- a/tests/PDFJpegEmbedTest.cpp | 
| +++ b/tests/PDFJpegEmbedTest.cpp | 
| @@ -87,3 +87,41 @@ DEF_TEST(PDFJpegEmbedTest, r) { | 
| // embedded into the PDF directly. | 
| REPORTER_ASSERT(r, !is_subset_of(cmykData, pdfData)); | 
| } | 
| + | 
| +#include "SkJpegInfo.h" | 
| + | 
| +DEF_TEST(JpegIdentification, r) { | 
| +    static struct { | 
| +        const char* path; | 
| +        bool isJfif; | 
| +        SkJFIFInfo::Type type; | 
| +    } kTests[] = {{"CMYK.jpg", false, SkJFIFInfo::kGrayscale}, | 
| +                  {"color_wheel.jpg", true, SkJFIFInfo::kYCbCr}, | 
| +                  {"grayscale.jpg", true, SkJFIFInfo::kGrayscale}, | 
| +                  {"mandrill_512_q075.jpg", true, SkJFIFInfo::kYCbCr}, | 
| +                  {"randPixels.jpg", true, SkJFIFInfo::kYCbCr}}; | 
| +    for (size_t i = 0; i < SK_ARRAY_COUNT(kTests); ++i) { | 
| +        SkAutoTUnref<SkData> data( | 
| +                load_resource(r, "JpegIdentification", kTests[i].path)); | 
| +        if (!data) { | 
| +            continue; | 
| +        } | 
| +        SkJFIFInfo info; | 
| +        bool isJfif = SkIsJFIF(data, &info); | 
| +        if (isJfif != kTests[i].isJfif) { | 
| +            ERRORF(r, "%s failed isJfif test", kTests[i].path); | 
| +            continue; | 
| +        } | 
| +        if (!isJfif) { | 
| +            continue;  // not applicable | 
| +        } | 
| +        if (kTests[i].type != info.fType) { | 
| +            ERRORF(r, "%s failed jfif type test", kTests[i].path); | 
| +            continue; | 
| +        } | 
| +        if (r->verbose()) { | 
| +            SkDebugf("\nJpegIdentification: %s [%d x %d]\n", kTests[i].path, | 
| +                     info.fWidth, info.fHeight); | 
| +        } | 
| +    } | 
| +} | 
|  |