1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2016 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#include "include/codec/SkCodec.h" 9cb93a386Sopenharmony_ci#include "tests/Test.h" 10cb93a386Sopenharmony_ci#include "tools/Resources.h" 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_ciDEF_TEST(ExifOrientation, r) { 13cb93a386Sopenharmony_ci std::unique_ptr<SkStream> stream(GetResourceAsStream("images/exif-orientation-2-ur.jpg")); 14cb93a386Sopenharmony_ci REPORTER_ASSERT(r, nullptr != stream); 15cb93a386Sopenharmony_ci if (!stream) { 16cb93a386Sopenharmony_ci return; 17cb93a386Sopenharmony_ci } 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_ci std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(stream))); 20cb93a386Sopenharmony_ci REPORTER_ASSERT(r, nullptr != codec); 21cb93a386Sopenharmony_ci SkEncodedOrigin origin = codec->getOrigin(); 22cb93a386Sopenharmony_ci REPORTER_ASSERT(r, kTopRight_SkEncodedOrigin == origin); 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci codec = SkCodec::MakeFromStream(GetResourceAsStream("images/mandrill_512_q075.jpg")); 25cb93a386Sopenharmony_ci REPORTER_ASSERT(r, nullptr != codec); 26cb93a386Sopenharmony_ci origin = codec->getOrigin(); 27cb93a386Sopenharmony_ci REPORTER_ASSERT(r, kTopLeft_SkEncodedOrigin == origin); 28cb93a386Sopenharmony_ci} 29cb93a386Sopenharmony_ci 30cb93a386Sopenharmony_ciDEF_TEST(ExifOrientationInExif, r) { 31cb93a386Sopenharmony_ci std::unique_ptr<SkStream> stream(GetResourceAsStream("images/orientation/exif.jpg")); 32cb93a386Sopenharmony_ci 33cb93a386Sopenharmony_ci std::unique_ptr<SkCodec> codec = SkCodec::MakeFromStream(std::move(stream)); 34cb93a386Sopenharmony_ci REPORTER_ASSERT(r, nullptr != codec); 35cb93a386Sopenharmony_ci SkEncodedOrigin origin = codec->getOrigin(); 36cb93a386Sopenharmony_ci REPORTER_ASSERT(r, kLeftBottom_SkEncodedOrigin == origin); 37cb93a386Sopenharmony_ci} 38cb93a386Sopenharmony_ci 39cb93a386Sopenharmony_ciDEF_TEST(ExifOrientationInSubIFD, r) { 40cb93a386Sopenharmony_ci std::unique_ptr<SkStream> stream(GetResourceAsStream("images/orientation/subifd.jpg")); 41cb93a386Sopenharmony_ci 42cb93a386Sopenharmony_ci std::unique_ptr<SkCodec> codec = SkCodec::MakeFromStream(std::move(stream)); 43cb93a386Sopenharmony_ci REPORTER_ASSERT(r, nullptr != codec); 44cb93a386Sopenharmony_ci SkEncodedOrigin origin = codec->getOrigin(); 45cb93a386Sopenharmony_ci REPORTER_ASSERT(r, kLeftBottom_SkEncodedOrigin == origin); 46cb93a386Sopenharmony_ci} 47