[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_context_icon_database_path_set_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 #include <fstream>
7 #include <iostream>
8
9 class utc_blink_ewk_context_icon_database_path_set : public utc_blink_ewk_base
10 {
11 protected:
12   void PostSetUp() override
13   {
14     evas_object_smart_callback_add(GetEwkWebView(), "icon,received", cb_icon_received, this);
15   }
16
17   void PreTearDown() override
18   {
19     evas_object_smart_callback_del(GetEwkWebView(), "icon,received", cb_icon_received);
20   }
21
22   static void cb_icon_received(void *data, Evas_Object *, void *)
23   {
24     ASSERT_TRUE(data != NULL);
25     utc_blink_ewk_context_icon_database_path_set *owner = static_cast<utc_blink_ewk_context_icon_database_path_set *>(data);
26     owner->EventLoopStop(Success);
27   }
28
29   static bool exists(const char *path) {
30     std::ifstream fs(path);
31     return fs.good();
32   }
33 };
34
35 TEST_F(utc_blink_ewk_context_icon_database_path_set, CORRECT_PATH_SET)
36 {
37   const char *path = "/tmp/utc_blink_favicon_database_test_correct.db";
38   ASSERT_EQ(EINA_TRUE, ewk_context_icon_database_path_set(ewk_context_default_get(), path));
39   ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), GetResourceUrl("common/favicon.html").c_str()));
40   ASSERT_EQ(Success, EventLoopStart());
41   ASSERT_TRUE(exists(path));
42 }
43
44 TEST_F(utc_blink_ewk_context_icon_database_path_set, INCORRECT_PATH_SET)
45 {
46   const char *path = "/tmp/utc_blink_favicon_database_test_incorrect.db";
47   ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), GetResourceUrl("common/favicon.html").c_str()));
48   ASSERT_EQ(Success, EventLoopStart());
49   ASSERT_EQ(EINA_FALSE, ewk_context_icon_database_path_set(ewk_context_default_get(), path));
50 }