2 * Copyright (c) 2014 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.
17 #include <boost/test/unit_test.hpp>
19 #include "ServiceManager.h"
20 #include "AbstractWebEngine.h"
22 BOOST_AUTO_TEST_SUITE(WebKitEngineService)
24 BOOST_AUTO_TEST_CASE(UriSetGet)
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"));
31 BOOST_CHECK(webkitEngineService);
33 webkitEngineService->init(NULL);
35 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
37 BOOST_CHECK(!(webkitEngineService->getLayout()));
39 webkitEngineService->setURI("www.test2.com");
41 // URIs are different because of WebKit didn't load webpage (lack of initialization)
42 BOOST_TEST_MESSAGE("Print getURI():" << webkitEngineService->getURI());
44 BOOST_TEST_MESSAGE("Print getTitle():" << webkitEngineService->getTitle());
46 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
49 BOOST_AUTO_TEST_CASE(NavigationTest)
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"));
56 BOOST_CHECK(webkitEngineService);
58 webkitEngineService->init(NULL);
60 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test2.com");
62 webkitEngineService->stopLoading();
64 webkitEngineService->reload();
66 webkitEngineService->setURI("www.nextpage.com");
68 BOOST_TEST_MESSAGE("Is back enabled: " << webkitEngineService->isBackEnabled());
70 webkitEngineService->back();
72 BOOST_TEST_MESSAGE("Is forward enabled: " << webkitEngineService->isForwardEnabled());
74 webkitEngineService->forward();
76 BOOST_TEST_MESSAGE("Is loading: " << webkitEngineService->isLoading());
78 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
81 BOOST_AUTO_TEST_CASE(ClearPrivateData)
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"));
88 BOOST_CHECK(webkitEngineService);
90 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.clearingdata.com");
92 webkitEngineService->clearPrivateData();
94 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
97 BOOST_AUTO_TEST_CASE(TabsCreationDeletion)
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"));
104 BOOST_CHECK(webkitEngineService);
106 BOOST_TEST_MESSAGE("Tabs count: " << webkitEngineService->tabsCount());
108 tizen_browser::basic_webengine::TabId first = webkitEngineService->addTab("www.first.com");
110 BOOST_CHECK(webkitEngineService->tabsCount() == 1);
112 tizen_browser::basic_webengine::TabId second = webkitEngineService->addTab("www.second.com");
114 BOOST_CHECK(webkitEngineService->tabsCount() == 2);
116 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(first));
118 BOOST_CHECK(webkitEngineService->tabsCount() == 1);
120 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(second));
122 BOOST_CHECK(!(webkitEngineService->tabsCount()));
125 BOOST_AUTO_TEST_CASE(TabsSwitching)
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"));
132 BOOST_CHECK(webkitEngineService);
134 BOOST_TEST_MESSAGE("Tabs count: " << webkitEngineService->tabsCount());
136 BOOST_TEST_MESSAGE("Initial current tab: " << webkitEngineService->currentTabId().toString());
138 tizen_browser::basic_webengine::TabId first = webkitEngineService->addTab("www.first.com");
139 BOOST_TEST_MESSAGE("First tab: " << first.toString());
141 webkitEngineService->switchToTab(first);
143 BOOST_CHECK(webkitEngineService->currentTabId() == first);
145 BOOST_CHECK(webkitEngineService->tabsCount() == 1);
147 tizen_browser::basic_webengine::TabId second = webkitEngineService->addTab("www.second.com");
148 BOOST_TEST_MESSAGE("Second tab: " << second.toString());
150 BOOST_CHECK(webkitEngineService->currentTabId() == first);
152 webkitEngineService->switchToTab(second);
154 BOOST_CHECK(webkitEngineService->currentTabId() == second);
156 BOOST_CHECK(webkitEngineService->tabsCount() == 2);
158 auto listTabs = webkitEngineService->listTabs();
160 BOOST_CHECK(find(listTabs.begin(), listTabs.end(), first) != listTabs.end());
162 BOOST_CHECK(find(listTabs.begin(), listTabs.end(), second) != listTabs.end());
164 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(second));
166 BOOST_CHECK(webkitEngineService->currentTabId() == first);
168 BOOST_CHECK(webkitEngineService->tabsCount() == 1);
170 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab(first));
172 BOOST_CHECK(!(webkitEngineService->tabsCount()));
175 BOOST_AUTO_TEST_CASE(Snapshots)
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"));
182 BOOST_CHECK(webkitEngineService);
184 webkitEngineService->init(NULL);
186 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
188 webkitEngineService->getSnapshotData(100, 100);
190 webkitEngineService->getSnapshotData(parentTabId, 100, 100);
192 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
195 BOOST_AUTO_TEST_CASE(PrivateModeOnOff)
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"));
202 BOOST_CHECK(webkitEngineService);
204 webkitEngineService->init(NULL);
206 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
208 BOOST_CHECK(!(webkitEngineService->isPrivateMode()));
210 webkitEngineService->setPrivateMode(true);
212 BOOST_CHECK(webkitEngineService->isPrivateMode());
214 webkitEngineService->setPrivateMode(false);
216 BOOST_CHECK(!(webkitEngineService->isPrivateMode()));
218 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
221 BOOST_AUTO_TEST_CASE(LoadErrorDefaultValue)
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"));
228 BOOST_CHECK(webkitEngineService);
230 webkitEngineService->init(NULL);
232 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
234 BOOST_CHECK(!(webkitEngineService->isLoadError()));
236 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
239 BOOST_AUTO_TEST_CASE(Focus)
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"));
246 BOOST_CHECK(webkitEngineService);
248 webkitEngineService->init(NULL);
250 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
252 BOOST_TEST_MESSAGE("Has focus at start:" << webkitEngineService->hasFocus());
254 webkitEngineService->setFocus();
256 BOOST_TEST_MESSAGE("Has focus after setting focus:" << webkitEngineService->hasFocus());
258 webkitEngineService->clearFocus();
260 BOOST_TEST_MESSAGE("Has focus after clearing focus:" << webkitEngineService->hasFocus());
262 webkitEngineService->setFocus();
264 BOOST_TEST_MESSAGE("Has focus after setting focus:" << webkitEngineService->hasFocus());
266 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
269 BOOST_AUTO_TEST_CASE(ZoomAndAutofit)
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"));
276 BOOST_CHECK(webkitEngineService);
278 webkitEngineService->init(NULL);
280 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
282 BOOST_TEST_MESSAGE("Zoom factor at start:" << webkitEngineService->getZoomFactor());
284 webkitEngineService->setZoomFactor(200);
286 BOOST_TEST_MESSAGE("Zoom factor after setting 200:" << webkitEngineService->getZoomFactor());
288 webkitEngineService->setZoomFactor(100);
290 BOOST_TEST_MESSAGE("Zoom factor after setting 100:" << webkitEngineService->getZoomFactor());
292 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
295 BOOST_AUTO_TEST_CASE(Favicon)
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"));
302 BOOST_CHECK(webkitEngineService);
304 webkitEngineService->init(NULL);
306 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
308 webkitEngineService->getFavicon();
310 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
314 BOOST_AUTO_TEST_CASE(SearchOnWebsite)
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"));
321 BOOST_CHECK(webkitEngineService);
323 webkitEngineService->init(NULL);
325 tizen_browser::basic_webengine::TabId parentTabId = webkitEngineService->addTab("www.test.com");
327 webkitEngineService->searchOnWebsite("test", 0);
329 webkitEngineService->searchOnWebsite("test2", 0);
331 webkitEngineService->searchOnWebsite("", 0);
333 BOOST_TEST_MESSAGE("Print closeTab():" << webkitEngineService->closeTab());
336 BOOST_AUTO_TEST_SUITE_END()