[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_quota_permission_request_origin_port_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_port_get : public utc_blink_ewk_base
11 {
12 protected:
13  void PreSetUp() override { port = 0; }
14
15  static void quotaPermission(
16      Evas_Object*,
17      const Ewk_Quota_Permission_Request* request,
18      utc_blink_ewk_quota_permission_request_origin_port_get* owner) {
19    utc_message("[ %s ]", __PRETTY_FUNCTION__);
20    ASSERT_TRUE(owner);
21    if (!request) {
22      owner->EventLoopStop(Failure);
23      return;
24    }
25    owner->port = ewk_quota_permission_request_origin_port_get(request);
26    ewk_view_quota_permission_request_cancel(request);
27    owner->EventLoopStop(Success);
28   }
29
30 protected:
31   uint16_t port;
32 };
33
34 /**
35  * @brief Positive  test case of ewk_quota_permission_request_origin_port_get()
36  */
37 TEST_F(utc_blink_ewk_quota_permission_request_origin_port_get, POS_TEST)
38 {
39   ewk_view_quota_permission_request_callback_set(
40                            GetEwkWebView(),
41                            reinterpret_cast<Ewk_Quota_Permission_Request_Callback>(quotaPermission),
42                            this);
43   ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(),
44                                         GetResourceUrl(SAMPLE_HTML_FILE).c_str()));
45   ASSERT_EQ(Success, EventLoopStart());
46   // 65535 = invalid or unspecified port
47   EXPECT_EQ(0, port);
48 }
49
50 /**
51 * @brief Checking whether function works properly in case of NULL
52 */
53 TEST_F(utc_blink_ewk_quota_permission_request_origin_port_get, NEG_TEST)
54 {
55   EXPECT_EQ(0, ewk_quota_permission_request_origin_port_get(NULL));
56 }