aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ExifTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ExifTest.cpp')
-rw-r--r--tests/ExifTest.cpp30
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);
+}