2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
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.
18 #include <gtest/gtest.h>
23 #include "api/theme.h"
24 #include "api/theme_error.h"
25 #include "theme/loader/theme_info.h"
27 using ttm::loader::ThemeInfo;
29 class ThemeTest : public testing::Test {
31 virtual ~ThemeTest() {}
33 virtual void SetUp() {
34 std::vector<std::string> ar = {"str1", "str2"};
35 b_.Add("id", "testid");
36 b_.Add("version", "1.0");
37 b_.Add("tool_version", "1.1");
38 b_.Add("title", "Test");
39 b_.Add("resolution", "360X360");
40 b_.Add("preview", "shared/res/preview.png");
41 b_.Add("description", "test");
42 b_.Add("stringkey", "value");
43 b_.Add("intkey", "1");
44 b_.Add("floatkey", "2.0");
45 b_.Add("boolkey", "true");
46 b_.Add("arraykey", ar);
49 virtual void TearDown() {
52 tizen_base::Bundle b_;
55 TEST_F(ThemeTest, Theme_GetId) {
56 std::shared_ptr<ThemeInfo> info(
58 theme_h handle = static_cast<void*>(&info);
60 int ret = theme_get_id(handle, &id);
62 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
63 EXPECT_EQ(std::string(id), "testid");
68 TEST_F(ThemeTest, Theme_GetId_N) {
70 int ret = theme_get_id(nullptr, &id);
72 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
75 TEST_F(ThemeTest, Theme_GetVersion) {
76 std::shared_ptr<ThemeInfo> info(
78 theme_h handle = static_cast<void*>(&info);
80 int ret = theme_get_version(handle, &version);
82 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
83 EXPECT_EQ(std::string(version), "1.0");
88 TEST_F(ThemeTest, Theme_GetVersion_N) {
90 int ret = theme_get_version(nullptr, &version);
92 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
95 TEST_F(ThemeTest, Theme_GetToolVersion) {
96 std::shared_ptr<ThemeInfo> info(
99 theme_h handle = static_cast<void*>(&info);
101 int ret = theme_get_tool_version(handle, &version);
103 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
104 EXPECT_EQ(std::string(version), "1.1");
109 TEST_F(ThemeTest, Theme_GetToolVersion_N) {
111 int ret = theme_get_tool_version(nullptr, &version);
113 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
116 TEST_F(ThemeTest, Theme_GetTitle) {
117 std::shared_ptr<ThemeInfo> info(
120 theme_h handle = static_cast<void*>(&info);
122 int ret = theme_get_title(handle, &title);
124 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
125 EXPECT_EQ(std::string(title), "Test");
131 TEST_F(ThemeTest, Theme_GetTitle_N) {
133 int ret = theme_get_title(nullptr, &title);
135 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
138 TEST_F(ThemeTest, Theme_GetResolution) {
139 std::shared_ptr<ThemeInfo> info(
142 theme_h handle = static_cast<void*>(&info);
144 int ret = theme_get_resolution(handle, &resolution);
146 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
147 EXPECT_EQ(std::string(resolution), "360X360");
150 TEST_F(ThemeTest, Theme_GetResolution_N) {
152 int ret = theme_get_title(nullptr, &resolution);
154 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
157 TEST_F(ThemeTest, Theme_GetPreview) {
158 std::shared_ptr<ThemeInfo> info(
161 theme_h handle = static_cast<void*>(&info);
163 int ret = theme_get_preview(handle, &preview);
165 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
166 EXPECT_EQ(std::string(preview), "shared/res/preview.png");
171 TEST_F(ThemeTest, Theme_GetPreview_N) {
173 int ret = theme_get_preview(nullptr, &preview);
175 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
178 TEST_F(ThemeTest, Theme_GetDescription) {
179 std::shared_ptr<ThemeInfo> info(
182 theme_h handle = static_cast<void*>(&info);
184 int ret = theme_get_description(handle, &description);
186 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
187 EXPECT_EQ(std::string(description), "test");
192 TEST_F(ThemeTest, Theme_GetDescription_N) {
194 int ret = theme_get_description(nullptr, &description);
196 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
199 TEST_F(ThemeTest, Theme_GetString) {
200 std::shared_ptr<ThemeInfo> info(
203 theme_h handle = static_cast<void*>(&info);
205 int ret = theme_get_string(handle, "stringkey", &str);
207 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
208 EXPECT_EQ(std::string(str), "value");
213 TEST_F(ThemeTest, Theme_GetString_N) {
215 int ret = theme_get_string(nullptr, "stringkey", &str);
217 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
220 TEST_F(ThemeTest, Theme_GetStringArray) {
221 std::shared_ptr<ThemeInfo> info(
224 theme_h handle = static_cast<void*>(&info);
227 int ret = theme_get_string_array(handle, "arraykey", &strarr, &count);
229 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
230 EXPECT_EQ(std::string(strarr[0]), "str1");
231 EXPECT_EQ(std::string(strarr[1]), "str2");
237 TEST_F(ThemeTest, Theme_GetStringArray_N) {
240 int ret = theme_get_string_array(nullptr, "arraykey", &strarr, &count);
242 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
245 TEST_F(ThemeTest, Theme_GetInt) {
246 std::shared_ptr<ThemeInfo> info(
249 theme_h handle = static_cast<void*>(&info);
251 int ret = theme_get_int(handle, "intkey", &val);
253 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
257 TEST_F(ThemeTest, Theme_GetInt_N) {
259 int ret = theme_get_int(nullptr, "intkey", &val);
261 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
264 TEST_F(ThemeTest, Theme_GetFloat) {
265 std::shared_ptr<ThemeInfo> info(
268 theme_h handle = static_cast<void*>(&info);
270 int ret = theme_get_float(handle, "floatkey", &val);
272 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
276 TEST_F(ThemeTest, Theme_GetFloat_N) {
278 int ret = theme_get_float(nullptr, "floatkey", &val);
280 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
283 TEST_F(ThemeTest, Theme_GetBool) {
284 std::shared_ptr<ThemeInfo> info(
287 theme_h handle = static_cast<void*>(&info);
289 int ret = theme_get_bool(handle, "boolkey", &val);
291 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
292 EXPECT_EQ(val, true);
295 TEST_F(ThemeTest, Theme_GetBool_N1) {
297 int ret = theme_get_bool(nullptr, "boolkey", &val);
299 EXPECT_EQ(ret, THEME_MANAGER_ERROR_INVALID_PARAMETER);
302 TEST_F(ThemeTest, Theme_GetBool_N2) {
303 std::shared_ptr<ThemeInfo> info(
306 theme_h handle = static_cast<void*>(&info);
308 int ret = theme_get_bool(handle, "boolkey_n", &val);
310 EXPECT_EQ(ret, THEME_MANAGER_ERROR_NONE);
311 EXPECT_EQ(val, false);