[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_cookie_manager_accept_policy_async_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_cookie_manager_accept_policy_async_get : public utc_blink_ewk_base
8 {
9 protected:
10   Ewk_Cookie_Accept_Policy cookies_policy;
11
12   static void cookies_policy_get_cb(Ewk_Cookie_Accept_Policy policy, void* event_info)
13   {
14     ASSERT_TRUE(event_info);
15     utc_blink_ewk_cookie_manager_accept_policy_async_get* owner = static_cast<utc_blink_ewk_cookie_manager_accept_policy_async_get*>(event_info);
16     owner->cookies_policy = policy;
17     owner->EventLoopStop(utc_blink_ewk_base::Success);
18   }
19 };
20
21 TEST_F(utc_blink_ewk_cookie_manager_accept_policy_async_get, positive_test)
22 {
23   cookies_policy = EWK_COOKIE_ACCEPT_POLICY_ALWAYS;
24
25   Ewk_Cookie_Manager* cookieManager = ewk_context_cookie_manager_get(ewk_view_context_get(GetEwkWebView()));
26   ASSERT_TRUE(cookieManager);
27   ewk_cookie_manager_accept_policy_set(cookieManager, EWK_COOKIE_ACCEPT_POLICY_NEVER);
28   ewk_cookie_manager_accept_policy_async_get(cookieManager, cookies_policy_get_cb, this);
29
30   ASSERT_EQ(Success,  EventLoopStart());
31   ASSERT_EQ(cookies_policy, EWK_COOKIE_ACCEPT_POLICY_NEVER);
32 }
33
34 TEST_F(utc_blink_ewk_cookie_manager_accept_policy_async_get, invalid_param_callback)
35 {
36   Ewk_Cookie_Manager* cookieManager = ewk_context_cookie_manager_get(ewk_view_context_get(GetEwkWebView()));
37   ASSERT_TRUE(cookieManager);
38   ewk_cookie_manager_accept_policy_async_get(cookieManager, NULL, this);
39 }
40
41 TEST_F(utc_blink_ewk_cookie_manager_accept_policy_async_get, invalid_param_cookie_manager)
42 {
43   ewk_cookie_manager_accept_policy_async_get(NULL, cookies_policy_get_cb, this);
44   ASSERT_EQ(Timeout,  EventLoopStart(3)) << "This callback shall never be called";
45 }
46
47 TEST_F(utc_blink_ewk_cookie_manager_accept_policy_async_get, invalid_param_all)
48 {
49   ewk_cookie_manager_accept_policy_async_get(NULL, NULL, NULL);
50 }