[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_user_media_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_base.h"
6
7 class utc_blink_ewk_user_media_permission_request_suspend : public utc_blink_ewk_base
8 {
9 protected:
10   void PostSetUp()
11   {
12     evas_object_smart_callback_add(GetEwkWebView(), "usermedia,permission,request", media_permission_handler, this);
13   }
14
15   void PreTearDown()
16   {
17     evas_object_smart_callback_del(GetEwkWebView(), "usermedia,permission,request", media_permission_handler);
18   }
19
20   static void media_permission_handler(void* data, Evas_Object* webview, void* event_info)
21   {
22     utc_message("[media permission handler] ::");
23     if(data)
24     {
25       utc_blink_ewk_user_media_permission_request_suspend *owner= static_cast<utc_blink_ewk_user_media_permission_request_suspend*>(data);
26       Ewk_User_Media_Permission_Request* media_permission_request = static_cast<Ewk_User_Media_Permission_Request*>(event_info);
27       if (!media_permission_request) {
28         owner->EventLoopStop(Failure);
29         return;
30       }
31       ewk_user_media_permission_request_suspend(media_permission_request);
32       owner->EventLoopStop(Success);
33     }
34   }
35 };
36
37 /**
38   * @brief Checking whether sending cancellation notification for authentication challenge works properly.
39   */
40 TEST_F(utc_blink_ewk_user_media_permission_request_suspend, POS_TEST)
41 {
42   if( !ewk_view_url_set(GetEwkWebView(), "http://shinydemos.com/explode/"))
43     utc_fail();
44
45   if( Success != EventLoopStart())
46     utc_fail();
47
48   evas_object_show( GetEwkWebView());
49   evas_object_show( GetEwkWindow());
50 }
51
52 /**
53   * @brief Checking whether function works properly in case of NULL of a webview.
54   */
55 TEST_F(utc_blink_ewk_user_media_permission_request_suspend, NEG_TEST)
56 {
57   Eina_Bool result = ewk_view_url_set(NULL, "http://shinydemos.com/explode/");
58   if (result)
59     utc_fail();
60
61   evas_object_show( GetEwkWebView());
62   evas_object_show( GetEwkWindow());
63 }