[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_policy_decision_response_mime_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_mime_get : public utc_blink_ewk_base {
8 protected:
9  void PostSetUp() override {
10    evas_object_smart_callback_add(
11        GetEwkWebView(), "policy,response,decide",
12        (void (*)(void*, Evas_Object*, void*))policy_response_decide, this);
13   }
14
15   void PreTearDown() override {
16     evas_object_smart_callback_del(GetEwkWebView(), "policy,response,decide", (void(*)(void*, Evas_Object*, void*))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(utc_blink_ewk_policy_decision_response_mime_get* owner, Evas_Object* webview, Ewk_Policy_Decision* policy_decision)
24   {
25     utc_message("[policy_response_decide] :: \n");
26     ASSERT_TRUE(NULL != owner);
27
28     if (policy_decision && ewk_policy_decision_response_mime_get(policy_decision)) {
29       owner->EventLoopStop(Success);
30     }
31   }
32 };
33
34 /**
35  * @brief Tests if the mimetype for policy decision is returned properly.
36  */
37 TEST_F(utc_blink_ewk_policy_decision_response_mime_get, POS_TEST)
38 {
39   ASSERT_TRUE(ewk_view_url_set(GetEwkWebView(), "http://www.google.com"));
40   ASSERT_EQ(Success, EventLoopStart());
41 }
42
43 /**
44  * @brief Tests if function works properly in case of NULL of a webview
45  */
46 TEST_F(utc_blink_ewk_policy_decision_response_mime_get, NEG_TEST)
47 {
48   ASSERT_EQ(0, ewk_policy_decision_response_mime_get(0));
49 }