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.
5 #include "utc_blink_ewk_notification_test_base.h"
7 class utc_blink_ewk_notification_permission_reply : public utc_blink_ewk_notification_test_base {
9 utc_blink_ewk_notification_permission_reply()
10 : notification_permission_request_cnt(0)
13 Eina_Bool NotificationPermissionRequest(
15 Ewk_Notification_Permission_Request* request) override {
16 EXPECT_EQ(EINA_TRUE, ewk_notification_permission_reply(request, EINA_TRUE));
17 ++notification_permission_request_cnt;
21 void NotificationShow(Ewk_Notification* notification) override {
22 EventLoopStop(Success);
26 int notification_permission_request_cnt;
30 * @brief Positive test case for ewk_notification_permission_reply function
32 TEST_F(utc_blink_ewk_notification_permission_reply, POS_TEST)
34 ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), notification_sample_1.c_str()));
35 ASSERT_EQ(Success, EventLoopStart());
36 ASSERT_EQ(1, notification_permission_request_cnt);
38 ASSERT_EQ(EINA_TRUE, ewk_view_script_execute(GetEwkWebView(), "new Notification('Notification title');", NULL, NULL));
39 ASSERT_EQ(Success, EventLoopStart());
40 // once granted it should not request permission anymore
41 ASSERT_EQ(1, notification_permission_request_cnt);
43 ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), notification_sample_1.c_str()));
44 ASSERT_EQ(Success, EventLoopStart());
45 // once granted it should not request permission anymore
46 ASSERT_EQ(1, notification_permission_request_cnt);
50 * @brief Tests whether function works properly in case of nullptr value pass.
52 TEST_F(utc_blink_ewk_notification_permission_reply, NEG_TEST)
54 /* TODO: this code should use ewk_notification_cached_permissions_set and check its behaviour.
55 Results should be reported using one of utc_ macros */
56 ewk_notification_permission_reply(nullptr, EINA_TRUE);
58 // If nullptr argument passing wont give segmentation fault negative test case will pass