2 * Copyright (c) 2011 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 * This file contains the declaration of widget dao class.
19 * @file test_suite01.cpp
20 * @author Krzysztof Jackiewicz (k.jackiewicz@samsung.com)
25 #include <dpl/test/test_runner.h>
26 #include <dpl/static_block.h>
27 #include <dpl/wrt-dao-ro/widget_dao_read_only.h>
28 #include <dpl/localization/w3c_file_localization.h>
29 #include <dpl/optional_typedefs.h>
30 #include <LanguageTagsProvider.h>
36 WrtDB::LanguageTagList tags;
37 tags.push_back(L"pl-pl");
38 tags.push_back(L"en-en");
39 tags.push_back(L"pl-en");
40 LanguageTagsProviderSingleton::Instance().setLanguageTags(tags);
43 static const DPL::String widget1Path =
44 L"/opt/share/widget/tests/localization/widget1/";
45 static const DPL::String widget2Path =
46 L"/opt/share/widget/tests/localization/widget2/";
49 const std::string appId1("tizenid201");
50 const std::string appId2("tizenid202");
52 } // anonymous namespace
54 RUNNER_TEST(test01_getFilePathInWidgetPackageFromUrl){
55 WrtDB::TizenAppId name = L"tizenid201"; //no difference if it is valid or invalid appId/pkgId, we fill database which has no intergrity constrainst
56 WrtDB::WidgetDAOReadOnly dao(name);
58 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
60 DPL::String(L"widget://one"));
62 RUNNER_ASSERT_MSG(!!result, "No result");
65 L"/opt/share/widget/tests/localization/widget1/res/wgt/locales/pl-en/one");
68 RUNNER_TEST(test02_getFilePathInWidgetPackageFromUrl){
69 WrtDB::TizenAppId name = L"tizenid202";
70 WrtDB::WidgetDAOReadOnly dao(name);
72 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
74 DPL::String(L"widget://one"));
76 RUNNER_ASSERT_MSG(!!result, "No result");
79 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/pl-en/one");
82 RUNNER_TEST(test03_getFilePathInWidgetPackageFromUrl){
83 WrtDB::TizenAppId name = L"tizenid202";
84 WrtDB::WidgetDAOReadOnly dao(name);
86 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
88 DPL::String(L"widget://two.html"));
90 RUNNER_ASSERT_MSG(!!result, "No result");
93 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
96 RUNNER_TEST(test04_getFilePathInWidgetPackageFromUrl)
98 WrtDB::TizenAppId name = L"tizenid202";
100 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
102 DPL::String(L"widget://two.html?a=1#b"));
104 RUNNER_ASSERT_MSG(!!result, "No result");
107 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html?a=1#b");
110 RUNNER_TEST(test05_getFilePathInWidgetPackageFromUrl)
112 WrtDB::TizenAppId name = L"tizenid202";
114 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
116 DPL::String(L"widget://two.html#a?b"));
118 RUNNER_ASSERT_MSG(!!result, "No result");
121 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html#a?b");
124 RUNNER_TEST(test06_getFilePathInWidgetPackageFromUrl)
126 WrtDB::TizenAppId name = L"tizenid202";
128 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
130 DPL::String(L"file://two.html"));
132 RUNNER_ASSERT_MSG(!!result, "No result");
135 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
138 RUNNER_TEST(test07_getFilePathInWidgetPackageFromUrl)
140 WrtDB::TizenAppId name = L"tizenid202";
142 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
144 DPL::String(L"file:///opt/share/widget/tests/localization/widget2/res/wgt/two.html"));
146 RUNNER_ASSERT_MSG(!!result, "No result");
149 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
152 RUNNER_TEST(test08_getFilePathInWidgetPackageFromUrl)
154 WrtDB::TizenAppId name = L"tizenid202";
156 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
158 DPL::String(L"file:///opt/share/widget/tests/localization/widget2/res/wgt/locales/pl-en/two.html"));
160 RUNNER_ASSERT_MSG(!!result, "No result");
163 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
166 RUNNER_TEST(test09_getFilePathInWidgetPackageFromUrl)
168 WrtDB::TizenAppId name = L"tizenid202";
170 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
172 DPL::String(L"app://two.html"));
174 RUNNER_ASSERT(!result);
177 RUNNER_TEST(test10_getFilePathInWidgetPackageFromUrl)
179 WrtDB::TizenAppId name = L"tizenid202";
181 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
183 DPL::String(L"app://tizenid202/two.html"));
185 RUNNER_ASSERT_MSG(!!result, "No result");
188 L"/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
191 RUNNER_TEST(test11_getFilePathInWidgetPackageFromUrl)
193 WrtDB::TizenAppId name = L"tizenid202";
195 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
197 DPL::String(L"dummy"));
199 RUNNER_ASSERT(!result);
202 RUNNER_TEST(test12_getFilePathInWidgetPackageFromUrl)
204 WrtDB::TizenAppId name = L"tizenid202";
206 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
208 DPL::String(L"app://tizenid202/notExisingFIle"));
210 RUNNER_ASSERT(!result);
213 RUNNER_TEST(test13_getFilePathInWidgetPackageFromUrl2)
215 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId1, "widget://one");
217 RUNNER_ASSERT_MSG(!result.empty(), "No result");
218 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget1/res/wgt/locales/pl-en/one");
221 RUNNER_TEST(test14_getFilePathInWidgetPackageFromUrl2)
223 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "widget://one");
225 RUNNER_ASSERT_MSG(!result.empty(), "No result");
226 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/pl-en/one");
229 RUNNER_TEST(test15_getFilePathInWidgetPackageFromUrl2)
231 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "widget://two.html");
233 RUNNER_ASSERT_MSG(!result.empty(), "No result");
234 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
237 RUNNER_TEST(test16_getFilePathInWidgetPackageFromUrl2)
239 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "widget://two.html?a=1#b");
241 RUNNER_ASSERT_MSG(!result.empty(), "No result");
242 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html?a=1#b");
245 RUNNER_TEST(test17_getFilePathInWidgetPackageFromUrl2)
247 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "widget://two.html#a?b");
249 RUNNER_ASSERT_MSG(!result.empty(), "No result");
250 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html#a?b");
253 RUNNER_TEST(test18_getFilePathInWidgetPackageFromUrl2)
255 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "file://two.html");
257 RUNNER_ASSERT_MSG(!result.empty(), "No result");
258 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
261 RUNNER_TEST(test19_getFilePathInWidgetPackageFromUrl2)
263 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2,
264 "file:///opt/share/widget/tests/localization/widget2/res/wgt/two.html");
266 RUNNER_ASSERT_MSG(!result.empty(), "No result");
267 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
270 RUNNER_TEST(test20_getFilePathInWidgetPackageFromUrl2)
272 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2,
273 "file:///opt/share/widget/tests/localization/widget2/res/wgt/locales/pl-en/two.html");
275 RUNNER_ASSERT_MSG(!result.empty(), "No result");
276 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
279 RUNNER_TEST(test21_getFilePathInWidgetPackageFromUrl2)
281 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "app://two.html");
283 RUNNER_ASSERT(result.empty());
286 RUNNER_TEST(test22_getFilePathInWidgetPackageFromUrl2)
288 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "app://tizenid202/two.html");
290 RUNNER_ASSERT_MSG(!result.empty(), "No result");
291 RUNNER_ASSERT(result == "/opt/share/widget/tests/localization/widget2/res/wgt/locales/en-en/two.html");
294 RUNNER_TEST(test23_getFilePathInWidgetPackageFromUrl2)
296 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2, "dummy");
298 RUNNER_ASSERT(result.empty());
301 RUNNER_TEST(test24_getFilePathInWidgetPackageFromUrl2)
303 std::string result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(appId2,
304 "app://tizenid202/notExisingFIle");
306 RUNNER_ASSERT(result.empty());
309 RUNNER_TEST(test25_getFilePathInWidgetPackage)
311 WrtDB::TizenAppId name = L"tizenid201";
312 WrtDB::WidgetDAOReadOnly dao(name);
314 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackage(
316 DPL::String(L"one"));
318 RUNNER_ASSERT_MSG(!!result, "No result");
319 RUNNER_ASSERT(*result == L"locales/pl-en/one");
322 RUNNER_TEST(test26_getFilePathInWidgetPackage)
324 WrtDB::TizenAppId name = L"tizenid202";
325 WrtDB::WidgetDAOReadOnly dao(name);
327 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackage(
329 DPL::String(L"two.html"));
331 RUNNER_ASSERT_MSG(!!result, "No result");
332 RUNNER_ASSERT(*result == L"locales/en-en/two.html");
335 RUNNER_TEST(test27_getFilePathInWidgetPackage)
337 WrtDB::TizenAppId name = L"tizenid202";
339 DPL::OptionalString result = W3CFileLocalization::getFilePathInWidgetPackage(name, L"");
340 RUNNER_ASSERT(!result);
342 result = W3CFileLocalization::getFilePathInWidgetPackage(name, L"/");
343 RUNNER_ASSERT(!result);
345 result = W3CFileLocalization::getFilePathInWidgetPackage(name, L"//");
346 RUNNER_ASSERT(!result);
348 result = W3CFileLocalization::getFilePathInWidgetPackage(name, L"dummy");
349 RUNNER_ASSERT(!result);
351 result = W3CFileLocalization::getFilePathInWidgetPackage(name, L"/two.html/");
352 RUNNER_ASSERT_MSG(!!result, "No result");
353 RUNNER_ASSERT(*result == L"locales/en-en/two.html");
356 RUNNER_TEST(test28_getValidIconsList)
358 WrtDB::TizenAppId name = L"not existing";
360 bool exceptionCaught = false;
363 W3CFileLocalization::WidgetIconList result = W3CFileLocalization::getValidIconsList(name);
364 } catch (WrtDB::WidgetDAOReadOnly::Exception::WidgetNotExist&) {
365 exceptionCaught = true;
367 RUNNER_ASSERT(exceptionCaught);
370 RUNNER_TEST(test29_getValidIconsList)
372 WrtDB::TizenAppId name = L"tizenid202";
374 W3CFileLocalization::WidgetIconList result = W3CFileLocalization::getValidIconsList(name);
375 RUNNER_ASSERT(result.empty());
379 RUNNER_TEST(test30_getValidIconsList)
381 WrtDB::TizenAppId name = L"tizenid201";
383 W3CFileLocalization::WidgetIconList result = W3CFileLocalization::getValidIconsList(name);
384 RUNNER_ASSERT(result.size() == 2);
385 W3CFileLocalization::WidgetIconList::iterator iter = result.begin();
386 RUNNER_ASSERT(iter->src == L"icon");
387 RUNNER_ASSERT(iter->height == 250);
388 RUNNER_ASSERT(iter->width == 251);
390 RUNNER_ASSERT(iter->src == L"icon2");
391 RUNNER_ASSERT(iter->height == 252);
392 RUNNER_ASSERT(iter->width == 253);
395 RUNNER_TEST(test31_getStartFileInfo)
397 WrtDB::TizenAppId name = L"not existing";
399 bool exceptionCaught = false;
402 OptionalWidgetStartFileInfo result = W3CFileLocalization::getStartFileInfo(name);
403 } catch (WrtDB::WidgetDAOReadOnly::Exception::WidgetNotExist&) {
404 exceptionCaught = true;
406 RUNNER_ASSERT(exceptionCaught);
409 RUNNER_TEST(test32_getStartFileInfo)
411 WrtDB::TizenAppId name = L"tizenid202";
413 OptionalWidgetStartFileInfo result = W3CFileLocalization::getStartFileInfo(name);
414 RUNNER_ASSERT(!result);
418 RUNNER_TEST(test33_getStartFileInfo)
420 WrtDB::TizenAppId name = L"tizenid201";
422 OptionalWidgetStartFileInfo result = W3CFileLocalization::getStartFileInfo(name);
423 RUNNER_ASSERT(!!result);
424 RUNNER_ASSERT(result->file == L"start_file");
425 RUNNER_ASSERT(result->localizedPath == L"locales/en-en/start_file");