X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-WebView.cpp;h=4e553e8c8c1f1ac512522378f1b94467c31e77bc;hp=442d75d32513c5748e162a305be44ddc1a9eeb99;hb=HEAD;hpb=020b07151378db83ab8e12eb3e2d51db0ed69996 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp index 442d75d..2ede899 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Samsung Electronics Co., Ltd. + * Copyright (c) 2024 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,8 +22,6 @@ #include "dali-toolkit-test-utils/toolkit-timer.h" #include -#include -#include #include #include #include @@ -34,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +79,7 @@ static int gConso static std::unique_ptr gConsoleMessageInstance = nullptr; static int gResponsePolicyDecidedCallbackCalled = 0; static int gNavigationPolicyDecidedCallbackCalled = 0; +static int gNewWindowCreatedCallbackCalled = 0; static std::unique_ptr gResponsePolicyDecisionInstance = nullptr; static int gCertificateConfirmCallbackCalled = 0; static std::unique_ptr gCertificateConfirmInstance = nullptr; @@ -149,6 +149,13 @@ static void OnNavigationPolicyDecided(std::unique_ptrRegisterRequestInterceptedCallback(&OnRequestIntercepted); @@ -1690,6 +1706,11 @@ int UtcDaliWebContextHttpRequestInterceptor(void) DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseBody((const int8_t*)"test", 4)); DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponse("key:value", (const int8_t*)"test", 4)); DALI_TEST_CHECK(gRequestInterceptorInstance->WriteResponseChunk((const int8_t*)"test", 4)); + + DALI_TEST_CHECK(gRequestInterceptorInstance->GetWebEngine()); + // Check if web view is found or not when plugin is not null. + DALI_TEST_CHECK(WebView::FindWebView(gRequestInterceptorInstance->GetWebEngine())); + std::string testUrl("http://test.html"); DALI_TEST_EQUALS(gRequestInterceptorInstance->GetUrl(), testUrl, TEST_LOCATION); std::string testMethod("GET"); @@ -1697,6 +1718,8 @@ int UtcDaliWebContextHttpRequestInterceptor(void) Dali::Property::Map resultHeaders = gRequestInterceptorInstance->GetHeaders(); DALI_TEST_EQUALS(resultHeaders.Count(), 2, TEST_LOCATION); + // Destroy web view. + view.Reset(); gRequestInterceptorInstance = nullptr; END_TEST; @@ -1708,10 +1731,7 @@ int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void) { ToolkitTestApplication application; - WebView view = WebView::New(); - DALI_TEST_CHECK(view); - - Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager(); + Dali::WebEngineCookieManager* cookieManager = WebView::GetCookieManager(); DALI_TEST_CHECK(cookieManager != 0) const std::string kDefaultValue; @@ -1736,10 +1756,7 @@ int UtcDaliWebCookieManagerChangesWatch(void) { ToolkitTestApplication application; - WebView view = WebView::New(); - DALI_TEST_CHECK(view); - - Dali::Toolkit::WebCookieManager* cookieManager = view.GetCookieManager(); + Dali::WebEngineCookieManager* cookieManager = WebView::GetCookieManager(); DALI_TEST_CHECK(cookieManager != 0) cookieManager->ChangesWatch(&OnChangesWatch); @@ -2350,3 +2367,50 @@ int UtcDaliWebViewGetPlainText(void) END_TEST; } + +int UtcDaliWebViewVisibilityChange(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + Control dummy = Control::New(); + DALI_TEST_CHECK(view); + DALI_TEST_CHECK(dummy); + + view.LoadUrl(TEST_URL1); + + dummy.Add(view); + auto window = application.GetWindow(); + window.Add(dummy); + + application.SendNotification(); + application.Render(); + + try + { + // TODO : There is no way to check visiblity setting result from web engine. + // Just call API and exception check. + view.SetProperty(Actor::Property::VISIBLE, false); + view.SetProperty(Actor::Property::VISIBLE, true); + dummy.SetProperty(Actor::Property::VISIBLE, false); + dummy.SetProperty(Actor::Property::VISIBLE, true); + dummy.Unparent(); + window.Hide(); + window.Add(dummy); + window.Show(); + window.Hide(); + window.Show(); + dummy.SetProperty(Actor::Property::VISIBLE, false); + view.SetProperty(Actor::Property::VISIBLE, false); + dummy.SetProperty(Actor::Property::VISIBLE, true); + view.SetProperty(Actor::Property::VISIBLE, true); + tet_result(TET_PASS); + } + catch(...) + { + // Should not throw exception + tet_result(TET_FAIL); + } + + END_TEST; +} \ No newline at end of file