2 * Copyright (c) 2021 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.
21 #include <dali-toolkit-test-suite-utils.h>
22 #include "dali-toolkit-test-utils/toolkit-timer.h"
25 #include <dali/integration-api/events/key-event-integ.h>
26 #include <dali/integration-api/events/touch-event-integ.h>
27 #include <dali/public-api/images/pixel-data.h>
28 #include <dali-toolkit/public-api/controls/image-view/image-view.h>
29 #include <dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h>
30 #include <dali-toolkit/devel-api/controls/web-view/web-back-forward-list.h>
31 #include <dali-toolkit/devel-api/controls/web-view/web-back-forward-list-item.h>
32 #include <dali-toolkit/devel-api/controls/web-view/web-context.h>
33 #include <dali-toolkit/devel-api/controls/web-view/web-cookie-manager.h>
34 #include <dali-toolkit/devel-api/controls/web-view/web-settings.h>
35 #include <dali-toolkit/devel-api/controls/web-view/web-view.h>
38 using namespace Toolkit;
43 const char* const TEST_URL1( "http://www.somewhere.valid1.com" );
44 const char* const TEST_URL2( "http://www.somewhere.valid2.com" );
46 static int gPageLoadStartedCallbackCalled = 0;
47 static int gPageLoadFinishedCallbackCalled = 0;
48 static int gScrollEdgeReachedCallbackCalled = 0;
49 static int gEvaluateJavaScriptCallbackCalled = 0;
50 static bool gTouched = false;
52 struct CallbackFunctor
54 CallbackFunctor(bool* callbackFlag)
55 : mCallbackFlag( callbackFlag )
61 *mCallbackFlag = true;
66 static void OnPageLoadStarted( WebView view, const std::string& url )
68 gPageLoadStartedCallbackCalled++;
71 static void OnPageLoadFinished( WebView view, const std::string& url )
73 gPageLoadFinishedCallbackCalled++;
76 static void OnScrollEdgeReached( WebView view, Dali::WebEnginePlugin::ScrollEdge edge )
78 gScrollEdgeReachedCallbackCalled++;
81 static void OnPageLoadError( WebView view, const std::string& url, WebView::LoadErrorCode errorCode )
85 static void OnEvaluateJavaScript( const std::string& result )
87 gEvaluateJavaScriptCallbackCalled++;
90 static bool OnTouched( Actor actor, const Dali::TouchEvent& touch )
98 void web_view_startup(void)
100 test_return_value = TET_UNDEF;
103 void web_view_cleanup(void)
105 test_return_value = TET_PASS;
108 int UtcDaliWebViewBasics(void)
110 ToolkitTestApplication application;
112 // Copy and Assignment Test
113 tet_infoline( "UtcDaliWebViewBasic Copy and Assignment Test" );
114 WebView view = WebView::New();
115 DALI_TEST_CHECK( view );
117 WebView copy( view );
118 DALI_TEST_CHECK( view == copy );
121 DALI_TEST_CHECK( !assign );
124 DALI_TEST_CHECK( assign == view );
128 tet_infoline( "UtcDaliWebViewBasic DownCast Test" );
129 BaseHandle handle(view);
131 WebView view2 = WebView::DownCast( handle );
132 DALI_TEST_CHECK( view );
133 DALI_TEST_CHECK( view2 );
134 DALI_TEST_CHECK( view == view2 );
138 tet_infoline( "UtcDaliWebViewBasic TypeRegistry Test" );
139 TypeRegistry typeRegistry = TypeRegistry::Get();
140 DALI_TEST_CHECK( typeRegistry );
142 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "WebView" );
143 DALI_TEST_CHECK( typeInfo );
145 BaseHandle handle2 = typeInfo.CreateInstance();
146 DALI_TEST_CHECK( handle2 );
148 WebView view3 = WebView::DownCast( handle2 );
149 DALI_TEST_CHECK( view3 );
154 int UtcDaliWebViewPageNavigation(void)
156 ToolkitTestApplication application;
158 WebView view = WebView::New();
159 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
160 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
161 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
162 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
163 application.GetScene().Add( view );
164 application.SendNotification();
165 application.Render();
166 DALI_TEST_CHECK( view );
168 ConnectionTracker* testTracker = new ConnectionTracker();
169 view.PageLoadStartedSignal().Connect( &OnPageLoadStarted );
170 view.PageLoadFinishedSignal().Connect( &OnPageLoadFinished );
171 view.PageLoadErrorSignal().Connect( &OnPageLoadError );
172 bool signal1 = false;
173 bool signal2 = false;
174 bool signal3 = false;
175 view.ConnectSignal( testTracker, "pageLoadStarted", CallbackFunctor(&signal1) );
176 view.ConnectSignal( testTracker, "pageLoadFinished", CallbackFunctor(&signal2) );
177 view.ConnectSignal( testTracker, "invalidname", CallbackFunctor(&signal3) );
178 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 0, TEST_LOCATION );
179 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 0, TEST_LOCATION );
182 view.LoadUrl( TEST_URL1 );
183 view.GetNaturalSize();
184 Test::EmitGlobalTimerSignal();
185 DALI_TEST_EQUALS( view.CanGoBack(), false, TEST_LOCATION );
186 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 1, TEST_LOCATION );
187 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 1, TEST_LOCATION );
188 DALI_TEST_CHECK( signal1 & signal2 );
189 DALI_TEST_CHECK( !signal3 );
191 view.LoadUrl( TEST_URL2 );
193 view.SetProperty( Actor::Property::SIZE, Vector2( 400, 300 ) );
194 application.SendNotification();
195 application.Render();
196 Test::EmitGlobalTimerSignal();
198 DALI_TEST_EQUALS( view.CanGoBack(), true, TEST_LOCATION );
199 DALI_TEST_EQUALS( view.CanGoForward(), false, TEST_LOCATION );
200 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 2, TEST_LOCATION );
201 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 2, TEST_LOCATION );
204 Test::EmitGlobalTimerSignal();
205 DALI_TEST_CHECK( !view.CanGoBack() );
206 DALI_TEST_CHECK( view.CanGoForward() );
209 Test::EmitGlobalTimerSignal();
210 DALI_TEST_CHECK( view.CanGoBack() );
211 DALI_TEST_CHECK( !view.CanGoForward() );
216 Test::EmitGlobalTimerSignal();
217 DALI_TEST_CHECK( !view.CanGoBack() );
218 DALI_TEST_CHECK( !view.CanGoForward() );
223 int UtcDaliWebViewTouchAndKeys(void)
225 ToolkitTestApplication application;
227 WebView view = WebView::New();
228 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
229 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
230 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
231 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
233 application.GetScene().Add( view );
234 application.SendNotification();
235 application.Render();
237 view.GetNaturalSize();
238 view.TouchedSignal().Connect( &OnTouched );
241 Dali::Integration::TouchEvent event;
242 Dali::Integration::Point pointDown, pointUp;
244 event = Dali::Integration::TouchEvent();
245 pointDown.SetState( PointState::DOWN );
246 pointDown.SetScreenPosition( Vector2( 10, 10 ) );
247 event.AddPoint( pointDown );
248 application.ProcessEvent( event );
250 event = Dali::Integration::TouchEvent();
251 pointUp.SetState( PointState::UP );
252 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
253 event.AddPoint( pointUp );
254 application.ProcessEvent( event );
257 Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( view );
258 application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) );
259 application.SendNotification();
261 DALI_TEST_CHECK( gTouched );
262 DALI_TEST_CHECK( view );
267 int UtcDaliWebViewFocusGainedAndLost(void)
269 ToolkitTestApplication application;
271 WebView view = WebView::New();
272 DALI_TEST_CHECK( view );
274 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
275 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
276 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
277 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
279 application.GetScene().Add( view );
280 application.SendNotification();
281 application.Render();
283 view.SetKeyInputFocus();
284 DALI_TEST_CHECK( view.HasKeyInputFocus() );
287 view.ClearKeyInputFocus();
288 DALI_TEST_CHECK( !view.HasKeyInputFocus() );
293 int UtcDaliWebViewMove(void)
295 ToolkitTestApplication application;
297 WebView view = WebView::New();
298 DALI_TEST_CHECK( view );
300 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
301 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
302 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
303 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
305 application.GetScene().Add( view );
306 application.SendNotification();
307 application.Render();
309 view.SetProperty( Actor::Property::POSITION, Vector2( 100, 100 ));
310 Vector3 viewPos = view.GetProperty<Vector3>( Actor::Property::POSITION );
311 DALI_TEST_EQUALS( viewPos, Vector3( 100, 100, 0 ), TEST_LOCATION );
316 int UtcDaliWebViewPropertyVideoHole(void)
318 ToolkitTestApplication application;
320 WebView view = WebView::New();
321 DALI_TEST_CHECK( view );
323 const bool kDefaultValue = true;
324 const bool kTestValue = false;
326 // Check default value
328 Property::Value value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
329 DALI_TEST_CHECK( value.Get( output ) );
330 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
332 // Check Set/GetProperty
333 view.SetProperty( WebView::Property::VIDEO_HOLE_ENABLED, kTestValue );
334 value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
335 DALI_TEST_CHECK( value.Get( output ) );
336 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
341 int UtcDaliWebViewGetWebBackForwardList(void)
343 ToolkitTestApplication application;
345 WebView view = WebView::New();
346 DALI_TEST_CHECK( view );
348 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
349 DALI_TEST_CHECK( bfList != 0 );
354 int UtcDaliWebViewGetWebContext(void)
356 ToolkitTestApplication application;
358 WebView view = WebView::New();
359 DALI_TEST_CHECK( view );
361 Dali::Toolkit::WebContext* context = view.GetContext();
362 DALI_TEST_CHECK( context != 0 );
367 int UtcDaliWebViewGetWebCookieManager(void)
369 ToolkitTestApplication application;
371 WebView view = WebView::New();
372 DALI_TEST_CHECK( view );
374 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
375 DALI_TEST_CHECK( cookieManager != 0 );
380 int UtcDaliWebViewGetWebSettings(void)
382 ToolkitTestApplication application;
384 WebView view = WebView::New();
385 DALI_TEST_CHECK( view );
387 Dali::Toolkit::WebSettings* settings = view.GetSettings();
388 DALI_TEST_CHECK( settings != 0 );
393 int UtcDaliWebViewProperty1(void)
396 ToolkitTestApplication application;
398 WebView view = WebView::New();
399 DALI_TEST_CHECK( view );
402 view.SetProperty( WebView::Property::URL, TEST_URL1 );
403 Property::Value val = view.GetProperty( WebView::Property::URL );
404 DALI_TEST_CHECK( val.Get( local ) );
405 DALI_TEST_EQUALS( local, TEST_URL1, TEST_LOCATION );
410 int UtcDaliWebViewProperty4(void)
413 ToolkitTestApplication application;
415 WebView view = WebView::New();
416 DALI_TEST_CHECK( view );
418 const std::string kDefaultValue;
419 const std::string kTestValue = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36";
421 // Check default value
423 Property::Value value = view.GetProperty( WebView::Property::USER_AGENT );
424 DALI_TEST_CHECK( value.Get( output ) );
425 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
427 // Check Set/GetProperty
428 view.SetProperty( WebView::Property::USER_AGENT, kTestValue );
429 value = view.GetProperty( WebView::Property::USER_AGENT );
430 DALI_TEST_CHECK( value.Get( output ) );
431 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
436 int UtcDaliWebViewProperty9(void)
439 ToolkitTestApplication application;
441 WebView view = WebView::New();
442 DALI_TEST_CHECK( view );
444 // Check default value
445 Dali::Vector2 output = Dali::Vector2::ONE;
446 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
447 DALI_TEST_CHECK( output.x == 0 && output.y == 0 );
449 // Check Set/GetProperty
450 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
451 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
452 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
453 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
455 // Check default value of scroll size
456 output = Dali::Vector2::ONE;
457 view.GetProperty( WebView::Property::SCROLL_SIZE ).Get( output );
458 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
460 // Check default value of content size
461 output = Dali::Vector2::ONE;
462 view.GetProperty( WebView::Property::CONTENT_SIZE ).Get( output );
463 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
468 int UtcDaliWebViewPropertyTitleFavicon(void)
471 ToolkitTestApplication application;
473 char argv[] = "--test";
474 WebView view = WebView::New( 1, (char**)&argv );
475 DALI_TEST_CHECK( view );
478 view.ClearAllTilesResources();
480 // Check default value of title
481 std::string testValue("title");
483 view.GetProperty( WebView::Property::TITLE ).Get( output );
484 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
486 // Check default value of favicon
487 Dali::Toolkit::ImageView favicon = view.GetFavicon();
488 DALI_TEST_CHECK( favicon );
489 Dali::Vector3 iconsize = favicon.GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
490 DALI_TEST_CHECK( ( int )iconsize.width == 2 && ( int )iconsize.height == 2 );
495 int UtcDaliWebViewMethodsForCoverage(void)
497 ToolkitTestApplication application;
499 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
500 view.SetTtsFocus(true);
502 DALI_TEST_CHECK( view );
507 int UtcDaliWebViewScrollBy(void)
509 ToolkitTestApplication application;
511 WebView view = WebView::New();
512 DALI_TEST_CHECK( view );
515 ConnectionTracker* testTracker = new ConnectionTracker();
516 view.ScrollEdgeReachedSignal().Connect( &OnScrollEdgeReached );
517 bool signal1 = false;
518 view.ConnectSignal( testTracker, "scrollEdgeReached", CallbackFunctor(&signal1) );
519 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 0, TEST_LOCATION );
521 view.LoadUrl( TEST_URL1 );
522 Test::EmitGlobalTimerSignal();
524 // set scroll position.
525 Dali::Vector2 output = Dali::Vector2::ONE;
526 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
527 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
528 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
529 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
531 // scroll by and trigger scrollEdgeReached event.
532 view.ScrollBy( 50, 50 );
533 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
534 DALI_TEST_CHECK( output.x == 150 && output.y == 150 );
535 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 1, TEST_LOCATION );
536 DALI_TEST_CHECK( signal1 );
541 int UtcDaliWebViewEvaluteJavaScript(void)
543 ToolkitTestApplication application;
545 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
547 view.LoadHtmlString( "<body>Hello World!</body>" );
548 view.EvaluateJavaScript( "jsObject.postMessage('Hello')" );
549 view.EvaluateJavaScript( "jsObject.postMessage('World')", OnEvaluateJavaScript );
550 Test::EmitGlobalTimerSignal();
552 DALI_TEST_EQUALS( gEvaluateJavaScriptCallbackCalled, 1, TEST_LOCATION );
557 int UtcDaliWebViewMethodsForCoverage(void)
559 ToolkitTestApplication application;
561 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
563 view.LoadHtmlString( "<body>Hello World!</body>" );
564 view.AddJavaScriptMessageHandler( "jsObject",
565 []( const std::string& arg ) {
569 DALI_TEST_CHECK( view );
574 // test cases for web backforward list.
576 int UtcDaliWebBackForwardListCheckItem(void)
578 ToolkitTestApplication application;
580 WebView view = WebView::New();
581 DALI_TEST_CHECK( view );
583 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
584 DALI_TEST_CHECK( bfList != 0 )
586 unsigned int itemCount = bfList->GetItemCount();
587 DALI_TEST_CHECK( itemCount == 1 )
589 Dali::Toolkit::WebBackForwardListItem* citem = bfList->GetCurrentItem();
590 DALI_TEST_CHECK( citem != 0 );
592 const std::string kDefaultUrl( "http://url" );
593 std::string testValue = citem->GetUrl();
594 DALI_TEST_EQUALS( testValue, kDefaultUrl, TEST_LOCATION );
596 const std::string kDefaultTitle( "title" );
597 testValue = citem->GetTitle();
598 DALI_TEST_EQUALS( testValue, kDefaultTitle, TEST_LOCATION );
600 const std::string kDefaultOriginalUrl( "http://originalurl" );
601 testValue = citem->GetOriginalUrl();
602 DALI_TEST_EQUALS( testValue, kDefaultOriginalUrl, TEST_LOCATION );
604 Dali::Toolkit::WebBackForwardListItem* item = bfList->GetItemAtIndex( 0 );
605 DALI_TEST_CHECK( item != 0 );
610 // test cases for web context.
612 int UtcDaliWebContextGetSetCacheModel(void)
614 ToolkitTestApplication application;
616 WebView view = WebView::New();
617 DALI_TEST_CHECK( view );
619 Dali::Toolkit::WebContext* context = view.GetContext();
620 DALI_TEST_CHECK( context != 0 )
622 std::string kDefaultValue;
625 context->SetProxyUri( kDefaultValue );
626 context->SetCertificateFilePath( kDefaultValue );
627 context->DisableCache( false );
628 context->SetDefaultProxyAuth( kDefaultValue, kDefaultValue );
629 context->DeleteWebDatabase();
630 context->DeleteWebStorage();
631 context->DeleteLocalFileSystem();
632 context->ClearCache();
634 // Check default value
635 Dali::WebEngineContext::CacheModel value = context->GetCacheModel();
636 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER );
638 // Check Set/GetProperty
639 context->SetCacheModel( Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
640 value = context->GetCacheModel();
641 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
646 // test cases for web cookie manager.
648 int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void)
650 ToolkitTestApplication application;
652 WebView view = WebView::New();
653 DALI_TEST_CHECK( view );
655 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
656 DALI_TEST_CHECK( cookieManager != 0 )
658 const std::string kDefaultValue;
661 cookieManager->SetPersistentStorage( kDefaultValue, Dali::WebEngineCookieManager::CookiePersistentStorage::SQLITE );
662 cookieManager->ClearCookies();
664 // Check default value
665 Dali::WebEngineCookieManager::CookieAcceptPolicy value = cookieManager->GetCookieAcceptPolicy();
666 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY );
668 // Check Set/GetProperty
669 cookieManager->SetCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
670 value = cookieManager->GetCookieAcceptPolicy();
671 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
676 // test cases for web settings.
678 int UtcDaliWebSettingsGetSetDefaultFontSize(void)
680 ToolkitTestApplication application;
682 WebView view = WebView::New();
683 DALI_TEST_CHECK( view );
685 Dali::Toolkit::WebSettings* settings = view.GetSettings();
686 DALI_TEST_CHECK( settings != 0 )
689 settings->AllowMixedContents( false );
690 settings->EnableSpatialNavigation( false );
691 settings->EnableWebSecurity( false );
692 settings->AllowFileAccessFromExternalUrl( false );
693 settings->AllowScriptsOpenWindows( false );
695 // Check default value
696 int value = settings->GetDefaultFontSize();
697 DALI_TEST_CHECK( value == 16 );
699 // Check Set/GetProperty
700 settings->SetDefaultFontSize( 20 );
701 value = settings->GetDefaultFontSize();
702 DALI_TEST_CHECK( value == 20 );
707 int UtcDaliWebSettingsCheckEnableJavaScript(void)
709 ToolkitTestApplication application;
711 WebView view = WebView::New();
712 DALI_TEST_CHECK( view );
714 Dali::Toolkit::WebSettings* settings = view.GetSettings();
715 DALI_TEST_CHECK( settings != 0 )
718 settings->AllowMixedContents( false );
719 settings->EnableSpatialNavigation( false );
720 settings->EnableWebSecurity( false );
721 settings->AllowFileAccessFromExternalUrl( false );
722 settings->AllowScriptsOpenWindows( false );
724 // Check default value is true or not
725 bool value = settings->IsJavaScriptEnabled();
726 DALI_TEST_CHECK( value );
728 // Check Set/GetProperty
729 settings->EnableJavaScript( false );
730 value = settings->IsJavaScriptEnabled();
731 DALI_TEST_CHECK( !value );
736 int UtcDaliWebSettingsCheckAllowImagesLoadAutomatically(void)
738 ToolkitTestApplication application;
740 WebView view = WebView::New();
741 DALI_TEST_CHECK( view );
743 Dali::Toolkit::WebSettings* settings = view.GetSettings();
744 DALI_TEST_CHECK( settings != 0 )
747 settings->AllowMixedContents( false );
748 settings->EnableSpatialNavigation( false );
749 settings->EnableWebSecurity( false );
750 settings->AllowFileAccessFromExternalUrl( false );
751 settings->AllowScriptsOpenWindows( false );
753 // Check default value is true or not
754 bool value = settings->AreImagesLoadedAutomatically();
755 DALI_TEST_CHECK( value );
757 // Check Set/GetProperty
758 settings->AllowImagesLoadAutomatically( false );
759 value = settings->AreImagesLoadedAutomatically();
760 DALI_TEST_CHECK( !value );
765 int UtcDaliWebSettingsGetSetDefaultTextEncodingName(void)
767 ToolkitTestApplication application;
769 WebView view = WebView::New();
770 DALI_TEST_CHECK( view );
772 Dali::Toolkit::WebSettings* settings = view.GetSettings();
773 DALI_TEST_CHECK( settings != 0 )
775 const std::string kDefaultValue;
776 const std::string kTestValue = "UTF-8";
779 settings->AllowMixedContents( false );
780 settings->EnableSpatialNavigation( false );
781 settings->EnableWebSecurity( false );
782 settings->AllowFileAccessFromExternalUrl( false );
783 settings->AllowScriptsOpenWindows( false );
785 // Check default value
786 std::string value = settings->GetDefaultTextEncodingName();
787 DALI_TEST_EQUALS( value, kDefaultValue, TEST_LOCATION );
789 // Check Set/GetProperty
790 settings->SetDefaultTextEncodingName( kTestValue );
791 value = settings->GetDefaultTextEncodingName();
792 DALI_TEST_EQUALS( value, kTestValue, TEST_LOCATION );