4 'arabic-fallback-shaping.tests',
5 'arabic-feature-order.tests',
6 'arabic-like-joining.tests',
7 'arabic-mark-attach.tests',
8 'arabic-mark-order.tests',
10 'automatic-fractions.tests',
14 'context-matching.tests',
15 'cursive-positioning.tests',
16 'default-ignorables.tests',
18 'fallback-positioning.tests',
21 'indic-consonant-with-stacker.tests',
22 'indic-decompose.tests',
24 'indic-joiner-candrabindu.tests',
25 'indic-joiners.tests',
26 'indic-old-spec.tests',
27 'indic-pref-blocking.tests',
28 'indic-script-extensions.tests',
29 'indic-special-cases.tests',
30 'indic-syllable.tests',
31 'indic-vowel-letter-spoofing.tests',
33 'khmer-mark-order.tests',
35 'language-tags.tests',
38 'mark-attachment.tests',
39 'mark-filtering-sets.tests',
40 'mongolian-variation-selector.tests',
41 'myanmar-syllable.tests',
42 'myanmar-zawgyi.tests',
43 'none-directional.tests',
44 'positioning-features.tests',
50 'tibetan-contractions-1.tests',
51 'tibetan-contractions-2.tests',
52 'tibetan-vowels.tests',
57 'variations-rvrn.tests',
59 'zero-width-marks.tests',
63 'classdef1_empty.tests',
64 'classdef1_multiple.tests',
65 'classdef1_single.tests',
67 'classdef2_empty.tests',
68 'classdef2_multiple.tests',
69 'classdef2_single.tests',
71 'gpos_chaining1_boundary.tests',
72 'gpos_chaining1_lookupflag.tests',
73 'gpos_chaining1_multiple_subrules.tests',
74 'gpos_chaining1_next_glyph.tests',
75 'gpos_chaining1_simple.tests',
76 'gpos_chaining1_successive.tests',
77 'gpos_chaining2_boundary.tests',
78 'gpos_chaining2_lookupflag.tests',
79 'gpos_chaining2_multiple_subrules.tests',
80 'gpos_chaining2_next_glyph.tests',
81 'gpos_chaining2_simple.tests',
82 'gpos_chaining2_successive.tests',
83 'gpos_chaining3_boundary.tests',
84 'gpos_chaining3_lookupflag.tests',
85 'gpos_chaining3_next_glyph.tests',
86 'gpos_chaining3_simple.tests',
87 'gpos_chaining3_successive.tests',
88 'gpos_context1_boundary.tests',
89 'gpos_context1_expansion.tests',
90 'gpos_context1_lookupflag.tests',
91 'gpos_context1_multiple_subrules.tests',
92 'gpos_context1_next_glyph.tests',
93 'gpos_context1_simple.tests',
94 'gpos_context1_successive.tests',
95 'gpos_context2_boundary.tests',
96 'gpos_context2_classes.tests',
97 'gpos_context2_expansion.tests',
98 'gpos_context2_lookupflag.tests',
99 'gpos_context2_multiple_subrules.tests',
100 'gpos_context2_next_glyph.tests',
101 'gpos_context2_simple.tests',
102 'gpos_context2_successive.tests',
103 'gpos_context3_boundary.tests',
104 'gpos_context3_lookupflag.tests',
105 'gpos_context3_next_glyph.tests',
106 'gpos_context3_simple.tests',
107 'gpos_context3_successive.tests',
108 'gpos1_1_lookupflag.tests',
109 'gpos1_1_simple.tests',
110 'gpos1_2_lookupflag.tests',
112 'gpos2_1_lookupflag.tests',
113 'gpos2_1_next_glyph.tests',
114 'gpos2_1_simple.tests',
117 'gpos3_lookupflag.tests',
119 'gpos4_lookupflag.tests',
120 'gpos4_multiple_anchors.tests',
121 'gpos4_simple.tests',
126 'gsub_chaining1_boundary.tests',
127 'gsub_chaining1_lookupflag.tests',
128 'gsub_chaining1_multiple_subrules.tests',
129 'gsub_chaining1_next_glyph.tests',
130 'gsub_chaining1_simple.tests',
131 'gsub_chaining1_successive.tests',
132 'gsub_chaining2_boundary.tests',
133 'gsub_chaining2_lookupflag.tests',
134 'gsub_chaining2_multiple_subrules.tests',
135 'gsub_chaining2_next_glyph.tests',
136 'gsub_chaining2_simple.tests',
137 'gsub_chaining2_successive.tests',
138 'gsub_chaining3_boundary.tests',
139 'gsub_chaining3_lookupflag.tests',
140 'gsub_chaining3_next_glyph.tests',
141 'gsub_chaining3_simple.tests',
142 'gsub_chaining3_successive.tests',
143 'gsub_context1_boundary.tests',
144 'gsub_context1_expansion.tests',
145 'gsub_context1_lookupflag.tests',
146 'gsub_context1_multiple_subrules.tests',
147 'gsub_context1_next_glyph.tests',
148 'gsub_context1_simple.tests',
149 'gsub_context1_successive.tests',
150 'gsub_context2_boundary.tests',
151 'gsub_context2_classes.tests',
152 'gsub_context2_expansion.tests',
153 'gsub_context2_lookupflag.tests',
154 'gsub_context2_multiple_subrules.tests',
155 'gsub_context2_next_glyph.tests',
156 'gsub_context2_simple.tests',
157 'gsub_context2_successive.tests',
158 'gsub_context3_boundary.tests',
159 'gsub_context3_lookupflag.tests',
160 'gsub_context3_next_glyph.tests',
161 'gsub_context3_simple.tests',
162 'gsub_context3_successive.tests',
163 'gsub1_1_lookupflag.tests',
164 'gsub1_1_modulo.tests',
165 'gsub1_1_simple.tests',
166 'gsub1_2_lookupflag.tests',
167 'gsub1_2_simple.tests',
168 'gsub2_1_lookupflag.tests',
169 'gsub2_1_multiple_sequences.tests',
170 'gsub2_1_simple.tests',
171 'gsub3_1_lookupflag.tests',
172 'gsub3_1_multiple.tests',
173 'gsub3_1_simple.tests',
174 'gsub4_1_lookupflag.tests',
175 'gsub4_1_multiple_ligatures.tests',
176 'gsub4_1_multiple_ligsets.tests',
177 'gsub4_1_simple.tests',
179 'lookupflag_ignore_attach.tests',
180 'lookupflag_ignore_base.tests',
181 'lookupflag_ignore_combination.tests',
182 'lookupflag_ignore_ligatures.tests',
183 'lookupflag_ignore_marks.tests',
186 # to import text_rendering_tests from data/text-rendering-tests/meson.build
187 subdir('data/text-rendering-tests')
189 shaping_run_tests_py = find_program('run-tests.py')
191 foreach file_name : in_house_tests
192 test_name = file_name.split('.')[0].underscorify()
194 test(test_name, shaping_run_tests_py,
197 meson.current_source_dir() / 'data' / 'in-house' / 'tests' / file_name,
199 workdir: meson.current_build_dir() / '..' / '..',
200 suite: ['shaping', 'in-house'],
204 foreach file_name : aots_tests
205 test_name = file_name.split('.')[0].underscorify()
207 test(test_name, shaping_run_tests_py,
210 meson.current_source_dir() / 'data' / 'aots' / 'tests' / file_name,
212 workdir: meson.current_build_dir() / '..' / '..',
213 suite: ['shaping', 'aots'],
217 foreach file_name : text_rendering_tests
218 test_name = file_name.split('.')[0].underscorify()
220 test(test_name, shaping_run_tests_py,
223 meson.current_source_dir() / 'data' / 'text-rendering-tests' / 'tests' / file_name,
225 workdir: meson.current_build_dir() / '..' / '..',
226 suite: ['shaping', 'text-rendering-tests'],