[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_view_back_possible_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_view_back_possible : public utc_blink_ewk_base
8 {
9 protected:
10   /* Callback for load finished */
11  void LoadFinished(Evas_Object* webview) override { EventLoopStop(Success); }
12 };
13
14 /**
15  * @brief Check whether it is possible to go back when no webpage is loaded
16  */
17 TEST_F(utc_blink_ewk_view_back_possible, POS_TEST1)
18 {
19   int result = ewk_view_back_possible( GetEwkWebView());
20   utc_check_eq(result, 0);
21 }
22
23 /**
24  * @brief Change whether it is possible to go back when only one webpage is loaded
25  */
26 TEST_F(utc_blink_ewk_view_back_possible, POS_TEST2)
27 {
28   if(!ewk_view_url_set(GetEwkWebView(),GetResourceUrl("common/sample.html").c_str()))
29     utc_fail();
30   if(Success!=EventLoopStart())
31     utc_fail();
32
33   int result = ewk_view_back_possible( GetEwkWebView());
34   utc_check_eq(result, 0);
35 }
36
37 /**
38  * @brief Change whether it is possible to go back when two webpages have been loaded
39  */
40 TEST_F(utc_blink_ewk_view_back_possible, POS_TEST3)
41 {
42   if(!ewk_view_url_set(GetEwkWebView(),GetResourceUrl("common/sample.html").c_str()))
43     utc_fail();
44   if(Success!=EventLoopStart())
45     utc_fail();
46
47   if(!ewk_view_url_set(GetEwkWebView(),GetResourceUrl("common/sample_1.html").c_str()))
48     utc_fail();
49   if(Success!=EventLoopStart())
50     utc_fail();
51
52   int result = ewk_view_back_possible( GetEwkWebView());
53   utc_check_eq(result, 1);
54 }
55
56 /**
57  * @brief Checking whether function works properly in case of NULL of a webview.
58  */
59 TEST_F(utc_blink_ewk_view_back_possible, NEG_TEST)
60 {
61   int result = ewk_view_back_possible(NULL);
62   utc_check_eq(result, 0);
63 }