[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_file_chooser_request_cancel_func.cpp
1 // Copyright 2020 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 static const char kUrl[] = "ewk_file_chooser_request/file_chooser.html";
8
9 class utc_blink_ewk_file_chooser_request_cancel_func
10     : public utc_blink_ewk_base {
11  protected:
12   void PostSetUp() override {
13     evas_object_smart_callback_add(GetEwkWebView(), "file,chooser,request",
14                                    OnFileChooserRequest, this);
15   }
16
17   void PreTearDown() override {
18     evas_object_smart_callback_del(GetEwkWebView(), "file,chooser,request",
19                                    OnFileChooserRequest);
20   }
21
22   void LoadFinished(Evas_Object* webview) override {
23     FeedMouseClick(15, 15, 1);
24   }
25
26   static void OnFileChooserRequest(void* data,
27                                    Evas_Object* webview,
28                                    void* arg) {
29     ASSERT_TRUE(arg != NULL);
30     ASSERT_TRUE(data != NULL);
31     auto* owner =
32         static_cast<utc_blink_ewk_file_chooser_request_cancel_func*>(data);
33     auto* request = static_cast<Ewk_File_Chooser_Request*>(arg);
34     ASSERT_TRUE(ewk_file_chooser_request_cancel(request));
35     owner->EventLoopStop(Success);
36   }
37 };
38
39 /**
40  * @brief Checking whether the function returns a valid value.
41  */
42 TEST_F(utc_blink_ewk_file_chooser_request_cancel_func, POS_TEST) {
43   ASSERT_TRUE(ewk_view_url_set(GetEwkWebView(), GetResourceUrl(kUrl).c_str()));
44   EXPECT_EQ(Success, EventLoopStart());
45 }
46
47 /**
48  * @brief Checking whether the function works properly in case of NULL request.
49  */
50 TEST_F(utc_blink_ewk_file_chooser_request_cancel_func, NEG_TEST) {
51   ASSERT_EQ(EINA_FALSE, ewk_file_chooser_request_cancel(NULL));
52 }