[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_policy_decision_response_headers_get_func.cpp
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.
4
5 #include "utc_blink_ewk_base.h"
6
7 class utc_blink_ewk_policy_decision_response_headers_get : public utc_blink_ewk_base
8 {
9 protected:
10  void PostSetUp() override {
11    evas_object_smart_callback_add(GetEwkWebView(), "policy,response,decide",
12                                   policy_response_decide, this);
13   }
14
15   void PreTearDown() override {
16     evas_object_smart_callback_del(GetEwkWebView(), "policy,response,decide", policy_response_decide);
17   }
18
19   void LoadFinished(Evas_Object* webview) override {
20     EventLoopStop(utc_blink_ewk_base::Failure);
21   }
22
23   static void policy_response_decide(void* data, Evas_Object* webview, void* event_info)
24   {
25     ASSERT_TRUE(data != NULL);
26     ASSERT_TRUE(event_info != NULL);
27     utc_message("[policy_response_decide] ::");
28     utc_blink_ewk_policy_decision_response_headers_get* const owner = static_cast<utc_blink_ewk_policy_decision_response_headers_get*>(data);
29     Ewk_Policy_Decision* const policy_decision = static_cast<Ewk_Policy_Decision*>(event_info);
30     const Eina_Hash* const headers = ewk_policy_decision_response_headers_get(policy_decision);
31     owner->EventLoopStop((NULL != headers) ? Success : Failure);
32   }
33 };
34
35 /**
36  * @brief Tests if the headers for policy decision is returned properly.
37  */
38 TEST_F(utc_blink_ewk_policy_decision_response_headers_get, POS_TEST)
39 {
40   ASSERT_TRUE(ewk_view_url_set(GetEwkWebView(), "http://www.samsung.com"));
41
42   EXPECT_EQ(Success, EventLoopStart());
43 }
44
45 /**
46  * @brief Tests if function works properly in case of NULL of a webview
47  */
48 TEST_F(utc_blink_ewk_policy_decision_response_headers_get, NEG_TEST)
49 {
50   EXPECT_EQ(0, ewk_policy_decision_response_headers_get(0));
51 }