[dali_2.1.5] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-WebView.cpp
index 4e553e8..aa2fdcc 100755 (executable)
@@ -80,6 +80,7 @@ static int gFrameRenderedCallbackCalled = 0;
 static int gConsoleMessageCallbackCalled = 0;
 static std::unique_ptr<Dali::WebEngineConsoleMessage> gConsoleMessageInstance = nullptr;
 static int gResponsePolicyDecidedCallbackCalled = 0;
+static int gNavigationPolicyDecidedCallbackCalled = 0;
 static std::unique_ptr<Dali::WebEnginePolicyDecision> gResponsePolicyDecisionInstance = nullptr;
 static int gCertificateConfirmCallbackCalled = 0;
 static std::unique_ptr<Dali::WebEngineCertificate> gCertificateConfirmInstance = nullptr;
@@ -144,6 +145,11 @@ static void OnResponsePolicyDecided(std::unique_ptr<Dali::WebEnginePolicyDecisio
   gResponsePolicyDecisionInstance = std::move(decision);
 }
 
+static void OnNavigationPolicyDecided(std::unique_ptr<Dali::WebEnginePolicyDecision> decision)
+{
+  gNavigationPolicyDecidedCallbackCalled++;
+}
+
 static void OnUrlChanged(const std::string& url)
 {
   gUrlChangedCallbackCalled++;
@@ -1277,6 +1283,24 @@ int UtcDaliWebViewResponsePolicyDecisionRequest(void)
   END_TEST;
 }
 
+int UtcDaliWebViewNavigationPolicyDecisionRequest(void)
+{
+  ToolkitTestApplication application;
+
+  WebView view = WebView::New();
+  DALI_TEST_CHECK(view);
+
+  // load url.
+  view.RegisterNavigationPolicyDecidedCallback(&OnNavigationPolicyDecided);
+  DALI_TEST_EQUALS(gNavigationPolicyDecidedCallbackCalled, 0, TEST_LOCATION);
+
+  view.LoadUrl(TEST_URL1);
+  Test::EmitGlobalTimerSignal();
+  DALI_TEST_EQUALS(gNavigationPolicyDecidedCallbackCalled, 1, TEST_LOCATION);
+
+  END_TEST;
+}
+
 int UtcDaliWebViewHitTest(void)
 {
   ToolkitTestApplication application;