1# Copyright (c) 2022-2024 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("//foundation/arkui/ace_engine/test/unittest/ace_unittest.gni")
16
17config("config_svg_parse_test") {
18  visibility = [ ":*" ]
19  include_dirs = [
20    "//commonlibrary/c_utils/base/include",
21    "//foundation/graphic/graphic_2d/rosen/modules",
22    "//foundation/graphic/graphic_2d/rosen/modules/render_service_client",
23    "//foundation/graphic/graphic_2d/rosen/modules/render_service_client/core",
24    "//foundation/graphic/graphic_2d/rosen/modules/render_service_base",
25    "//foundation/graphic/graphic_2d/rosen/modules/render_service_base/include",
26    "//foundation/graphic/graphic_2d/rosen/modules/platform/image_native",
27    "//foundation/graphic/graphic_2d/rosen/modules/2d_engine",
28    "//foundation/graphic/graphic_2d/rosen/modules/2d_engine/rosen_text/export/rosen_text",
29    "//foundation/graphic/graphic_2d/rosen/modules/2d_graphics/include",
30    "//foundation/graphic/graphic_2d/rosen/modules/2d_graphics/src",
31    "//foundation/graphic/graphic_2d/rosen/modules/2d_graphics/src/drawing/engine_adapter",
32    "//foundation/graphic/graphic_2d/rosen/modules/render_service_base/include",
33    "//third_party/skia",
34    "$ace_root",
35    "$ace_root/frameworks",
36  ]
37  if (enable_graphic_text_gine) {
38    include_dirs += [ "//foundation/graphic/graphic_2d/rosen/modules/2d_engine/rosen_text/export" ]
39  } else {
40    include_dirs +=
41        [ "//foundation/graphic/graphic_2d/rosen/modules/2d_engine/rosen_text" ]
42  }
43}
44
45ohos_unittest("parse_test_ng") {
46  module_out_path = svg_test_output_path
47  sources = [
48    "$ace_root/frameworks/base/base64/base64_util.cpp",
49    "$ace_root/frameworks/bridge/common/dom/dom_type.cpp",
50    "$ace_root/frameworks/bridge/common/utils/utils.cpp",
51    "$ace_root/frameworks/bridge/js_frontend/engine/common/js_constants.cpp",
52    "$ace_root/frameworks/core/animation/svg_animate.cpp",
53    "$ace_root/frameworks/core/components/declaration/common/declaration.cpp",
54    "$ace_root/frameworks/core/components/declaration/common/declaration_constants.cpp",
55    "$ace_root/frameworks/core/components/declaration/common/event.cpp",
56    "$ace_root/frameworks/core/components/declaration/svg/svg_animate_declaration.cpp",
57    "$ace_root/frameworks/core/components/declaration/svg/svg_base_declaration.cpp",
58    "$ace_root/frameworks/core/components/declaration/svg/svg_circle_declaration.cpp",
59    "$ace_root/frameworks/core/components/declaration/svg/svg_declaration.cpp",
60    "$ace_root/frameworks/core/components/declaration/svg/svg_ellipse_declaration.cpp",
61    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_blend_declaration.cpp",
62    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_colormatrix_declaration.cpp",
63    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_component_transfer_declaration.cpp",
64    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_composite_declaration.cpp",
65    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_declaration.cpp",
66    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_flood_declaration.cpp",
67    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_func_declaration.cpp",
68    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_gaussianblur_declaration.cpp",
69    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_merge_declaration.cpp",
70    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_offset_declaration.cpp",
71    "$ace_root/frameworks/core/components/declaration/svg/svg_filter_declaration.cpp",
72    "$ace_root/frameworks/core/components/declaration/svg/svg_gradient_declaration.cpp",
73    "$ace_root/frameworks/core/components/declaration/svg/svg_image_declaration.cpp",
74    "$ace_root/frameworks/core/components/declaration/svg/svg_line_declaration.cpp",
75    "$ace_root/frameworks/core/components/declaration/svg/svg_mask_declaration.cpp",
76    "$ace_root/frameworks/core/components/declaration/svg/svg_path_declaration.cpp",
77    "$ace_root/frameworks/core/components/declaration/svg/svg_pattern_declaration.cpp",
78    "$ace_root/frameworks/core/components/declaration/svg/svg_polygon_declaration.cpp",
79    "$ace_root/frameworks/core/components/declaration/svg/svg_rect_declaration.cpp",
80    "$ace_root/frameworks/core/components/declaration/svg/svg_stop_declaration.cpp",
81    "$ace_root/frameworks/core/components/declaration/svg/svg_text_declaration.cpp",
82    "$ace_root/frameworks/core/components/declaration/svg/svg_text_path_declaration.cpp",
83    "$ace_root/frameworks/core/components/svg/svg_transform.cpp",
84    "$ace_root/frameworks/core/components_ng/pattern/overlay/sheet_manager.cpp",
85    "$ace_root/frameworks/core/components_ng/svg/parse/svg_animation.cpp",
86    "$ace_root/frameworks/core/components_ng/svg/parse/svg_attributes_parser.cpp",
87    "$ace_root/frameworks/core/components_ng/svg/parse/svg_circle.cpp",
88    "$ace_root/frameworks/core/components_ng/svg/parse/svg_clip_path.cpp",
89    "$ace_root/frameworks/core/components_ng/svg/parse/svg_ellipse.cpp",
90    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe.cpp",
91    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_blend.cpp",
92    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_color_matrix.cpp",
93    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_composite.cpp",
94    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_flood.cpp",
95    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_gaussian_blur.cpp",
96    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_offset.cpp",
97    "$ace_root/frameworks/core/components_ng/svg/parse/svg_filter.cpp",
98    "$ace_root/frameworks/core/components_ng/svg/parse/svg_g.cpp",
99    "$ace_root/frameworks/core/components_ng/svg/parse/svg_gradient.cpp",
100    "$ace_root/frameworks/core/components_ng/svg/parse/svg_graphic.cpp",
101    "$ace_root/frameworks/core/components_ng/svg/parse/svg_image.cpp",
102    "$ace_root/frameworks/core/components_ng/svg/parse/svg_line.cpp",
103    "$ace_root/frameworks/core/components_ng/svg/parse/svg_mask.cpp",
104    "$ace_root/frameworks/core/components_ng/svg/parse/svg_node.cpp",
105    "$ace_root/frameworks/core/components_ng/svg/parse/svg_path.cpp",
106    "$ace_root/frameworks/core/components_ng/svg/parse/svg_pattern.cpp",
107    "$ace_root/frameworks/core/components_ng/svg/parse/svg_polygon.cpp",
108    "$ace_root/frameworks/core/components_ng/svg/parse/svg_rect.cpp",
109    "$ace_root/frameworks/core/components_ng/svg/parse/svg_stop.cpp",
110    "$ace_root/frameworks/core/components_ng/svg/parse/svg_style.cpp",
111    "$ace_root/frameworks/core/components_ng/svg/parse/svg_svg.cpp",
112    "$ace_root/frameworks/core/components_ng/svg/parse/svg_use.cpp",
113    "$ace_root/frameworks/core/components_ng/svg/svg_context.cpp",
114    "$ace_root/frameworks/core/components_ng/svg/svg_dom.cpp",
115    "$ace_root/test/mock/adapter/mock_drawing_color_filter_ohos.cpp",
116    "$ace_root/test/mock/core/svg/mock_image_painter_utils.cpp",
117    "$ace_root/test/mock/core/svg/mock_rosen_svg_painter.cpp",
118    "$ace_root/test/mock/core/svg/mock_shared_transition_effect.cpp",
119    "$ace_root/test/mock/core/svg/mock_svg_fit_convertor.cpp",
120    "$ace_root/test/mock/core/svg/mock_svg_utils.cpp",
121    "parse_test_ng.cpp",
122    "parse_testtwo_ng.cpp",
123  ]
124  defines = [ "USE_ROSEN_DRAWING" ]
125  if (ace_use_rosen_drawing) {
126    defines += [
127      "ACE_ENABLE_GPU",
128      "NEW_SKIA",
129    ]
130    include_dirs = [ "//third_party/skia" ]
131  }
132
133  configs = [
134    ":config_svg_parse_test",
135    "$ace_root/test/unittest:ace_unittest_config",
136  ]
137
138  external_deps = [
139    "bounds_checking_function:libsec_static",
140    "eventhandler:libeventhandler",
141    "graphic_2d:librender_service_base",
142    "graphic_2d:librender_service_client",
143    "graphic_2d:rosen_text",
144  ]
145
146  deps = [
147    "$ace_root/test/unittest:ace_base",
148    "$ace_root/test/unittest:ace_components_base",
149    "$ace_root/test/unittest:ace_components_mock",
150    "$ace_root/test/unittest:ace_components_render",
151    "$ace_root/test/unittest:ace_core_animation",
152    "$ace_root/test/unittest:ace_core_extra",
153    "//third_party/googletest:gmock",
154    "//third_party/googletest:gtest_main",
155  ]
156
157  if (ability_runtime_graphics) {
158    external_deps += [
159      "ability_runtime:runtime",
160      "image_framework:image_native",
161      "window_manager:libdm",
162    ]
163  }
164}
165
166ohos_unittest("svg_dom_test_ng") {
167  module_out_path = svg_test_output_path
168
169  sources = [
170    "$ace_root/frameworks/bridge/common/dom/dom_type.cpp",
171    "$ace_root/frameworks/bridge/common/utils/utils.cpp",
172    "$ace_root/frameworks/bridge/js_frontend/engine/common/js_constants.cpp",
173    "$ace_root/frameworks/core/animation/svg_animate.cpp",
174    "$ace_root/frameworks/core/components/declaration/common/declaration.cpp",
175    "$ace_root/frameworks/core/components/declaration/common/declaration_constants.cpp",
176    "$ace_root/frameworks/core/components/declaration/common/event.cpp",
177    "$ace_root/frameworks/core/components/declaration/svg/svg_animate_declaration.cpp",
178    "$ace_root/frameworks/core/components/declaration/svg/svg_base_declaration.cpp",
179    "$ace_root/frameworks/core/components/declaration/svg/svg_circle_declaration.cpp",
180    "$ace_root/frameworks/core/components/declaration/svg/svg_declaration.cpp",
181    "$ace_root/frameworks/core/components/declaration/svg/svg_ellipse_declaration.cpp",
182    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_blend_declaration.cpp",
183    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_colormatrix_declaration.cpp",
184    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_component_transfer_declaration.cpp",
185    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_composite_declaration.cpp",
186    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_declaration.cpp",
187    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_flood_declaration.cpp",
188    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_func_declaration.cpp",
189    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_gaussianblur_declaration.cpp",
190    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_merge_declaration.cpp",
191    "$ace_root/frameworks/core/components/declaration/svg/svg_fe_offset_declaration.cpp",
192    "$ace_root/frameworks/core/components/declaration/svg/svg_filter_declaration.cpp",
193    "$ace_root/frameworks/core/components/declaration/svg/svg_gradient_declaration.cpp",
194    "$ace_root/frameworks/core/components/declaration/svg/svg_image_declaration.cpp",
195    "$ace_root/frameworks/core/components/declaration/svg/svg_line_declaration.cpp",
196    "$ace_root/frameworks/core/components/declaration/svg/svg_mask_declaration.cpp",
197    "$ace_root/frameworks/core/components/declaration/svg/svg_path_declaration.cpp",
198    "$ace_root/frameworks/core/components/declaration/svg/svg_pattern_declaration.cpp",
199    "$ace_root/frameworks/core/components/declaration/svg/svg_polygon_declaration.cpp",
200    "$ace_root/frameworks/core/components/declaration/svg/svg_rect_declaration.cpp",
201    "$ace_root/frameworks/core/components/declaration/svg/svg_stop_declaration.cpp",
202    "$ace_root/frameworks/core/components/declaration/svg/svg_text_declaration.cpp",
203    "$ace_root/frameworks/core/components/declaration/svg/svg_text_path_declaration.cpp",
204    "$ace_root/frameworks/core/components/svg/svg_transform.cpp",
205    "$ace_root/frameworks/core/components_ng/pattern/overlay/sheet_manager.cpp",
206    "$ace_root/frameworks/core/components_ng/svg/parse/svg_animation.cpp",
207    "$ace_root/frameworks/core/components_ng/svg/parse/svg_attributes_parser.cpp",
208    "$ace_root/frameworks/core/components_ng/svg/parse/svg_circle.cpp",
209    "$ace_root/frameworks/core/components_ng/svg/parse/svg_clip_path.cpp",
210    "$ace_root/frameworks/core/components_ng/svg/parse/svg_ellipse.cpp",
211    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe.cpp",
212    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_blend.cpp",
213    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_color_matrix.cpp",
214    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_composite.cpp",
215    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_flood.cpp",
216    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_gaussian_blur.cpp",
217    "$ace_root/frameworks/core/components_ng/svg/parse/svg_fe_offset.cpp",
218    "$ace_root/frameworks/core/components_ng/svg/parse/svg_filter.cpp",
219    "$ace_root/frameworks/core/components_ng/svg/parse/svg_g.cpp",
220    "$ace_root/frameworks/core/components_ng/svg/parse/svg_gradient.cpp",
221    "$ace_root/frameworks/core/components_ng/svg/parse/svg_graphic.cpp",
222    "$ace_root/frameworks/core/components_ng/svg/parse/svg_image.cpp",
223    "$ace_root/frameworks/core/components_ng/svg/parse/svg_line.cpp",
224    "$ace_root/frameworks/core/components_ng/svg/parse/svg_mask.cpp",
225    "$ace_root/frameworks/core/components_ng/svg/parse/svg_node.cpp",
226    "$ace_root/frameworks/core/components_ng/svg/parse/svg_path.cpp",
227    "$ace_root/frameworks/core/components_ng/svg/parse/svg_pattern.cpp",
228    "$ace_root/frameworks/core/components_ng/svg/parse/svg_polygon.cpp",
229    "$ace_root/frameworks/core/components_ng/svg/parse/svg_rect.cpp",
230    "$ace_root/frameworks/core/components_ng/svg/parse/svg_stop.cpp",
231    "$ace_root/frameworks/core/components_ng/svg/parse/svg_style.cpp",
232    "$ace_root/frameworks/core/components_ng/svg/parse/svg_svg.cpp",
233    "$ace_root/frameworks/core/components_ng/svg/parse/svg_use.cpp",
234    "$ace_root/frameworks/core/components_ng/svg/svg_context.cpp",
235    "$ace_root/frameworks/core/components_ng/svg/svg_dom.cpp",
236    "$ace_root/frameworks/core/components_ng/svg/svg_utils.cpp",
237    "$ace_root/test/mock/adapter/mock_drawing_color_filter_ohos.cpp",
238    "$ace_root/test/mock/core/svg/mock_image_painter_utils.cpp",
239    "$ace_root/test/mock/core/svg/mock_rosen_svg_painter.cpp",
240    "$ace_root/test/mock/core/svg/mock_shared_transition_effect.cpp",
241    "$ace_root/test/mock/core/svg/mock_svg_fit_convertor.cpp",
242    "svg_dom_test_ng.cpp",
243  ]
244
245  defines = [ "USE_ROSEN_DRAWING" ]
246
247  configs = [
248    ":config_svg_parse_test",
249    "$ace_root/test/unittest:ace_unittest_config",
250  ]
251
252  external_deps = [
253    "bounds_checking_function:libsec_static",
254    "eventhandler:libeventhandler",
255    "graphic_2d:librender_service_base",
256    "graphic_2d:librender_service_client",
257    "graphic_2d:rosen_text",
258  ]
259
260  deps = [
261    "$ace_root/test/unittest:ace_base",
262    "$ace_root/test/unittest:ace_components_base",
263    "$ace_root/test/unittest:ace_components_mock",
264    "$ace_root/test/unittest:ace_components_render",
265    "$ace_root/test/unittest:ace_core_animation",
266    "$ace_root/test/unittest:ace_core_extra",
267    "//third_party/googletest:gmock",
268    "//third_party/googletest:gtest_main",
269  ]
270}
271
272group("core_svg_unittest") {
273  testonly = true
274  deps = [
275    ":parse_test_ng",
276    ":svg_dom_test_ng",
277  ]
278}
279