[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_notification_permission_request_suspend_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_notification_test_base.h"
6
7 class utc_blink_ewk_notification_permission_request_suspend : public utc_blink_ewk_notification_test_base {
8  protected:
9   utc_blink_ewk_notification_permission_request_suspend()
10     : permission_request(NULL)
11   {}
12
13   /* Callback for notification permission request */
14   Eina_Bool NotificationPermissionRequest(
15       Evas_Object* webview,
16       Ewk_Notification_Permission_Request* request) override {
17     EXPECT_EQ(EINA_TRUE, ewk_notification_permission_request_suspend(request));
18     permission_request = request;
19     EventLoopStop(Success);
20     return EINA_TRUE;
21   }
22
23   void NotificationShow(Ewk_Notification* notification) override {
24     EventLoopStop(Success);
25   }
26
27  protected:
28   Ewk_Notification_Permission_Request* permission_request;
29 };
30
31 /**
32 * @brief Positive test case for ewk_notification_permission_request_suspened()
33 */
34 TEST_F(utc_blink_ewk_notification_permission_request_suspend, POS_TEST)
35 {
36   ASSERT_TRUE(ewk_view_url_set(GetEwkWebView(), notification_sample_1.c_str()));
37   EXPECT_EQ(Success, EventLoopStart());
38   ASSERT_TRUE(permission_request);
39   ASSERT_EQ(EINA_TRUE, ewk_notification_permission_reply(permission_request, EINA_TRUE));
40   permission_request = NULL;
41   ASSERT_EQ(Success, EventLoopStart());
42 }
43
44 /**
45 * @brief Checking whether function works properly in case of nullptr value pass
46 */
47 TEST_F(utc_blink_ewk_notification_permission_request_suspend, NEG_TEST)
48 {
49   ASSERT_EQ(EINA_FALSE, ewk_notification_permission_request_suspend(nullptr));
50 }