2 * PROJECT: ReactOS kernel-mode tests
3 * LICENSE: LGPLv2+ - See COPYING.LIB in the top level directory
4 * PURPOSE: Kernel-Mode Test Suite FsRtl Test
5 * PROGRAMMER: Pierre Schweitzer <pierre.schweitzer@reactos.org>
8 /* TODO: most of these calls fail the Windows checked build's !islower assertion and others */
15 static VOID
FsRtlIsNameInExpressionTest()
17 UNICODE_STRING Expression
, Name
;
19 /* !Name->Length || !Expression->Length asserts */
20 if (!KmtIsCheckedBuild
)
22 RtlInitUnicodeString(&Expression
, L
"*");
23 RtlInitUnicodeString(&Name
, L
"");
24 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
25 RtlInitUnicodeString(&Expression
, L
"");
26 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
29 RtlInitUnicodeString(&Expression
, L
"ntdll.dll");
30 RtlInitUnicodeString(&Name
, L
".");
31 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
32 RtlInitUnicodeString(&Name
, L
"~1");
33 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
34 RtlInitUnicodeString(&Name
, L
"..");
35 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
36 RtlInitUnicodeString(&Name
, L
"ntdll.dll");
37 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
39 RtlInitUnicodeString(&Expression
, L
"smss.exe");
40 RtlInitUnicodeString(&Name
, L
".");
41 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
42 RtlInitUnicodeString(&Name
, L
"~1");
43 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
44 RtlInitUnicodeString(&Name
, L
"..");
45 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
46 RtlInitUnicodeString(&Name
, L
"ntdll.dll");
47 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
48 RtlInitUnicodeString(&Name
, L
"NTDLL.dll");
49 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
51 RtlInitUnicodeString(&Expression
, L
"nt??krnl.???");
52 RtlInitUnicodeString(&Name
, L
"ntoskrnl.exe");
53 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
55 RtlInitUnicodeString(&Expression
, L
"he*o");
56 RtlInitUnicodeString(&Name
, L
"hello");
57 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
58 RtlInitUnicodeString(&Name
, L
"helo");
59 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
60 RtlInitUnicodeString(&Name
, L
"hella");
61 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
63 RtlInitUnicodeString(&Expression
, L
"he*");
64 RtlInitUnicodeString(&Name
, L
"hello");
65 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
66 RtlInitUnicodeString(&Name
, L
"helo");
67 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
68 RtlInitUnicodeString(&Name
, L
"hella");
69 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
71 RtlInitUnicodeString(&Expression
, L
"*.cpl");
72 RtlInitUnicodeString(&Name
, L
"kdcom.dll");
73 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
74 RtlInitUnicodeString(&Name
, L
"bootvid.dll");
75 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
76 RtlInitUnicodeString(&Name
, L
"ntoskrnl.exe");
77 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
79 RtlInitUnicodeString(&Expression
, L
".");
80 RtlInitUnicodeString(&Name
, L
"NTDLL.DLL");
81 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
83 RtlInitUnicodeString(&Expression
, L
"F0_*.*");
84 RtlInitUnicodeString(&Name
, L
".");
85 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
86 RtlInitUnicodeString(&Name
, L
"..");
87 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
88 RtlInitUnicodeString(&Name
, L
"SETUP.EXE");
89 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
90 RtlInitUnicodeString(&Name
, L
"F0_001");
91 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
93 RtlInitUnicodeString(&Expression
, L
"*.TTF");
94 RtlInitUnicodeString(&Name
, L
".");
95 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
96 RtlInitUnicodeString(&Name
, L
"..");
97 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
98 RtlInitUnicodeString(&Name
, L
"SETUP.INI");
99 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
101 RtlInitUnicodeString(&Expression
, L
"*");
102 RtlInitUnicodeString(&Name
, L
".");
103 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
104 RtlInitUnicodeString(&Name
, L
"..");
105 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
106 RtlInitUnicodeString(&Name
, L
"SETUP.INI");
107 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
109 RtlInitUnicodeString(&Expression
, L
"\"ntoskrnl.exe");
110 RtlInitUnicodeString(&Name
, L
"ntoskrnl.exe");
111 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
112 RtlInitUnicodeString(&Expression
, L
"ntoskrnl\"exe");
113 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
114 RtlInitUnicodeString(&Expression
, L
"ntoskrn\".exe");
115 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
116 RtlInitUnicodeString(&Expression
, L
"ntoskrn\"\"exe");
117 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
118 RtlInitUnicodeString(&Expression
, L
"ntoskrnl.\"exe");
119 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
120 RtlInitUnicodeString(&Expression
, L
"ntoskrnl.exe\"");
121 RtlInitUnicodeString(&Name
, L
"ntoskrnl.exe");
122 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
123 RtlInitUnicodeString(&Name
, L
"ntoskrnl.exe.");
124 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
126 RtlInitUnicodeString(&Expression
, L
"*.c.d");
127 RtlInitUnicodeString(&Name
, L
"a.b.c.d");
128 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
129 RtlInitUnicodeString(&Expression
, L
"*.?.c.d");
130 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
131 RtlInitUnicodeString(&Expression
, L
"*?");
132 if (!KmtIsCheckedBuild
)
134 RtlInitUnicodeString(&Name
, L
"");
135 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
137 RtlInitUnicodeString(&Name
, L
"a");
138 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
139 RtlInitUnicodeString(&Name
, L
"aa");
140 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
141 RtlInitUnicodeString(&Name
, L
"aaa");
142 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
143 RtlInitUnicodeString(&Expression
, L
"?*?");
144 if (!KmtIsCheckedBuild
)
146 RtlInitUnicodeString(&Name
, L
"");
147 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
149 RtlInitUnicodeString(&Name
, L
"a");
150 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
151 RtlInitUnicodeString(&Name
, L
"aa");
152 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
153 RtlInitUnicodeString(&Name
, L
"aaa");
154 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
155 RtlInitUnicodeString(&Name
, L
"aaaa");
156 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
158 /* Tests from #5923 */
159 RtlInitUnicodeString(&Expression
, L
"C:\\ReactOS\\**");
160 RtlInitUnicodeString(&Name
, L
"C:\\ReactOS\\dings.bmp");
161 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
162 RtlInitUnicodeString(&Expression
, L
"C:\\ReactOS\\***");
163 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == TRUE
, "expected TRUE, got FALSE");
164 RtlInitUnicodeString(&Expression
, L
"C:\\Windows\\*a*");
165 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
167 RtlInitUnicodeString(&Expression
, L
"C:\\ReactOS\\*.bmp");
168 RtlInitUnicodeString(&Name
, L
"C:\\Windows\\explorer.exe");
169 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
170 RtlInitUnicodeString(&Expression
, L
"*.bmp;*.dib");
171 RtlInitUnicodeString(&Name
, L
"winhlp32.exe");
172 ok(FsRtlIsNameInExpression(&Expression
, &Name
, FALSE
, NULL
) == FALSE
, "expected FALSE, got TRUE");
175 static VOID
FsRtlIsDbcsInExpressionTest()
177 ANSI_STRING Expression
, Name
;
179 if (!KmtIsCheckedBuild
)
181 RtlInitAnsiString(&Expression
, "*");
182 RtlInitAnsiString(&Name
, "");
183 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
184 RtlInitAnsiString(&Expression
, "");
185 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
188 RtlInitAnsiString(&Expression
, "ntdll.dll");
189 RtlInitAnsiString(&Name
, ".");
190 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
191 RtlInitAnsiString(&Name
, "~1");
192 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
193 RtlInitAnsiString(&Name
, "..");
194 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
195 RtlInitAnsiString(&Name
, "ntdll.dll");
196 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
198 RtlInitAnsiString(&Expression
, "smss.exe");
199 RtlInitAnsiString(&Name
, ".");
200 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
201 RtlInitAnsiString(&Name
, "~1");
202 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
203 RtlInitAnsiString(&Name
, "..");
204 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
205 RtlInitAnsiString(&Name
, "ntdll.dll");
206 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
207 RtlInitAnsiString(&Name
, "NTDLL.dll");
208 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
210 RtlInitAnsiString(&Expression
, "nt??krnl.???");
211 RtlInitAnsiString(&Name
, "ntoskrnl.exe");
212 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
214 RtlInitAnsiString(&Expression
, "he*o");
215 RtlInitAnsiString(&Name
, "hello");
216 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
217 RtlInitAnsiString(&Name
, "helo");
218 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
219 RtlInitAnsiString(&Name
, "hella");
220 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
222 RtlInitAnsiString(&Expression
, "he*");
223 RtlInitAnsiString(&Name
, "hello");
224 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
225 RtlInitAnsiString(&Name
, "helo");
226 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
227 RtlInitAnsiString(&Name
, "hella");
228 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
230 RtlInitAnsiString(&Expression
, "*.cpl");
231 RtlInitAnsiString(&Name
, "kdcom.dll");
232 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
233 RtlInitAnsiString(&Name
, "bootvid.dll");
234 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
235 RtlInitAnsiString(&Name
, "ntoskrnl.exe");
236 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
238 RtlInitAnsiString(&Expression
, ".");
239 RtlInitAnsiString(&Name
, "NTDLL.DLL");
240 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
242 RtlInitAnsiString(&Expression
, "F0_*.*");
243 RtlInitAnsiString(&Name
, ".");
244 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
245 RtlInitAnsiString(&Name
, "..");
246 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
247 RtlInitAnsiString(&Name
, "SETUP.EXE");
248 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
249 RtlInitAnsiString(&Name
, "F0_001");
250 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
252 RtlInitAnsiString(&Expression
, "*.TTF");
253 RtlInitAnsiString(&Name
, ".");
254 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
255 RtlInitAnsiString(&Name
, "..");
256 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
257 RtlInitAnsiString(&Name
, "SETUP.INI");
258 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
260 RtlInitAnsiString(&Expression
, "*");
261 RtlInitAnsiString(&Name
, ".");
262 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
263 RtlInitAnsiString(&Name
, "..");
264 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
265 RtlInitAnsiString(&Name
, "SETUP.INI");
266 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
268 RtlInitAnsiString(&Expression
, "\"ntoskrnl.exe");
269 RtlInitAnsiString(&Name
, "ntoskrnl.exe");
270 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
271 RtlInitAnsiString(&Expression
, "ntoskrnl\"exe");
272 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
273 RtlInitAnsiString(&Expression
, "ntoskrn\".exe");
274 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
275 RtlInitAnsiString(&Expression
, "ntoskrn\"\"exe");
276 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
277 RtlInitAnsiString(&Expression
, "ntoskrnl.\"exe");
278 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
279 RtlInitAnsiString(&Expression
, "ntoskrnl.exe\"");
280 RtlInitAnsiString(&Name
, "ntoskrnl.exe");
281 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
282 RtlInitAnsiString(&Name
, "ntoskrnl.exe.");
283 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
285 RtlInitAnsiString(&Expression
, "*.c.d");
286 RtlInitAnsiString(&Name
, "a.b.c.d");
287 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
288 RtlInitAnsiString(&Expression
, "*.?.c.d");
289 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
290 RtlInitAnsiString(&Expression
, "*?");
291 if (!KmtIsCheckedBuild
)
293 RtlInitAnsiString(&Name
, "");
294 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
296 RtlInitAnsiString(&Name
, "a");
297 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
298 RtlInitAnsiString(&Name
, "aa");
299 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
300 RtlInitAnsiString(&Name
, "aaa");
301 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
302 RtlInitAnsiString(&Expression
, "?*?");
303 if (!KmtIsCheckedBuild
)
305 RtlInitAnsiString(&Name
, "");
306 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
308 RtlInitAnsiString(&Name
, "a");
309 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
310 RtlInitAnsiString(&Name
, "aa");
311 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
312 RtlInitAnsiString(&Name
, "aaa");
313 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
314 RtlInitAnsiString(&Name
, "aaaa");
315 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
317 /* Tests from #5923 */
318 RtlInitAnsiString(&Expression
, "C:\\ReactOS\\**");
319 RtlInitAnsiString(&Name
, "C:\\ReactOS\\dings.bmp");
320 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
321 RtlInitAnsiString(&Expression
, "C:\\ReactOS\\***");
322 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == TRUE
, "expected TRUE, got FALSE");
323 RtlInitAnsiString(&Expression
, "C:\\Windows\\*a*");
324 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
326 RtlInitAnsiString(&Expression
, "C:\\ReactOS\\*.bmp");
327 RtlInitAnsiString(&Name
, "C:\\Windows\\explorer.exe");
328 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
329 RtlInitAnsiString(&Expression
, "*.bmp;*.dib");
330 RtlInitAnsiString(&Name
, "winhlp32.exe");
331 ok(FsRtlIsDbcsInExpression(&Expression
, &Name
) == FALSE
, "expected FALSE, got TRUE");
334 START_TEST(FsRtlExpression
)
336 FsRtlIsNameInExpressionTest();
337 FsRtlIsDbcsInExpressionTest();