83f53f522ea34a07f21bf503d78cd7a333882608
[framework/web/wrt-commons.git] / tests / localization / test_suite01.cpp
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 #include <dpl/log/log.h>
18 #include <dpl/test/test_runner.h>
19
20 #include <dpl/wrt-dao-rw/widget_dao.h>
21 #include <dpl/localization/w3c_file_localization.h>
22
23 namespace {
24
25 WrtDB::LanguageTagList generateLanguageTags(){
26     WrtDB::LanguageTagList tags;
27     tags.push_back(L"pl-pl");
28     tags.push_back(L"en-en");
29     tags.push_back(L"pl-en");
30     return tags;
31 }
32
33 static const WrtDB::LanguageTagList languageTags = generateLanguageTags();
34 static const DPL::String widget1Path = L"/opt/apps/widget/tests/localization/widget1/";
35 static const DPL::String widget2Path = L"/opt/apps/widget/tests/localization/widget2/";
36
37 } // anonymous namespace
38
39 RUNNER_TEST(test01_getFilePathInWidgetPackageFromUrl){
40     const int widgetHandle = 1;
41     WrtDB::WidgetDAO dao(widgetHandle);
42     dao.setPath(widget1Path);
43
44     auto result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
45         widgetHandle,
46         languageTags,
47         L"widget://one");
48
49     RUNNER_ASSERT(*result == L"/opt/apps/widget/tests/localization/widget1/locales/pl-en/one");
50 }
51
52 RUNNER_TEST(test02_getFilePathInWidgetPackageFromUrl){
53     const int widgetHandle = 2;
54     WrtDB::WidgetDAO dao(widgetHandle);
55     dao.setPath(widget2Path);
56
57     auto result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
58         widgetHandle,
59         languageTags,
60         L"widget://one");
61
62     RUNNER_ASSERT(*result == L"/opt/apps/widget/tests/localization/widget2/locales/pl-en/one");
63 }
64
65 RUNNER_TEST(test03_getFilePathInWidgetPackageFromUrl){
66     const int widgetHandle = 2;
67     WrtDB::WidgetDAO dao(widgetHandle);
68     dao.setPath(widget2Path);
69
70     auto result = W3CFileLocalization::getFilePathInWidgetPackageFromUrl(
71         widgetHandle,
72         languageTags,
73         L"widget://two");
74
75     RUNNER_ASSERT(*result == L"/opt/apps/widget/tests/localization/widget2/locales/en-en/two");
76 }
77
78 RUNNER_TEST(test04_getFilePathInWidgetPackage){
79     const int widgetHandle = 1;
80     WrtDB::WidgetDAO dao(widgetHandle);
81     dao.setPath(widget1Path);
82
83     auto result = W3CFileLocalization::getFilePathInWidgetPackage(
84         widgetHandle,
85         languageTags,
86         L"one");
87
88     RUNNER_ASSERT(*result == L"locales/pl-en/one");
89 }
90
91 RUNNER_TEST(test05_getFilePathInWidgetPackage){
92     const int widgetHandle = 2;
93     WrtDB::WidgetDAO dao(widgetHandle);
94     dao.setPath(widget2Path);
95
96     auto result = W3CFileLocalization::getFilePathInWidgetPackage(
97         widgetHandle,
98         languageTags,
99         L"two");
100
101     RUNNER_ASSERT(*result == L"locales/en-en/two");
102 }
103