1 // Copyright 2014 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.
5 #include "utc_blink_ewk_base.h"
7 class utc_blink_ewk_policy_decision_use : public utc_blink_ewk_base {
10 void PostSetUp() override {
11 evas_object_smart_callback_add(GetEwkWebView(), "policy,navigation,decide",
12 policy_navigation_decide, this);
15 void PreTearDown() override {
16 evas_object_smart_callback_del(GetEwkWebView(), "policy,navigation,decide", policy_navigation_decide);
19 void LoadFinished(Evas_Object* webview) override {
20 EventLoopStop(utc_blink_ewk_base::Success); // will noop if EventLoopStop was alraedy called
23 static void policy_navigation_decide(void* data, Evas_Object* webview, void* event_info)
25 utc_message("[policy_navigation_decide] :: \n");
26 utc_blink_ewk_policy_decision_use *owner = static_cast<utc_blink_ewk_policy_decision_use*>(data);
27 Ewk_Policy_Decision* policy_decision = (Ewk_Policy_Decision*)event_info;
29 if (policy_decision && ewk_policy_decision_use(policy_decision)) {
31 owner->EventLoopStop(utc_blink_ewk_base::Success);
37 * @brief Tests if use operation for policy decision is set properly
39 TEST_F(utc_blink_ewk_policy_decision_use, POS_TEST)
41 Eina_Bool result = ewk_view_url_set(GetEwkWebView(), "http://www.google.com");
45 utc_blink_ewk_base::MainLoopResult main_result = EventLoopStart();
46 if (main_result != utc_blink_ewk_base::Success)
51 * @brief Tests if function works properly in case of NULL of a webview
53 TEST_F(utc_blink_ewk_policy_decision_use, NEG_TEST)
55 utc_check_ne(ewk_policy_decision_use(0), EINA_TRUE);