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;
51 static int gPlainTextReceivedCallbackCalled = 0;
53 struct CallbackFunctor
55 CallbackFunctor(bool* callbackFlag)
56 : mCallbackFlag( callbackFlag )
62 *mCallbackFlag = true;
67 static void OnPageLoadStarted( WebView view, const std::string& url )
69 gPageLoadStartedCallbackCalled++;
72 static void OnPageLoadFinished( WebView view, const std::string& url )
74 gPageLoadFinishedCallbackCalled++;
77 static void OnScrollEdgeReached( WebView view, Dali::WebEnginePlugin::ScrollEdge edge )
79 gScrollEdgeReachedCallbackCalled++;
82 static bool OnPlainTextReceived(const std::string& plainText)
84 gPlainTextReceivedCallbackCalled++;
88 static void OnPageLoadError( WebView view, const std::string& url, WebView::LoadErrorCode errorCode )
92 static void OnEvaluateJavaScript( const std::string& result )
94 gEvaluateJavaScriptCallbackCalled++;
97 static bool OnTouched( Actor actor, const Dali::TouchEvent& touch )
105 void web_view_startup(void)
107 test_return_value = TET_UNDEF;
110 void web_view_cleanup(void)
112 test_return_value = TET_PASS;
115 int UtcDaliWebViewBasics(void)
117 ToolkitTestApplication application;
119 // Copy and Assignment Test
120 tet_infoline( "UtcDaliWebViewBasic Copy and Assignment Test" );
121 WebView view = WebView::New();
122 DALI_TEST_CHECK( view );
124 WebView copy( view );
125 DALI_TEST_CHECK( view == copy );
128 DALI_TEST_CHECK( !assign );
131 DALI_TEST_CHECK( assign == view );
135 tet_infoline( "UtcDaliWebViewBasic DownCast Test" );
136 BaseHandle handle(view);
138 WebView view2 = WebView::DownCast( handle );
139 DALI_TEST_CHECK( view );
140 DALI_TEST_CHECK( view2 );
141 DALI_TEST_CHECK( view == view2 );
145 tet_infoline( "UtcDaliWebViewBasic TypeRegistry Test" );
146 TypeRegistry typeRegistry = TypeRegistry::Get();
147 DALI_TEST_CHECK( typeRegistry );
149 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "WebView" );
150 DALI_TEST_CHECK( typeInfo );
152 BaseHandle handle2 = typeInfo.CreateInstance();
153 DALI_TEST_CHECK( handle2 );
155 WebView view3 = WebView::DownCast( handle2 );
156 DALI_TEST_CHECK( view3 );
161 int UtcDaliWebViewPageNavigation(void)
163 ToolkitTestApplication application;
165 WebView view = WebView::New();
166 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
167 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
168 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
169 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
170 application.GetScene().Add( view );
171 application.SendNotification();
172 application.Render();
173 DALI_TEST_CHECK( view );
175 ConnectionTracker* testTracker = new ConnectionTracker();
176 view.PageLoadStartedSignal().Connect( &OnPageLoadStarted );
177 view.PageLoadFinishedSignal().Connect( &OnPageLoadFinished );
178 view.PageLoadErrorSignal().Connect( &OnPageLoadError );
179 bool signal1 = false;
180 bool signal2 = false;
181 bool signal3 = false;
182 view.ConnectSignal( testTracker, "pageLoadStarted", CallbackFunctor(&signal1) );
183 view.ConnectSignal( testTracker, "pageLoadFinished", CallbackFunctor(&signal2) );
184 view.ConnectSignal( testTracker, "invalidname", CallbackFunctor(&signal3) );
185 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 0, TEST_LOCATION );
186 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 0, TEST_LOCATION );
189 view.LoadUrl( TEST_URL1 );
190 view.GetNaturalSize();
191 Test::EmitGlobalTimerSignal();
192 DALI_TEST_EQUALS( view.CanGoBack(), false, TEST_LOCATION );
193 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 1, TEST_LOCATION );
194 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 1, TEST_LOCATION );
195 DALI_TEST_CHECK( signal1 & signal2 );
196 DALI_TEST_CHECK( !signal3 );
198 view.LoadUrl( TEST_URL2 );
200 view.SetProperty( Actor::Property::SIZE, Vector2( 400, 300 ) );
201 application.SendNotification();
202 application.Render();
203 Test::EmitGlobalTimerSignal();
205 DALI_TEST_EQUALS( view.CanGoBack(), true, TEST_LOCATION );
206 DALI_TEST_EQUALS( view.CanGoForward(), false, TEST_LOCATION );
207 DALI_TEST_EQUALS( gPageLoadStartedCallbackCalled, 2, TEST_LOCATION );
208 DALI_TEST_EQUALS( gPageLoadFinishedCallbackCalled, 2, TEST_LOCATION );
211 Test::EmitGlobalTimerSignal();
212 DALI_TEST_CHECK( !view.CanGoBack() );
213 DALI_TEST_CHECK( view.CanGoForward() );
216 Test::EmitGlobalTimerSignal();
217 DALI_TEST_CHECK( view.CanGoBack() );
218 DALI_TEST_CHECK( !view.CanGoForward() );
223 Test::EmitGlobalTimerSignal();
224 DALI_TEST_CHECK( !view.CanGoBack() );
225 DALI_TEST_CHECK( !view.CanGoForward() );
230 int UtcDaliWebViewTouchAndKeys(void)
232 ToolkitTestApplication application;
234 WebView view = WebView::New();
235 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
236 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
237 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
238 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
240 application.GetScene().Add( view );
241 application.SendNotification();
242 application.Render();
244 view.GetNaturalSize();
245 view.TouchedSignal().Connect( &OnTouched );
248 Dali::Integration::TouchEvent event;
249 Dali::Integration::Point pointDown, pointUp;
251 event = Dali::Integration::TouchEvent();
252 pointDown.SetState( PointState::DOWN );
253 pointDown.SetScreenPosition( Vector2( 10, 10 ) );
254 event.AddPoint( pointDown );
255 application.ProcessEvent( event );
257 event = Dali::Integration::TouchEvent();
258 pointUp.SetState( PointState::UP );
259 pointUp.SetScreenPosition( Vector2( 10, 10 ) );
260 event.AddPoint( pointUp );
261 application.ProcessEvent( event );
264 Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( view );
265 application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) );
266 application.SendNotification();
268 DALI_TEST_CHECK( gTouched );
269 DALI_TEST_CHECK( view );
274 int UtcDaliWebViewFocusGainedAndLost(void)
276 ToolkitTestApplication application;
278 WebView view = WebView::New();
279 DALI_TEST_CHECK( view );
281 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
282 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
283 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
284 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
286 application.GetScene().Add( view );
287 application.SendNotification();
288 application.Render();
290 view.SetKeyInputFocus();
291 DALI_TEST_CHECK( view.HasKeyInputFocus() );
294 view.ClearKeyInputFocus();
295 DALI_TEST_CHECK( !view.HasKeyInputFocus() );
300 int UtcDaliWebViewMove(void)
302 ToolkitTestApplication application;
304 WebView view = WebView::New();
305 DALI_TEST_CHECK( view );
307 view.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
308 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
309 view.SetProperty( Actor::Property::POSITION, Vector2( 0, 0 ));
310 view.SetProperty( Actor::Property::SIZE, Vector2( 800, 600 ) );
312 application.GetScene().Add( view );
313 application.SendNotification();
314 application.Render();
316 view.SetProperty( Actor::Property::POSITION, Vector2( 100, 100 ));
317 Vector3 viewPos = view.GetProperty<Vector3>( Actor::Property::POSITION );
318 DALI_TEST_EQUALS( viewPos, Vector3( 100, 100, 0 ), TEST_LOCATION );
323 int UtcDaliWebViewPropertyVideoHole(void)
325 ToolkitTestApplication application;
327 WebView view = WebView::New();
328 DALI_TEST_CHECK( view );
330 const bool kDefaultValue = true;
331 const bool kTestValue = false;
333 // Check default value
335 Property::Value value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
336 DALI_TEST_CHECK( value.Get( output ) );
337 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
339 // Check Set/GetProperty
340 view.SetProperty( WebView::Property::VIDEO_HOLE_ENABLED, kTestValue );
341 value = view.GetProperty( WebView::Property::VIDEO_HOLE_ENABLED );
342 DALI_TEST_CHECK( value.Get( output ) );
343 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
348 int UtcDaliWebViewGetWebBackForwardList(void)
350 ToolkitTestApplication application;
352 WebView view = WebView::New();
353 DALI_TEST_CHECK( view );
355 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
356 DALI_TEST_CHECK( bfList != 0 );
361 int UtcDaliWebViewGetWebContext(void)
363 ToolkitTestApplication application;
365 WebView view = WebView::New();
366 DALI_TEST_CHECK( view );
368 Dali::Toolkit::WebContext* context = view.GetContext();
369 DALI_TEST_CHECK( context != 0 );
374 int UtcDaliWebViewGetWebCookieManager(void)
376 ToolkitTestApplication application;
378 WebView view = WebView::New();
379 DALI_TEST_CHECK( view );
381 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
382 DALI_TEST_CHECK( cookieManager != 0 );
387 int UtcDaliWebViewGetWebSettings(void)
389 ToolkitTestApplication application;
391 WebView view = WebView::New();
392 DALI_TEST_CHECK( view );
394 Dali::Toolkit::WebSettings* settings = view.GetSettings();
395 DALI_TEST_CHECK( settings != 0 );
400 int UtcDaliWebViewProperty1(void)
403 ToolkitTestApplication application;
405 WebView view = WebView::New();
406 DALI_TEST_CHECK( view );
409 view.SetProperty( WebView::Property::URL, TEST_URL1 );
410 Property::Value val = view.GetProperty( WebView::Property::URL );
411 DALI_TEST_CHECK( val.Get( local ) );
412 DALI_TEST_EQUALS( local, TEST_URL1, TEST_LOCATION );
417 int UtcDaliWebViewProperty4(void)
420 ToolkitTestApplication application;
422 WebView view = WebView::New();
423 DALI_TEST_CHECK( view );
425 const std::string kDefaultValue;
426 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";
428 // Check default value
430 Property::Value value = view.GetProperty( WebView::Property::USER_AGENT );
431 DALI_TEST_CHECK( value.Get( output ) );
432 DALI_TEST_EQUALS( output, kDefaultValue, TEST_LOCATION );
434 // Check Set/GetProperty
435 view.SetProperty( WebView::Property::USER_AGENT, kTestValue );
436 value = view.GetProperty( WebView::Property::USER_AGENT );
437 DALI_TEST_CHECK( value.Get( output ) );
438 DALI_TEST_EQUALS( output, kTestValue, TEST_LOCATION );
443 int UtcDaliWebViewProperty9(void)
446 ToolkitTestApplication application;
448 WebView view = WebView::New();
449 DALI_TEST_CHECK( view );
451 // Check default value
452 Dali::Vector2 output = Dali::Vector2::ONE;
453 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
454 DALI_TEST_CHECK( output.x == 0 && output.y == 0 );
456 // Check Set/GetProperty
457 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
458 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
459 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
460 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
462 // Check default value of scroll size
463 output = Dali::Vector2::ONE;
464 view.GetProperty( WebView::Property::SCROLL_SIZE ).Get( output );
465 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
467 // Check default value of content size
468 output = Dali::Vector2::ONE;
469 view.GetProperty( WebView::Property::CONTENT_SIZE ).Get( output );
470 DALI_TEST_CHECK( output.x == 500 && output.y == 500 );
475 int UtcDaliWebViewPropertyTitleFavicon(void)
478 ToolkitTestApplication application;
480 char argv[] = "--test";
481 WebView view = WebView::New( 1, (char**)&argv );
482 DALI_TEST_CHECK( view );
485 view.ClearAllTilesResources();
487 // Check default value of title
488 std::string testValue("title");
490 view.GetProperty( WebView::Property::TITLE ).Get( output );
491 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
493 // Check default value of favicon
494 Dali::Toolkit::ImageView favicon = view.GetFavicon();
495 DALI_TEST_CHECK( favicon );
496 Dali::Vector3 iconsize = favicon.GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
497 DALI_TEST_CHECK( ( int )iconsize.width == 2 && ( int )iconsize.height == 2 );
502 int UtcDaliWebViewMethodsForCoverage(void)
504 ToolkitTestApplication application;
506 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
507 view.SetTtsFocus(true);
509 DALI_TEST_CHECK( view );
514 int UtcDaliWebViewScrollBy(void)
516 ToolkitTestApplication application;
518 WebView view = WebView::New();
519 DALI_TEST_CHECK( view );
522 ConnectionTracker* testTracker = new ConnectionTracker();
523 view.ScrollEdgeReachedSignal().Connect( &OnScrollEdgeReached );
524 bool signal1 = false;
525 view.ConnectSignal( testTracker, "scrollEdgeReached", CallbackFunctor(&signal1) );
526 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 0, TEST_LOCATION );
528 view.LoadUrl( TEST_URL1 );
529 Test::EmitGlobalTimerSignal();
531 // set scroll position.
532 Dali::Vector2 output = Dali::Vector2::ONE;
533 Dali::Vector2 testValue = Dali::Vector2( 100, 100 );
534 view.SetProperty( WebView::Property::SCROLL_POSITION, testValue );
535 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
536 DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
538 // scroll by and trigger scrollEdgeReached event.
539 view.ScrollBy( 50, 50 );
540 view.GetProperty( WebView::Property::SCROLL_POSITION ).Get( output );
541 DALI_TEST_CHECK( output.x == 150 && output.y == 150 );
542 DALI_TEST_EQUALS( gScrollEdgeReachedCallbackCalled, 1, TEST_LOCATION );
543 DALI_TEST_CHECK( signal1 );
548 int UtcDaliWebViewEvaluteJavaScript(void)
550 ToolkitTestApplication application;
552 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
554 view.LoadHtmlString( "<body>Hello World!</body>" );
555 view.EvaluateJavaScript( "jsObject.postMessage('Hello')" );
556 view.EvaluateJavaScript( "jsObject.postMessage('World')", OnEvaluateJavaScript );
557 Test::EmitGlobalTimerSignal();
559 DALI_TEST_EQUALS( gEvaluateJavaScriptCallbackCalled, 1, TEST_LOCATION );
564 int UtcDaliWebViewMethodsForCoverage(void)
566 ToolkitTestApplication application;
568 WebView view = WebView::New( "ko-KR", "Asia/Seoul" );
570 view.LoadHtmlString( "<body>Hello World!</body>" );
571 view.AddJavaScriptMessageHandler( "jsObject",
572 []( const std::string& arg ) {
576 DALI_TEST_CHECK( view );
581 // test cases for web backforward list.
583 int UtcDaliWebBackForwardListCheckItem(void)
585 ToolkitTestApplication application;
587 WebView view = WebView::New();
588 DALI_TEST_CHECK( view );
590 Dali::Toolkit::WebBackForwardList* bfList = view.GetBackForwardList();
591 DALI_TEST_CHECK( bfList != 0 )
593 unsigned int itemCount = bfList->GetItemCount();
594 DALI_TEST_CHECK( itemCount == 1 )
596 Dali::Toolkit::WebBackForwardListItem* citem = bfList->GetCurrentItem();
597 DALI_TEST_CHECK( citem != 0 );
599 const std::string kDefaultUrl( "http://url" );
600 std::string testValue = citem->GetUrl();
601 DALI_TEST_EQUALS( testValue, kDefaultUrl, TEST_LOCATION );
603 const std::string kDefaultTitle( "title" );
604 testValue = citem->GetTitle();
605 DALI_TEST_EQUALS( testValue, kDefaultTitle, TEST_LOCATION );
607 const std::string kDefaultOriginalUrl( "http://originalurl" );
608 testValue = citem->GetOriginalUrl();
609 DALI_TEST_EQUALS( testValue, kDefaultOriginalUrl, TEST_LOCATION );
611 Dali::Toolkit::WebBackForwardListItem* item = bfList->GetItemAtIndex( 0 );
612 DALI_TEST_CHECK( item != 0 );
617 // test cases for web context.
619 int UtcDaliWebContextGetSetCacheModel(void)
621 ToolkitTestApplication application;
623 WebView view = WebView::New();
624 DALI_TEST_CHECK( view );
626 Dali::Toolkit::WebContext* context = view.GetContext();
627 DALI_TEST_CHECK( context != 0 )
629 std::string kDefaultValue;
632 context->SetProxyUri( kDefaultValue );
633 context->SetCertificateFilePath( kDefaultValue );
634 context->DisableCache( false );
635 context->SetDefaultProxyAuth( kDefaultValue, kDefaultValue );
636 context->DeleteWebDatabase();
637 context->DeleteWebStorage();
638 context->DeleteLocalFileSystem();
639 context->ClearCache();
641 // Check default value
642 Dali::WebEngineContext::CacheModel value = context->GetCacheModel();
643 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_VIEWER );
645 // Check Set/GetProperty
646 context->SetCacheModel( Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
647 value = context->GetCacheModel();
648 DALI_TEST_CHECK( value == Dali::WebEngineContext::CacheModel::DOCUMENT_BROWSER );
653 // test cases for web cookie manager.
655 int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void)
657 ToolkitTestApplication application;
659 WebView view = WebView::New();
660 DALI_TEST_CHECK( view );
662 Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager();
663 DALI_TEST_CHECK( cookieManager != 0 )
665 const std::string kDefaultValue;
668 cookieManager->SetPersistentStorage( kDefaultValue, Dali::WebEngineCookieManager::CookiePersistentStorage::SQLITE );
669 cookieManager->ClearCookies();
671 // Check default value
672 Dali::WebEngineCookieManager::CookieAcceptPolicy value = cookieManager->GetCookieAcceptPolicy();
673 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::NO_THIRD_PARTY );
675 // Check Set/GetProperty
676 cookieManager->SetCookieAcceptPolicy( Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
677 value = cookieManager->GetCookieAcceptPolicy();
678 DALI_TEST_CHECK( value == Dali::WebEngineCookieManager::CookieAcceptPolicy::ALWAYS );
683 // test cases for web settings.
685 int UtcDaliWebSettingsGetSetDefaultFontSize(void)
687 ToolkitTestApplication application;
689 WebView view = WebView::New();
690 DALI_TEST_CHECK( view );
692 Dali::Toolkit::WebSettings* settings = view.GetSettings();
693 DALI_TEST_CHECK( settings != 0 )
696 settings->AllowMixedContents( false );
697 settings->EnableSpatialNavigation( false );
698 settings->EnableWebSecurity( false );
699 settings->AllowFileAccessFromExternalUrl( false );
700 settings->AllowScriptsOpenWindows( false );
702 // Check default value
703 int value = settings->GetDefaultFontSize();
704 DALI_TEST_CHECK( value == 16 );
706 // Check Set/GetProperty
707 settings->SetDefaultFontSize( 20 );
708 value = settings->GetDefaultFontSize();
709 DALI_TEST_CHECK( value == 20 );
714 int UtcDaliWebSettingsCheckEnableJavaScript(void)
716 ToolkitTestApplication application;
718 WebView view = WebView::New();
719 DALI_TEST_CHECK( view );
721 Dali::Toolkit::WebSettings* settings = view.GetSettings();
722 DALI_TEST_CHECK( settings != 0 )
725 settings->AllowMixedContents( false );
726 settings->EnableSpatialNavigation( false );
727 settings->EnableWebSecurity( false );
728 settings->AllowFileAccessFromExternalUrl( false );
729 settings->AllowScriptsOpenWindows( false );
731 // Check default value is true or not
732 bool value = settings->IsJavaScriptEnabled();
733 DALI_TEST_CHECK( value );
735 // Check Set/GetProperty
736 settings->EnableJavaScript( false );
737 value = settings->IsJavaScriptEnabled();
738 DALI_TEST_CHECK( !value );
743 int UtcDaliWebSettingsCheckAllowImagesLoadAutomatically(void)
745 ToolkitTestApplication application;
747 WebView view = WebView::New();
748 DALI_TEST_CHECK( view );
750 Dali::Toolkit::WebSettings* settings = view.GetSettings();
751 DALI_TEST_CHECK( settings != 0 )
754 settings->AllowMixedContents( false );
755 settings->EnableSpatialNavigation( false );
756 settings->EnableWebSecurity( false );
757 settings->AllowFileAccessFromExternalUrl( false );
758 settings->AllowScriptsOpenWindows( false );
760 // Check default value is true or not
761 bool value = settings->AreImagesLoadedAutomatically();
762 DALI_TEST_CHECK( value );
764 // Check Set/GetProperty
765 settings->AllowImagesLoadAutomatically( false );
766 value = settings->AreImagesLoadedAutomatically();
767 DALI_TEST_CHECK( !value );
772 int UtcDaliWebSettingsGetSetDefaultTextEncodingName(void)
774 ToolkitTestApplication application;
776 WebView view = WebView::New();
777 DALI_TEST_CHECK( view );
779 Dali::Toolkit::WebSettings* settings = view.GetSettings();
780 DALI_TEST_CHECK( settings != 0 )
782 const std::string kDefaultValue;
783 const std::string kTestValue = "UTF-8";
786 settings->AllowMixedContents( false );
787 settings->EnableSpatialNavigation( false );
788 settings->EnableWebSecurity( false );
789 settings->AllowFileAccessFromExternalUrl( false );
790 settings->AllowScriptsOpenWindows( false );
792 // Check default value
793 std::string value = settings->GetDefaultTextEncodingName();
794 DALI_TEST_EQUALS( value, kDefaultValue, TEST_LOCATION );
796 // Check Set/GetProperty
797 settings->SetDefaultTextEncodingName( kTestValue );
798 value = settings->GetDefaultTextEncodingName();
799 DALI_TEST_EQUALS( value, kTestValue, TEST_LOCATION );
804 int UtcDaliWebViewGetPlainText(void)
806 ToolkitTestApplication application;
808 WebView view = WebView::New();
809 DALI_TEST_CHECK(view);
811 view.LoadUrl(TEST_URL1);
813 view.GetPlainTextAsynchronously(&OnPlainTextReceived);
814 Test::EmitGlobalTimerSignal();
815 DALI_TEST_EQUALS(gPlainTextReceivedCallbackCalled, 1, TEST_LOCATION);