[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_console_message_source_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/console_info.html")
8
9 class utc_blink_ewk_console_message_source_get : public utc_blink_ewk_base
10 {
11  protected:
12
13   std::string getSource;
14
15   void PostSetUp() override {
16     evas_object_smart_callback_add(GetEwkWebView(),"console,message",console_message_cb, this);
17   }
18
19   void PreTearDown() override {
20     evas_object_smart_callback_del(GetEwkWebView(),"console,message",console_message_cb);
21   }
22
23   /* Callback for console message */
24   static void console_message_cb(void* data, Evas_Object* webview, void* event_info)
25   {
26     utc_message("[console,message] :: \n");
27
28     utc_blink_ewk_console_message_source_get* owner = static_cast<utc_blink_ewk_console_message_source_get*>(data);
29
30     Ewk_Console_Message* console = (Ewk_Console_Message*)event_info;
31     if(console) {
32
33       owner->getSource = ewk_console_message_source_get(console);
34       owner->EventLoopStop(utc_blink_ewk_base::Success);
35     }
36   }
37 };
38
39 /**
40  * @brief Tests  ewk_console_message_source_get incase Ewk_Console_Message exists
41  */
42 TEST_F(utc_blink_ewk_console_message_source_get, POS_TEST)
43 {
44   getSource = '\0';
45   Eina_Bool result = ewk_view_url_set(GetEwkWebView(), GetResourceUrl(SAMPLE_HTML_FILE).c_str());
46   if (!result)
47     FAIL();
48
49   utc_blink_ewk_base::MainLoopResult main_result = EventLoopStart();
50   if (main_result != utc_blink_ewk_base::Success)
51     FAIL();
52
53   utc_check_str_eq(getSource.c_str(), GetResourceUrl(SAMPLE_HTML_FILE).c_str());
54 }
55
56 /**
57  * @brief Tests ewk_console_message_source_get incase Ewk_Console_Message does not exist
58  */
59 TEST_F(utc_blink_ewk_console_message_source_get, NEG_TEST)
60 {
61   utc_check_str_eq(NULL, ewk_console_message_source_get(NULL));
62 }