diff options
Diffstat (limited to 'tests/ExifTest.cpp')
-rw-r--r-- | tests/ExifTest.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/ExifTest.cpp b/tests/ExifTest.cpp new file mode 100644 index 0000000000..c49de0f6fe --- /dev/null +++ b/tests/ExifTest.cpp @@ -0,0 +1,30 @@ +/* + * Copyright 2016 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "Resources.h" +#include "SkCodec.h" +#include "Test.h" + +static SkStreamAsset* resource(const char path[]) { + SkString fullPath = GetResourcePath(path); + return SkStream::NewFromFile(fullPath.c_str()); +} + +DEF_TEST(ExifOrientation, r) { + SkAutoTDelete<SkStream> stream(resource("exif-orientation-2-ur.jpg")); + REPORTER_ASSERT(r, nullptr != stream); + SkAutoTDelete<SkCodec> codec(SkCodec::NewFromStream(stream.release())); + REPORTER_ASSERT(r, nullptr != codec); + SkCodec::Origin origin = codec->getOrigin(); + REPORTER_ASSERT(r, SkCodec::kTopRight_Origin == origin); + + stream.reset(resource("mandrill_512_q075.jpg")); + codec.reset(SkCodec::NewFromStream(stream.release())); + REPORTER_ASSERT(r, nullptr != codec); + origin = codec->getOrigin(); + REPORTER_ASSERT(r, SkCodec::kTopLeft_Origin == origin); +} |