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_ignore : 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::Failure);
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_ignore *owner = static_cast<utc_blink_ewk_policy_decision_ignore*>(data);
28 Ewk_Policy_Decision* policy_decision = (Ewk_Policy_Decision*)event_info;
30 if (policy_decision && ewk_policy_decision_ignore(policy_decision)) {
32 owner->EventLoopStop(utc_blink_ewk_base::Success);
38 * @brief Tests if ignore operation for policy decision is set properly
40 TEST_F(utc_blink_ewk_policy_decision_ignore, POS_TEST)
42 Eina_Bool result = ewk_view_url_set(GetEwkWebView(), "http://www.google.com");
46 utc_blink_ewk_base::MainLoopResult main_result = EventLoopStart();
47 if (main_result != utc_blink_ewk_base::Success)
52 * @brief Tests if function works properly in case of NULL of a webview
54 TEST_F(utc_blink_ewk_policy_decision_ignore, NEG_TEST)
56 utc_check_ne(ewk_policy_decision_ignore(0), EINA_TRUE);