1 // Copyright 2014-2016 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_resume : public utc_blink_ewk_base
17 utc_blink_ewk_view_resume()
18 : phase(PageLoadStart), result_url_set(EINA_FALSE) {}
20 /* Callback for quitting main loop */
21 void LoadProgress(Evas_Object* webview, double pr) override {
22 // Page started to load, after that we want to suspend right after
23 if (phase == PageLoadStart) {
24 phase = PageSuspended;
25 EventLoopStop(Success);
29 bool TimeOut() override {
30 if (phase == PageSuspended) {
32 EventLoopStop(Success);
39 void LoadFinished(Evas_Object* webview) override {
40 if (phase == PageResumed) {
41 EventLoopStop(Success);
43 EventLoopStop(Failure);
47 static void job_url_set(utc_blink_ewk_base* data) {
48 utc_blink_ewk_view_resume* owner =
49 static_cast<utc_blink_ewk_view_resume*>(data);
50 owner->result_url_set =
51 ewk_view_url_set(owner->GetEwkWebView(), "http://www.google.pl");
55 Eina_Bool result_url_set;
59 * @brief Positive test case of ewk_view_resume()
61 TEST_F(utc_blink_ewk_view_resume, POS_TEST)
63 SetTestJob(utc_blink_ewk_view_resume::job_url_set);
65 if (Success != EventLoopStart())
68 ASSERT_EQ(EINA_TRUE, result_url_set);
70 utc_message("Suspend");
71 ewk_view_suspend(GetEwkWebView());
73 if (Success != EventLoopStart(5.0)) // Wait few seconds to see if it realy was suspended
76 utc_message("Resume");
77 ewk_view_resume(GetEwkWebView());
79 if (Success != EventLoopStart())
82 evas_object_show(GetEwkWebView());
83 evas_object_show(GetEwkWindow());
87 * @brief Negative test case of ewk_view_resume()
89 TEST_F(utc_blink_ewk_view_resume, NEG_TEST)
91 // This test is pointless. ewk_view_resume has no return value so we have nothing to test here.
92 ewk_view_resume(NULL);
93 evas_object_show(GetEwkWebView());
94 evas_object_show(GetEwkWindow());