[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_context_web_database_origins_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 class utc_blink_ewk_context_web_database_origins_get : public utc_blink_ewk_base {
8 protected:
9   utc_blink_ewk_context_web_database_origins_get()
10     : ctx(NULL)
11   {
12   }
13
14   void PostSetUp() override {
15     utc_message("[postSetUp] :: ");
16     ctx = ewk_view_context_get(GetEwkWebView());
17   }
18
19   void LoadFinished(Evas_Object* webview) override {
20     utc_message("[loadFinished] :: ");
21     EventLoopStop(Success);
22   }
23
24   static void origins_get_cb(Eina_List* origins, void* user_data)
25   {
26     utc_message("origins_get_cb: %p, %p", origins, user_data);
27     ASSERT_TRUE(origins);
28     ASSERT_TRUE(user_data);
29     ASSERT_GE(1, eina_list_count(origins));
30     utc_blink_ewk_context_web_database_origins_get* owner = static_cast<utc_blink_ewk_context_web_database_origins_get*>(user_data);
31     owner->EventLoopStop(Success);
32   }
33
34 protected:
35   Ewk_Context* ctx;
36   static const char* const web_database_file;
37 };
38
39 const char* const utc_blink_ewk_context_web_database_origins_get::web_database_file = "ewk_context/WebDB2.html";
40
41 /**
42 * @brief Tests if can get web database origins after loading a web page.
43 */
44 TEST_F(utc_blink_ewk_context_web_database_origins_get, POS_TEST)
45 {
46   // Load from file
47   std::string resurl = GetResourceUrl(web_database_file);
48   utc_message("Loading resource: %s", resurl.c_str());
49   ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), resurl.c_str()));
50   ASSERT_EQ(Success, EventLoopStart());
51   ASSERT_EQ(EINA_TRUE, ewk_context_web_database_origins_get(ctx, origins_get_cb, this));
52   ASSERT_EQ(Success, EventLoopStart());
53 }
54
55 /**
56 * @brief Tests if returns false when context is null.
57 */
58 TEST_F(utc_blink_ewk_context_web_database_origins_get, NEG_TEST1)
59 {
60   ASSERT_EQ(EINA_FALSE, ewk_context_web_database_origins_get(0, origins_get_cb, 0));
61 }
62
63 /**
64 * @brief Tests if returns false which callback was null.
65 */
66 TEST_F(utc_blink_ewk_context_web_database_origins_get, NEG_TEST2)
67 {
68   ASSERT_EQ(EINA_FALSE, ewk_context_web_database_origins_get(ctx, 0, 0));
69 }