2 * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <tzplatform_config.h>
19 #include "libmm_gif_unittest.h"
20 #include "FileInterface.h"
21 #include "mm_util_gif.h"
23 #define DECODE_FILE_PATH tzplatform_mkpath(TZ_SYS_BIN, "libmm-gif-unittest.gif")
24 #define ENCODE_FILE_PATH tzplatform_mkpath(TZ_USER_CONTENT, "libmm-gif-result.gif")
26 using ::testing::InitGoogleTest;
27 using ::testing::Test;
28 using ::testing::TestCase;
30 class libmm_gif_Test : public ::testing::Test {
33 std::cout << "SetUp()" << std::endl;
37 std::cout << "TearDown()" << std::endl;
41 TEST(libmm_gif_Test, mm_util_decode_from_gif_file_p)
43 int ret = MM_UTIL_ERROR_NONE;
44 mm_image_info_s decode_image;
46 ret = mm_util_decode_from_gif_file(DECODE_FILE_PATH, &decode_image);
47 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
48 EXPECT_EQ(decode_image.width, 640);
49 EXPECT_EQ(decode_image.height, 480);
50 EXPECT_TRUE(decode_image.data != NULL);
52 if (decode_image.data != NULL)
53 free(decode_image.data);
56 TEST(libmm_gif_Test, mm_util_decode_from_gif_file_n)
58 int ret = MM_UTIL_ERROR_NONE;
59 mm_image_info_s decode_image;
61 ret = mm_util_decode_from_gif_file(NULL, &decode_image);
62 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
64 ret = mm_util_decode_from_gif_file(DECODE_FILE_PATH, NULL);
65 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
68 TEST(libmm_gif_Test, mm_util_decode_from_gif_memory_p)
70 int ret = MM_UTIL_ERROR_NONE;
72 mm_image_info_s decode_image;
74 FileInterface IFile = FileInterface(DECODE_FILE_PATH);
75 err = IFile.ReadData();
78 ret = mm_util_decode_from_gif_memory(IFile.readData, IFile.readDataSize, &decode_image);
79 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
80 EXPECT_EQ(decode_image.width, 640);
81 EXPECT_EQ(decode_image.height, 480);
82 EXPECT_TRUE(decode_image.data != NULL);
84 if (decode_image.data != NULL)
85 free(decode_image.data);
88 TEST(libmm_gif_Test, mm_util_decode_from_gif_memory_n)
90 int ret = MM_UTIL_ERROR_NONE;
92 mm_image_info_s decode_image;
94 FileInterface IFile = FileInterface(DECODE_FILE_PATH);
95 err = IFile.ReadData();
98 ret = mm_util_decode_from_gif_memory(NULL, IFile.readDataSize, &decode_image);
99 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
101 ret = mm_util_decode_from_gif_memory(IFile.readData, IFile.readDataSize, NULL);
102 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
105 TEST(libmm_gif_Test, mm_util_encode_to_gif_file_p)
107 int ret = MM_UTIL_ERROR_NONE;
108 mm_image_info_s decode_image;
109 mm_image_info_s *ptr_decode_image = &decode_image;
111 ret = mm_util_decode_from_gif_file(DECODE_FILE_PATH, &decode_image);
112 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
113 EXPECT_TRUE(decode_image.data != NULL);
115 ret = mm_util_encode_to_gif_file(&ptr_decode_image, 1, ENCODE_FILE_PATH);
116 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
118 if (decode_image.data != NULL)
119 free(decode_image.data);
122 TEST(libmm_gif_Test, mm_util_encode_to_gif_file_n)
124 int ret = MM_UTIL_ERROR_NONE;
125 mm_image_info_s decode_image;
126 mm_image_info_s *ptr_decode_image = &decode_image;
128 ret = mm_util_encode_to_gif_file(NULL, 1, ENCODE_FILE_PATH);
129 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
131 ret = mm_util_encode_to_gif_file(&ptr_decode_image, 1, NULL);
132 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
135 TEST(libmm_gif_Test, mm_util_encode_to_gif_memory_p)
137 int ret = MM_UTIL_ERROR_NONE;
138 mm_image_info_s decode_image;
139 mm_image_info_s *ptr_decode_image = &decode_image;
143 ret = mm_util_decode_from_gif_file(DECODE_FILE_PATH, &decode_image);
144 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
145 EXPECT_TRUE(decode_image.data != NULL);
147 ret = mm_util_encode_to_gif_memory(&ptr_decode_image, 1, &buffer, &size);
148 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
149 EXPECT_TRUE(buffer != NULL);
152 if (decode_image.data != NULL)
153 free(decode_image.data);
159 TEST(libmm_gif_Test, mm_util_encode_to_gif_memory_n)
161 int ret = MM_UTIL_ERROR_NONE;
162 mm_image_info_s decode_image;
163 mm_image_info_s *ptr_decode_image = &decode_image;
167 ret = mm_util_encode_to_gif_memory(NULL, 1, &buffer, &size);
168 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
170 ret = mm_util_encode_to_gif_memory(&ptr_decode_image, 1, NULL, &size);
171 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
173 ret = mm_util_encode_to_gif_memory(&ptr_decode_image, 1, &buffer, NULL);
174 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
177 int main(int argc, char **argv)
179 InitGoogleTest(&argc, argv);
181 return RUN_ALL_TESTS();