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=a97eb79113040133cd8bc1b770cecdb1b584b937;hp=6058fdb5e50486ee47caa0fa48b5f70c87d0d976;hb=d65464c74cd9fbe9fde413f442070bffe70ba99c;hpb=13d67c6114ee1ec18fabf666b485cf8923ddc004 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp index 6058fdb..a97eb79 100755 --- a/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-WebView.cpp @@ -22,6 +22,7 @@ #include "dali-toolkit-test-utils/toolkit-timer.h" #include +#include #include #include #include @@ -64,6 +65,8 @@ static bool gWheelEventHandled = false; static int gFormRepostDecisionCallbackCalled = 0; static std::shared_ptr gFormRepostDecisionInstance; static int gFrameRenderedCallbackCalled = 0; +static int gRequestInterceptorCallbackCalled = 0; +static std::shared_ptr gRequestInterceptorInstance = nullptr; struct CallbackFunctor { @@ -176,6 +179,12 @@ static void OnFrameRendered(WebView) gFrameRenderedCallbackCalled++; } +static void OnRequestInterceptor(WebView view, std::shared_ptr interceptor) +{ + gRequestInterceptorCallbackCalled++; + gRequestInterceptorInstance = std::move(interceptor); +} + } // namespace void web_view_startup(void) @@ -966,6 +975,40 @@ int UtcDaliWebViewVideoPlayingGeolocationPermission(void) END_TEST; } +int UtcDaliWebViewHttpRequestInterceptor(void) +{ + ToolkitTestApplication application; + + WebView view = WebView::New(); + DALI_TEST_CHECK( view ); + + // load url. + ConnectionTracker* testTracker = new ConnectionTracker(); + view.RequestInterceptorSignal().Connect( &OnRequestInterceptor ); + bool signal1 = false; + view.ConnectSignal( testTracker, "requestInterceptor", CallbackFunctor(&signal1) ); + DALI_TEST_EQUALS( gRequestInterceptorCallbackCalled, 0, TEST_LOCATION ); + DALI_TEST_CHECK(gRequestInterceptorInstance == 0); + + view.LoadUrl( TEST_URL1 ); + Test::EmitGlobalTimerSignal(); + DALI_TEST_EQUALS( gRequestInterceptorCallbackCalled, 1, TEST_LOCATION ); + DALI_TEST_CHECK( signal1 ); + + // check request interceptor. + DALI_TEST_CHECK(gRequestInterceptorInstance != 0); + DALI_TEST_CHECK(gRequestInterceptorInstance->Ignore()); + DALI_TEST_CHECK(gRequestInterceptorInstance->SetResponseStatus(400, "error")); + DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseHeader("key", "value")); + DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseBody("test", 4)); + std::string testUrl("http://test.html"); + DALI_TEST_EQUALS(gRequestInterceptorInstance->GetUrl(), testUrl, TEST_LOCATION); + + gRequestInterceptorInstance = nullptr; + + END_TEST; +} + int UtcDaliWebViewEvaluteJavaScript(void) { ToolkitTestApplication application;