Implement test for ewk_view_html_string_load
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_context_preferred_languages_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
7 #define URL  ("http://request.urih.com/")
8 #define ACCEPT_LANGUAGES_DEFAULT_VALUE ("en-us,en")
9
10 class utc_blink_ewk_context_preferred_languages_set : public utc_blink_ewk_base
11 {
12 protected:
13   utc_blink_ewk_context_preferred_languages_set()
14   {
15   }
16
17   void LoadFinished(Evas_Object* webview)
18   {
19       ewk_view_plain_text_get(webview, _get_plain_text_cb, this);
20   }
21
22   static void _get_plain_text_cb(Evas_Object* obj, const char* result, void* data)
23   {
24     utc_blink_ewk_context_preferred_languages_set* owner = static_cast<utc_blink_ewk_context_preferred_languages_set*>(data);
25
26     ASSERT_TRUE(owner);
27
28     if (result != NULL) {
29       owner->plain_text_result.append(result);
30     }
31
32     owner->EventLoopStop(utc_blink_ewk_base::Success);
33   }
34
35 protected:
36   std::string plain_text_result;
37 };
38
39 /**
40  * @brief Positive test case of utc_blink_ewk_context_preferred_languages_set()
41  */
42 TEST_F(utc_blink_ewk_context_preferred_languages_set, POS_TEST1)
43 {
44   utc_message("Loading url: %s", URL);
45
46   Eina_List *list = NULL;
47   list = eina_list_append(list, "TEST");
48   list = eina_list_append(list, "ACC_EPT");
49   list = eina_list_append(list, "LA-NG");
50
51   ewk_context_preferred_languages_set(list);
52
53   ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), URL));
54   ASSERT_EQ(Success, EventLoopStart());
55
56   ASSERT_NE(plain_text_result.find("test,acc-ept,la-ng"), std::string::npos);
57 }
58
59 /**
60  * @brief Positive test case of utc_blink_ewk_context_preferred_languages_set()
61  *        NULL value should make the AcceptLangs header to be set to default value.
62  */
63 TEST_F(utc_blink_ewk_context_preferred_languages_set, POS_TEST2)
64 {
65   utc_message("Loading url: %s", URL);
66
67   ewk_context_preferred_languages_set(NULL);
68
69   ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), URL));
70   ASSERT_EQ(Success, EventLoopStart());
71
72   ASSERT_NE(plain_text_result.find(ACCEPT_LANGUAGES_DEFAULT_VALUE), std::string::npos);
73 }
74