1# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/test.gni")
15import("../../../../windowmanager_aafwk.gni")
16module_out_path = "window_manager/extension/window_extension"
17
18group("unittest") {
19  testonly = true
20
21  deps = [
22    ":extension_window_extension_context_test",
23    ":extension_window_extension_proxy_test",
24    ":extension_window_extension_stub_impl_test",
25  ]
26}
27
28ohos_unittest("extension_window_extension_proxy_test") {
29  module_out_path = module_out_path
30
31  sources = [
32    "${window_base_path}/window_scene/test/mock/mock_message_parcel.cpp",
33    "window_extension_proxy_test.cpp",
34  ]
35
36  include_dirs = [ "${window_base_path}/window_scene/test/mock" ]
37
38  deps = [ ":window_extension_unittest_common" ]
39}
40
41ohos_unittest("extension_window_extension_stub_impl_test") {
42  module_out_path = module_out_path
43
44  sources = [ "window_extension_stub_impl_test.cpp" ]
45
46  include_dirs = [ "${window_base_path}/test/common/mock" ]
47
48  deps = [ ":window_extension_unittest_common" ]
49}
50
51ohos_unittest("extension_window_extension_context_test") {
52  module_out_path = module_out_path
53
54  sources = [ "window_extension_context_test.cpp" ]
55
56  deps = [ ":window_extension_unittest_common" ]
57
58  external_deps = [
59    "ability_base:want",
60    "ability_runtime:ability_context_native",
61    "ability_runtime:ability_manager",
62    "ability_runtime:ability_start_options",
63    "ability_runtime:app_context",
64    "ability_runtime:extensionkit_native",
65    "ability_runtime:napi_common",
66    "ability_runtime:runtime",
67    "c_utils:utils",
68    "common_event_service:cesfwk_innerkits",
69    "eventhandler:libeventhandler",
70    "graphic_2d:librender_service_client",
71    "hilog:libhilog",
72    "hitrace:hitrace_meter",
73    "input:libmmi-client",
74    "ipc:ipc_single",
75    "napi:ace_napi",
76  ]
77}
78
79## Build window_extension_unittest_common.a {{{
80config("window_extension_unittest_common_public_config") {
81  include_dirs = [
82    "../../include",
83    "../../include/zidl",
84    "../../../extension_connection/include",
85    "../../../extension_connection/include/zidl",
86    "../../../../interfaces/innerkits/extension",
87
88    "${window_base_path}/test/common/mock",
89    "${window_base_path}/dm/include",
90    "${window_base_path}/dmserver/include",
91    "${window_base_path}/wm/include",
92    "${window_base_path}/wm/include/zidl",
93    "${window_base_path}/wm/test/mock",
94    "${window_base_path}/wmserver/include",
95    "${window_base_path}/wmserver/include/window_snapshot",
96    "${window_base_path}/interfaces/innerkits/wm",
97    "${window_base_path}/utils/include",
98    "${window_base_path}/window_scene",
99    "${window_base_path}/window_scene/test/mock",
100    "${window_base_path}/window_scene/session/host/include/zidl",
101    "//third_party/googletest/googlemock/include",
102
103    # for abilityContext
104    "${ability_runtime_path}/interfaces/kits/native/ability/ability_runtime",
105    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
106    "//third_party/node/deps/icu-small/source/common",
107    "${ability_runtime_inner_api_path}/ability_manager/include",
108    "//foundation/ability/ability_base/interfaces/kits/native/configuration/include/",
109
110    # abilityContext end
111    "${accessibility_path}/interfaces/innerkits/common/include/",
112  ]
113}
114
115ohos_static_library("window_extension_unittest_common") {
116  visibility = [ ":*" ]
117  testonly = true
118
119  public_configs = [
120    ":window_extension_unittest_common_public_config",
121    "../../../../resources/config/build:coverage_flags",
122    "../../../../resources/config/build:testcase_flags",
123  ]
124
125  public_deps = [
126    # need delete it for abilitycontext
127    "${ability_runtime_inner_api_path}/ability_manager:ability_manager",
128    "${arkui_path}/ace_engine/interfaces/inner_api/ace:ace_uicontent",
129    "${arkui_path}/napi:ace_napi",
130    "${window_base_path}/dm:libdm",
131    "${window_base_path}/dmserver:libdms",
132    "${window_base_path}/utils:libwmutil",
133    "${window_base_path}/utils:libwmutil_base",
134    "${window_base_path}/window_scene/common:window_scene_common",
135    "${window_base_path}/window_scene/session:scene_session",
136    "${window_base_path}/window_scene/session_manager:scene_session_manager",
137    "${window_base_path}/wm:libwm",
138    "${window_base_path}/wm:libwm_lite",
139    "${window_base_path}/wmserver:libwms",
140    "//commonlibrary/c_utils/base:utils",
141    "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client",
142    "//foundation/multimodalinput/input/frameworks/proxy:libmmi-client",
143    "//third_party/googletest:gmock",
144    "//third_party/googletest:gtest_main",
145  ]
146
147  deps = [
148    "../..:libwindow_extension",
149    "../../../../interfaces/kits/napi/window_runtime:window_native_kit",
150    "../../../../window_scene/session:scene_session",
151    "../../../../wm:libwm",
152    "../../../extension_connection:libwindow_extension_client",
153  ]
154
155  external_deps = [
156    "ability_base:configuration",
157    "ability_base:want",
158    "ability_runtime:ability_context_native",
159    "accessibility:accessibility_common",
160    "c_utils:utils",
161    "hilog:libhilog",
162    "input:libmmi-client",
163    "ipc:ipc_single",
164  ]
165  subsystem_name = "window"
166  part_name = "window_manager"
167}
168