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.
5 #include "utc_blink_ewk_base.h"
7 class utc_blink_ewk_view_add_with_session_data_func : public utc_blink_ewk_base
10 std::string firstPage;
14 const char *sessionData;
15 Evas_Object *otherWebview;
17 void PreSetUp() override {
18 firstPage = GetResourceUrl("common/sample.html");
19 testUrl = GetResourceUrl("common/sample_1.html");
20 lastPage = GetResourceUrl("common/sample_2.html");
26 void LoadFinished(Evas_Object*) override { EventLoopStop(Success); }
28 void PostTearDown() override {
30 evas_object_del(otherWebview);
32 free(const_cast<char *>(sessionData));
38 * @brief Tests if returns valid webview when called with correct Evas object.
40 TEST_F(utc_blink_ewk_view_add_with_session_data_func, POS_TEST)
42 ewk_view_url_set(GetEwkWebView(), firstPage.c_str());
43 ASSERT_EQ(EventLoopStart(), Success);
44 ewk_view_url_set(GetEwkWebView(), testUrl.c_str());
45 ASSERT_EQ(EventLoopStart(), Success);
46 ewk_view_url_set(GetEwkWebView(), lastPage.c_str());
47 ASSERT_EQ(EventLoopStart(), Success);
48 ewk_view_back(GetEwkWebView());
49 ASSERT_EQ(EventLoopStart(), Success);
51 ASSERT_TRUE(ewk_view_forward_possible(GetEwkWebView())) << "before";
52 ASSERT_TRUE(ewk_view_back_possible(GetEwkWebView())) << "before";
55 ewk_view_session_data_get(GetEwkWebView(), &sessionData, &length);
57 ASSERT_TRUE(sessionData);
60 otherWebview = ewk_view_add_with_session_data(GetEwkEvas(), sessionData, length);
61 ASSERT_TRUE(otherWebview);
63 ASSERT_STREQ(testUrl.c_str(), ewk_view_url_get(otherWebview));
64 ASSERT_TRUE(ewk_view_forward_possible(otherWebview)) << "after";
65 ASSERT_TRUE(ewk_view_back_possible(otherWebview)) << "after";
69 * @brief Tests if returns NULL when called with NULL Evas object.
71 TEST_F(utc_blink_ewk_view_add_with_session_data_func, NEG_TEST_NULL_EVAS)
73 ewk_view_url_set(GetEwkWebView(), firstPage.c_str());
74 ASSERT_EQ(EventLoopStart(), Success);
78 ewk_view_session_data_get(GetEwkWebView(), &data, &length);
80 EXPECT_TRUE(NULL == ewk_view_add_with_session_data(NULL, data, length));
84 * @brief Tests if returns NULL when called with NULL data.
86 TEST_F(utc_blink_ewk_view_add_with_session_data_func, POS_TEST_NULL_DATA)
88 const char *data = NULL;
90 Evas_Object* webview = ewk_view_add_with_session_data(GetEwkEvas(), data, length);
91 ASSERT_TRUE(webview != NULL);
92 evas_object_del(webview);
96 * @brief Tests if returns NULL when called with invalid data.
98 TEST_F(utc_blink_ewk_view_add_with_session_data_func, NEG_TEST_INVALID_DATA)
100 const char data[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
101 unsigned length = sizeof(data) / sizeof(data[0]);
103 ASSERT_FALSE(ewk_view_add_with_session_data(GetEwkEvas(), data, length));