Flatten resources directory
On android trybots, the files in a subdirectory weren't being
loaded onto the device. Consequently, the ImageDecoderOptions
test was not testing anything. I had to relax that unit test
to reflect the existing behavior of our libjpeg decoder on
Android.
R=djsollen@google.com
Review URL: https://codereview.chromium.org/264583007
git-svn-id: http://skia.googlecode.com/svn/trunk@14682 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/resources/encoding/randPixels.bmp b/resources/randPixels.bmp
similarity index 100%
rename from resources/encoding/randPixels.bmp
rename to resources/randPixels.bmp
Binary files differ
diff --git a/resources/encoding/randPixels.gif b/resources/randPixels.gif
similarity index 100%
rename from resources/encoding/randPixels.gif
rename to resources/randPixels.gif
Binary files differ
diff --git a/resources/encoding/randPixels.jpg b/resources/randPixels.jpg
similarity index 100%
rename from resources/encoding/randPixels.jpg
rename to resources/randPixels.jpg
Binary files differ
diff --git a/resources/encoding/randPixels.png b/resources/randPixels.png
similarity index 100%
rename from resources/encoding/randPixels.png
rename to resources/randPixels.png
Binary files differ
diff --git a/resources/encoding/randPixels.webp b/resources/randPixels.webp
similarity index 100%
rename from resources/encoding/randPixels.webp
rename to resources/randPixels.webp
Binary files differ
diff --git a/tests/ImageDecodingTest.cpp b/tests/ImageDecodingTest.cpp
index e9348fe..86b96ae 100644
--- a/tests/ImageDecodingTest.cpp
+++ b/tests/ImageDecodingTest.cpp
@@ -512,8 +512,8 @@
*/
DEF_TEST(ImprovedBitmapFactory, reporter) {
SkString resourcePath = skiatest::Test::GetResourcePath();
- SkString directory = SkOSPath::SkPathJoin(resourcePath.c_str(), "encoding");
- SkString path = SkOSPath::SkPathJoin(directory.c_str(), "randPixels.png");
+ SkString path = SkOSPath::SkPathJoin(
+ resourcePath.c_str(), "randPixels.png");
SkAutoTUnref<SkStreamRewindable> stream(
SkStream::NewFromFile(path.c_str()));
if (sk_exists(path.c_str())) {
@@ -531,9 +531,10 @@
#if defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX)
static inline bool check_rounding(int value, int dividend, int divisor) {
- // returns true if (dividend/divisor) rounds up OR down to value
+ // returns true if the value is greater than floor(dividend/divisor)
+ // and less than SkNextPow2(ceil(dividend - divisor))
return (((divisor * value) > (dividend - divisor))
- && ((divisor * value) < (dividend + divisor)));
+ && value <= SkNextPow2(((dividend - 1) / divisor) + 1));
}
#endif // SK_BUILD_FOR_ANDROID || SK_BUILD_FOR_UNIX
@@ -621,6 +622,11 @@
opts.fSampleSize));
REPORTER_ASSERT(reporter, check_rounding(bm.width(), kExpectedWidth,
opts.fSampleSize));
+ // The ImageDecoder API doesn't guarantee that SampleSize does
+ // anything at all, but the decoders that this test excercises all
+ // produce an output size in the following range:
+ // (((sample_size * out_size) > (in_size - sample_size))
+ // && out_size <= SkNextPow2(((in_size - 1) / sample_size) + 1));
#endif // SK_BUILD_FOR_ANDROID || SK_BUILD_FOR_UNIX
SkAutoLockPixels alp(bm);
if (bm.getPixels() == NULL) {
@@ -682,8 +688,7 @@
};
SkString resourceDir = skiatest::Test::GetResourcePath();
- SkString directory = SkOSPath::SkPathJoin(resourceDir.c_str(), "encoding");
- if (!sk_exists(directory.c_str())) {
+ if (!sk_exists(resourceDir.c_str())) {
return;
}
@@ -700,7 +705,7 @@
const bool useDataList[] = {true, false};
for (size_t fidx = 0; fidx < SK_ARRAY_COUNT(files); ++fidx) {
- SkString path = SkOSPath::SkPathJoin(directory.c_str(), files[fidx]);
+ SkString path = SkOSPath::SkPathJoin(resourceDir.c_str(), files[fidx]);
if (!sk_exists(path.c_str())) {
continue;
}