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 /* Define those macros _before_ you include the utc_blink_ewk.h header file. */
7 #include "utc_blink_ewk_base.h"
9 #define URL "https://www.pcwebshop.co.uk/"
11 class utc_blink_ewk_certificate_policy_decision_url_get : public utc_blink_ewk_base
14 void PostSetUp() override {
16 evas_object_smart_callback_add(
17 GetEwkWebView(), "request,certificate,confirm", policy_decision, this);
20 void PreTearDown() override {
21 evas_object_smart_callback_del(GetEwkWebView(),
22 "request,certificate,confirm", policy_decision);
23 eina_stringshare_del(url);
26 void LoadFinished(Evas_Object* webview) override {
27 EventLoopStop(utc_blink_ewk_base::Failure); // will noop if EventLoopStop was alraedy called
30 static void policy_decision(void* data, Evas_Object* webview, void* event_info)
32 utc_message("[policy decision]");
33 utc_blink_ewk_certificate_policy_decision_url_get *owner =
34 static_cast<utc_blink_ewk_certificate_policy_decision_url_get*>(data);
36 Ewk_Certificate_Policy_Decision* policy =
37 (Ewk_Certificate_Policy_Decision*) event_info;
39 owner->url = eina_stringshare_add(ewk_certificate_policy_decision_url_get(policy));
40 if (policy && owner->url) {
41 utc_message("[policy decision] :: URL: %s\n", owner->url);
42 owner->EventLoopStop(utc_blink_ewk_base::Success);
47 Eina_Stringshare* url;
51 * @brief Checking whether ewk_certificate_policy_decision_url_get
52 * returns not empty string.
54 TEST_F(utc_blink_ewk_certificate_policy_decision_url_get, POS_TEST)
56 ASSERT_EQ(EINA_TRUE, ewk_view_url_set(GetEwkWebView(), URL));
57 ASSERT_EQ(Success, EventLoopStart());
58 ASSERT_STREQ(URL, url);
62 * @brief Checking whether function works properly in case of NULL argument.
64 TEST_F(utc_blink_ewk_certificate_policy_decision_url_get, NEG_TEST)
66 ASSERT_STREQ("", ewk_certificate_policy_decision_url_get(NULL));