[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_quota_permission_request_origin_host_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 #define SAMPLE_HTML_FILE        ("/ewk_view/quota_ask.html")
8
9
10 class utc_blink_ewk_quota_permission_request_origin_host_get : public utc_blink_ewk_base
11 {
12 protected:
13   utc_blink_ewk_quota_permission_request_origin_host_get()
14     : host(NULL)
15   {
16   }
17
18   void PreTearDown() override { eina_stringshare_del(host); }
19
20   static void quotaPermission(Evas_Object*,
21                               const Ewk_Quota_Permission_Request* request,
22                               utc_blink_ewk_quota_permission_request_origin_host_get* owner)
23   {
24     utc_message("[ %s ]", __PRETTY_FUNCTION__);
25     ASSERT_TRUE(owner);
26     EXPECT_TRUE(request);
27     owner->host = eina_stringshare_add(ewk_quota_permission_request_origin_host_get(request));
28     ewk_view_quota_permission_request_cancel(request);
29     owner->EventLoopStop(Success);
30   }
31
32 protected:
33   Eina_Stringshare* host;
34 };
35
36
37 /**
38  * @brief Positive  test case of ewk_quota_permission_request_origin_host_get()
39  */
40 TEST_F(utc_blink_ewk_quota_permission_request_origin_host_get, POS_TEST)
41 {
42   ewk_view_quota_permission_request_callback_set(
43                            GetEwkWebView(),
44                            reinterpret_cast<Ewk_Quota_Permission_Request_Callback>(quotaPermission),
45                            this);
46   ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(),
47                                         GetResourceUrl(SAMPLE_HTML_FILE).c_str()));
48   ASSERT_EQ(Success, EventLoopStart());
49   // Host is "" when not origin
50   EXPECT_STREQ("", host);
51 }
52
53 /**
54 * @brief Checking whether function works properly in case of NULL
55 */
56 TEST_F(utc_blink_ewk_quota_permission_request_origin_host_get, NEG_TEST)
57 {
58   EXPECT_STREQ(NULL, ewk_quota_permission_request_origin_host_get(NULL));
59 }