[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_intercept_request_scheme_get_func.cpp
1 // Copyright 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.
4
5 #include <string>
6
7 #include "utc_blink_ewk_intercept_request_get_base.h"
8
9 class utc_blink_ewk_intercept_request_scheme_get
10     : public utc_blink_ewk_intercept_request_get_base {
11  public:
12   utc_blink_ewk_intercept_request_scheme_get()
13       : scheme_from_ewk_ptr_(nullptr) {}
14
15  protected:
16   void test_func(Ewk_Intercept_Request* intercept_request) override {
17     scheme_from_ewk_ptr_ = ewk_intercept_request_scheme_get(intercept_request);
18     if (scheme_from_ewk_ptr_) {
19       scheme_from_ewk_ = scheme_from_ewk_ptr_;
20     }
21   }
22
23   std::string scheme_from_ewk_;
24   const char* scheme_from_ewk_ptr_;
25   static const std::string kInterceptScheme;
26 };
27
28 const std::string utc_blink_ewk_intercept_request_scheme_get::kInterceptScheme =
29     kInterceptURL.substr(0, kInterceptURL.find(':'));
30
31 /**
32  * @brief Tests if correct scheme is returned for intercept request.
33  */
34 TEST_F(utc_blink_ewk_intercept_request_scheme_get, POS_TEST_SCHEME_GET) {
35   pos_test();
36   ASSERT_EQ(kInterceptScheme, scheme_from_ewk_);
37 }
38
39 /**
40  * @brief Tests if null scheme is returned for null intercept request.
41  */
42 TEST_F(utc_blink_ewk_intercept_request_scheme_get, NEG_TEST_SCHEME_GET_NULL) {
43   neg_test();
44   ASSERT_EQ(nullptr, scheme_from_ewk_ptr_);
45 }