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