Removed dead code from SimpleUI
[profile/tv/apps/web/browser.git] / unit_tests / ut_WebKitEngineService.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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 <boost/test/unit_test.hpp>
18
19 #include "ServiceManager.h"
20 #include "AbstractWebEngine.h"
21
22 BOOST_AUTO_TEST_SUITE(WebKitEngineService)
23
24 BOOST_AUTO_TEST_CASE(UriSetGet)
25 {
26     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
27         std::dynamic_pointer_cast
28         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
29         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
30
31     BOOST_CHECK(webkitEngineService);
32
33     webkitEngineService->init(NULL);
34
35     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
36
37     BOOST_CHECK(!(webkitEngineService->getLayout()));
38
39     webkitEngineService->setURI("www.test2.com");
40
41     // URIs are different because of WebKit didn't load webpage (lack of initialization)
42     BOOST_TEST_MESSAGE("Print getURI():" << webkitEngineService->getURI());
43
44     BOOST_TEST_MESSAGE("Print getTitle():" << webkitEngineService->getTitle());
45
46     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
47 }
48
49 BOOST_AUTO_TEST_CASE(NavigationTest)
50 {
51     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
52         std::dynamic_pointer_cast
53         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
54         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
55
56     BOOST_CHECK(webkitEngineService);
57
58     webkitEngineService->init(NULL);
59
60     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test2.com");
61
62     webkitEngineService->stopLoading();
63
64     webkitEngineService->reload();
65
66     webkitEngineService->setURI("www.nextpage.com");
67
68     BOOST_TEST_MESSAGE("Is back enabled: " << webkitEngineService->isBackEnabled());
69
70     webkitEngineService->back();
71
72     BOOST_TEST_MESSAGE("Is forward enabled: " << webkitEngineService->isForwardEnabled());
73
74     webkitEngineService->forward();
75
76     BOOST_TEST_MESSAGE("Is loading: " << webkitEngineService->isLoading());
77
78     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
79 }
80
81 BOOST_AUTO_TEST_CASE(ClearPrivateData)
82 {
83     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
84         std::dynamic_pointer_cast
85         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
86         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
87
88     BOOST_CHECK(webkitEngineService);
89
90     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.clearingdata.com");
91
92     webkitEngineService->clearPrivateData();
93
94     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
95 }
96
97 BOOST_AUTO_TEST_CASE(TabsCreationDeletion)
98 {
99     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
100         std::dynamic_pointer_cast
101         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
102         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
103
104     BOOST_CHECK(webkitEngineService);
105
106     BOOST_TEST_MESSAGE("Tabs count: " << webkitEngineService->tabsCount());
107
108     tizen_browser::basic_webengine::TabId first = webkitEngineService->addTab("www.first.com");
109
110     BOOST_CHECK(webkitEngineService->tabsCount() == 1);
111
112     tizen_browser::basic_webengine::TabId second = webkitEngineService->addTab("www.second.com");
113
114     BOOST_CHECK(webkitEngineService->tabsCount() == 2);
115
116     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(first));
117
118     BOOST_CHECK(webkitEngineService->tabsCount() == 1);
119
120     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(second));
121
122     BOOST_CHECK(!(webkitEngineService->tabsCount()));
123 }
124
125 BOOST_AUTO_TEST_CASE(TabsSwitching)
126 {
127     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
128         std::dynamic_pointer_cast
129         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
130         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
131
132     BOOST_CHECK(webkitEngineService);
133
134     BOOST_TEST_MESSAGE("Tabs count: " << webkitEngineService->tabsCount());
135
136     BOOST_TEST_MESSAGE("Initial current tab: " << webkitEngineService->currentTabId().toString());
137
138     tizen_browser::basic_webengine::TabId first = webkitEngineService->addTab("www.first.com");
139     BOOST_TEST_MESSAGE("First tab: " << first.toString());
140
141     webkitEngineService->switchToTab(first);
142
143     BOOST_CHECK(webkitEngineService->currentTabId() == first);
144
145     BOOST_CHECK(webkitEngineService->tabsCount() == 1);
146
147     tizen_browser::basic_webengine::TabId second = webkitEngineService->addTab("www.second.com");
148     BOOST_TEST_MESSAGE("Second tab: " << second.toString());
149
150     BOOST_CHECK(webkitEngineService->currentTabId() == first);
151
152     webkitEngineService->switchToTab(second);
153
154     BOOST_CHECK(webkitEngineService->currentTabId() == second);
155
156     BOOST_CHECK(webkitEngineService->tabsCount() == 2);
157
158     auto listTabs = webkitEngineService->listTabs();
159
160     BOOST_CHECK(find(listTabs.begin(), listTabs.end(), first) != listTabs.end());
161
162     BOOST_CHECK(find(listTabs.begin(), listTabs.end(), second) != listTabs.end());
163
164     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(second));
165
166     BOOST_CHECK(webkitEngineService->currentTabId() == first);
167
168     BOOST_CHECK(webkitEngineService->tabsCount() == 1);
169
170     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(first));
171
172     BOOST_CHECK(!(webkitEngineService->tabsCount()));
173 }
174
175 BOOST_AUTO_TEST_CASE(Snapshots)
176 {
177     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
178         std::dynamic_pointer_cast
179         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
180         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
181
182     BOOST_CHECK(webkitEngineService);
183
184     webkitEngineService->init(NULL);
185
186     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
187
188     webkitEngineService->getSnapshotData(100, 100);
189
190     webkitEngineService->getSnapshotData(parentTabId, 100, 100);
191
192     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
193 }
194
195 BOOST_AUTO_TEST_CASE(PrivateModeOnOff)
196 {
197     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
198         std::dynamic_pointer_cast
199         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
200         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
201
202     BOOST_CHECK(webkitEngineService);
203
204     webkitEngineService->init(NULL);
205
206     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
207
208     BOOST_CHECK(!(webkitEngineService->isPrivateMode()));
209
210     webkitEngineService->setPrivateMode(true);
211
212     BOOST_CHECK(webkitEngineService->isPrivateMode());
213
214     webkitEngineService->setPrivateMode(false);
215
216     BOOST_CHECK(!(webkitEngineService->isPrivateMode()));
217
218     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
219 }
220
221 BOOST_AUTO_TEST_CASE(LoadErrorDefaultValue)
222 {
223     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
224         std::dynamic_pointer_cast
225         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
226         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
227
228     BOOST_CHECK(webkitEngineService);
229
230     webkitEngineService->init(NULL);
231
232     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
233
234     BOOST_CHECK(!(webkitEngineService->isLoadError()));
235
236     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
237 }
238
239 BOOST_AUTO_TEST_CASE(Focus)
240 {
241     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
242         std::dynamic_pointer_cast
243         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
244         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
245
246     BOOST_CHECK(webkitEngineService);
247
248     webkitEngineService->init(NULL);
249
250     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
251
252     BOOST_TEST_MESSAGE("Has focus at start:" << webkitEngineService->hasFocus());
253
254     webkitEngineService->setFocus();
255
256     BOOST_TEST_MESSAGE("Has focus after setting focus:" << webkitEngineService->hasFocus());
257
258     webkitEngineService->clearFocus();
259
260     BOOST_TEST_MESSAGE("Has focus after clearing focus:" << webkitEngineService->hasFocus());
261
262     webkitEngineService->setFocus();
263
264     BOOST_TEST_MESSAGE("Has focus after setting focus:" << webkitEngineService->hasFocus());
265
266     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
267 }
268
269 BOOST_AUTO_TEST_CASE(ZoomAndAutofit)
270 {
271     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
272         std::dynamic_pointer_cast
273         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
274         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
275
276     BOOST_CHECK(webkitEngineService);
277
278     webkitEngineService->init(NULL);
279
280     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
281
282     BOOST_TEST_MESSAGE("Zoom factor at start:" << webkitEngineService->getZoomFactor());
283
284     webkitEngineService->setZoomFactor(200);
285
286     BOOST_TEST_MESSAGE("Zoom factor after setting 200:" << webkitEngineService->getZoomFactor());
287
288     webkitEngineService->setZoomFactor(100);
289
290     BOOST_TEST_MESSAGE("Zoom factor after setting 100:" << webkitEngineService->getZoomFactor());
291
292     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
293 }
294
295 BOOST_AUTO_TEST_CASE(Favicon)
296 {
297     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
298         std::dynamic_pointer_cast
299         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
300         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
301
302     BOOST_CHECK(webkitEngineService);
303
304     webkitEngineService->init(NULL);
305
306     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
307
308     webkitEngineService->getFavicon();
309
310     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
311 }
312
313
314 BOOST_AUTO_TEST_CASE(SearchOnWebsite)
315 {
316     std::shared_ptr<tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>> webkitEngineService =
317         std::dynamic_pointer_cast
318         <tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>,tizen_browser::core::AbstractService>
319         (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.webkitengineservice"));
320
321     BOOST_CHECK(webkitEngineService);
322
323     webkitEngineService->init(NULL);
324
325     tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
326
327     webkitEngineService->searchOnWebsite("test", 0);
328
329     webkitEngineService->searchOnWebsite("test2", 0);
330
331     webkitEngineService->searchOnWebsite("", 0);
332
333     BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
334 }
335
336 BOOST_AUTO_TEST_SUITE_END()