OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkDocument.h" | 8 #include "SkDocument.h" |
9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
10 #include "SkImageGenerator.h" | 10 #include "SkImageGenerator.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 size_t size_diff = larger->size() - size; | 31 size_t size_diff = larger->size() - size; |
32 for (size_t i = 0; i <= size_diff; ++i) { | 32 for (size_t i = 0; i <= size_diff; ++i) { |
33 if (0 == memcmp(larger->bytes() + i, smaller->bytes(), size)) { | 33 if (0 == memcmp(larger->bytes() + i, smaller->bytes(), size)) { |
34 return true; | 34 return true; |
35 } | 35 } |
36 } | 36 } |
37 return false; | 37 return false; |
38 } | 38 } |
39 | 39 |
40 | 40 |
41 static SkData* load_resource( | 41 static sk_sp<SkData> load_resource( |
42 skiatest::Reporter* r, const char* test, const char* filename) { | 42 skiatest::Reporter* r, const char* test, const char* filename) { |
43 SkString path(GetResourcePath(filename)); | 43 SkString path(GetResourcePath(filename)); |
44 SkData* data = SkData::NewFromFileName(path.c_str()); | 44 sk_sp<SkData> data(SkData::MakeFromFileName(path.c_str())); |
45 if (!data) { | 45 if (!data) { |
46 INFOF(r, "\n%s: Resource '%s' can not be found.\n", | 46 INFOF(r, "\n%s: Resource '%s' can not be found.\n", |
47 test, filename); | 47 test, filename); |
48 } | 48 } |
49 return data; // May return nullptr. | 49 return data; // May return nullptr. |
50 } | 50 } |
51 | 51 |
52 /** | 52 /** |
53 * Test that for Jpeg files that use the JFIF colorspace, they are | 53 * Test that for Jpeg files that use the JFIF colorspace, they are |
54 * directly embedded into the PDF (without re-encoding) when that | 54 * directly embedded into the PDF (without re-encoding) when that |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 static struct { | 117 static struct { |
118 const char* path; | 118 const char* path; |
119 bool isJfif; | 119 bool isJfif; |
120 SkJFIFInfo::Type type; | 120 SkJFIFInfo::Type type; |
121 } kTests[] = {{"CMYK.jpg", false, SkJFIFInfo::kGrayscale}, | 121 } kTests[] = {{"CMYK.jpg", false, SkJFIFInfo::kGrayscale}, |
122 {"color_wheel.jpg", true, SkJFIFInfo::kYCbCr}, | 122 {"color_wheel.jpg", true, SkJFIFInfo::kYCbCr}, |
123 {"grayscale.jpg", true, SkJFIFInfo::kGrayscale}, | 123 {"grayscale.jpg", true, SkJFIFInfo::kGrayscale}, |
124 {"mandrill_512_q075.jpg", true, SkJFIFInfo::kYCbCr}, | 124 {"mandrill_512_q075.jpg", true, SkJFIFInfo::kYCbCr}, |
125 {"randPixels.jpg", true, SkJFIFInfo::kYCbCr}}; | 125 {"randPixels.jpg", true, SkJFIFInfo::kYCbCr}}; |
126 for (size_t i = 0; i < SK_ARRAY_COUNT(kTests); ++i) { | 126 for (size_t i = 0; i < SK_ARRAY_COUNT(kTests); ++i) { |
127 SkAutoTUnref<SkData> data( | 127 sk_sp<SkData> data(load_resource(r, "JpegIdentification", kTests[i].path
)); |
128 load_resource(r, "JpegIdentification", kTests[i].path)); | |
129 if (!data) { | 128 if (!data) { |
130 continue; | 129 continue; |
131 } | 130 } |
132 SkJFIFInfo info; | 131 SkJFIFInfo info; |
133 bool isJfif = SkIsJFIF(data, &info); | 132 bool isJfif = SkIsJFIF(data.get(), &info); |
134 if (isJfif != kTests[i].isJfif) { | 133 if (isJfif != kTests[i].isJfif) { |
135 ERRORF(r, "%s failed isJfif test", kTests[i].path); | 134 ERRORF(r, "%s failed isJfif test", kTests[i].path); |
136 continue; | 135 continue; |
137 } | 136 } |
138 if (!isJfif) { | 137 if (!isJfif) { |
139 continue; // not applicable | 138 continue; // not applicable |
140 } | 139 } |
141 if (kTests[i].type != info.fType) { | 140 if (kTests[i].type != info.fType) { |
142 ERRORF(r, "%s failed jfif type test", kTests[i].path); | 141 ERRORF(r, "%s failed jfif type test", kTests[i].path); |
143 continue; | 142 continue; |
144 } | 143 } |
145 INFOF(r, "\nJpegIdentification: %s [%d x %d]\n", kTests[i].path, | 144 INFOF(r, "\nJpegIdentification: %s [%d x %d]\n", kTests[i].path, |
146 info.fSize.width(), info.fSize.height()); | 145 info.fSize.width(), info.fSize.height()); |
147 } | 146 } |
148 } | 147 } |
OLD | NEW |