[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_intercept_request_get_base.cpp
1 +  // Copyright 2016 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "utc_blink_ewk_intercept_request_get_base.h"
6
7     const std::string utc_blink_ewk_intercept_request_get_base::kInterceptURL =
8         "http://www.google.com/";
9
10 utc_blink_ewk_intercept_request_get_base::
11     utc_blink_ewk_intercept_request_get_base()
12     : api_executed_(false) {}
13
14 utc_blink_ewk_intercept_request_get_base::
15     ~utc_blink_ewk_intercept_request_get_base() {}
16
17 void utc_blink_ewk_intercept_request_get_base::LoadFinished(
18     Evas_Object* webview) {
19   // Should not load without decision about interception.
20   EventLoopStop(Failure);
21 }
22
23 void utc_blink_ewk_intercept_request_get_base::callback_positive(
24     Ewk_Context* /*ctx*/,
25     Ewk_Intercept_Request* intercept_request,
26     void* user_data) {
27   auto* owner =
28       static_cast<utc_blink_ewk_intercept_request_get_base*>(user_data);
29   owner->test_func(intercept_request);
30   owner->api_executed_.store(true);
31 }
32
33 void utc_blink_ewk_intercept_request_get_base::callback_negative(
34     Ewk_Context* /*ctx*/,
35     Ewk_Intercept_Request* /*intercept_request*/,
36     void* user_data) {
37   auto* owner =
38       static_cast<utc_blink_ewk_intercept_request_get_base*>(user_data);
39   owner->test_func(nullptr);
40   owner->api_executed_.store(true);
41 }
42
43 void utc_blink_ewk_intercept_request_get_base::pos_test() {
44   ewk_context_intercept_request_callback_set(
45       ewk_view_context_get(GetEwkWebView()), callback_positive, this);
46
47   ASSERT_TRUE(ewk_view_url_set(GetEwkWebView(), kInterceptURL.c_str()));
48   ASSERT_EQ(Timeout, EventLoopStart(3.0));
49   ASSERT_TRUE(api_executed_.load());
50 }
51
52 void utc_blink_ewk_intercept_request_get_base::neg_test() {
53   ewk_context_intercept_request_callback_set(
54       ewk_view_context_get(GetEwkWebView()), callback_negative, this);
55
56   ASSERT_TRUE(ewk_view_url_set(GetEwkWebView(), kInterceptURL.c_str()));
57   ASSERT_EQ(Timeout, EventLoopStart(3.0));
58   ASSERT_TRUE(api_executed_.load());
59 }