wscript: Implemented Host_put_Interactive.
[wine] / programs / cmd / tests / test_builtins.cmd.exp
1
2 @pwd@>echo Tests for cmd's builtin commands@space@
3 Tests for cmd's builtin commands
4
5 @pwd@>echo ------------ Testing 'echo' [ON] --------------@space@
6 ------------ Testing 'echo' [ON] --------------
7
8 @pwd@>echo word@space@
9 word
10
11 @pwd@>echo 'singlequotedword'@space@
12 'singlequotedword'
13
14 @pwd@>echo "doublequotedword"@space@
15 "doublequotedword"
16 at-echoed-word
17
18 @pwd@>echo "/?"@space@
19 "/?"
20
21 @pwd@>echo.
22
23
24 @pwd@>echo .@space@
25 .
26
27 @pwd@>echo.word
28 word
29
30 @pwd@>echo .word@space@
31 .word
32
33 @pwd@>echo:
34
35
36 @pwd@>echo :@space@
37 :
38
39 @pwd@>echo:word
40 word
41
42 @pwd@>echo :word@space@
43 :word
44
45 @pwd@>echo word@space@@space@
46 word@space@
47
48 @pwd@>echo word@space@@space@@space@
49 word@space@@space@
50
51 @todo_wine@@pwd@>echo word@space@
52 word
53
54 @pwd@>echo@tab@word@space@
55 word
56
57 @pwd@>echo@tab@word@space@@tab@@space@
58 word@space@@tab@
59
60 @pwd@>echo@tab@word@tab@@space@@space@
61 word@tab@@space@
62
63 @todo_wine@@pwd@>echo word@space@
64 word
65
66 @pwd@>echo@space@@tab@word@space@
67 @tab@word
68
69 @pwd@>echo@space@@space@@tab@word@space@
70 @space@@tab@word
71
72 @pwd@>echo@tab@@tab@word@space@
73 @tab@word
74 ------------ Testing 'echo' [OFF] --------------
75 word
76 'singlequotedword'
77 "doublequotedword"
78 at-echoed-word
79 "/?"
80
81 .
82 word
83 .word
84
85 :
86 word
87 :word
88 word@space@
89 word@space@@space@
90 word
91 word
92 word@space@@tab@
93 word@tab@@space@
94 word
95 @tab@word
96 @space@@tab@word
97 @tab@word
98 ------------ Testing redirection operators --------------
99 ...stdout redirection
100 foo
101 foo@space@
102 @todo_wine@foo1
103 @todo_wine@foo11
104 @todo_wine@foo12
105 ...stdout appending
106 foo
107 foo@space@
108 foob@space@
109 foob@space@
110 fooc@space@
111 foob@space@
112 fooc@space@
113 @todo_wine@food1
114 @todo_wine@foob@space@
115 @todo_wine@fooc@space@
116 @todo_wine@food1
117 @todo_wine@food2
118 @todo_wine@food21
119 @todo_wine@------------ Testing ^ escape character --------------
120 @todo_wine@hello, world
121 @todo_wine@hello, world
122 @todo_wine@hell^o, world
123 @todo_wine@hell^o, world
124 baz
125 @todo_wine@baz
126 @todo_wine@foo | echo bar
127 @todo_wine@foo & echo bar
128 @todo_wine@bak &
129 @todo_wine@baz@space@
130 @todo_wine@0@or_broken@1
131 @todo_wine@foo > foo
132 @todo_wine@<
133 @todo_wine@ffoof
134 @todo_wine@FOO=bar | baz
135 @todo_wine@0
136 @todo_wine@FOO=bar ^| baz
137 @todo_wine@bar | baz
138 @todo_wine@0
139 ------------ Testing 'set' --------------
140 1
141 @todo_wine@0
142 FOOBAR not defined
143 @todo_wine@  baz
144 FOOBAR =  baz
145 @todo_wine@0
146 @todo_wine@  baz2
147 @todo_wine@0
148  bar
149 @todo_wine@FOOBAR= bar
150 @todo_wine@FOOBAR =  baz2
151 FOOBAR =  baz2
152 FOOBAR not defined
153 1
154 bar
155 foobar
156 FOO not defined
157 BAZ=bazbaz
158 bazbaz
159 set "FOO=bar" should not include the quotes in the variable value
160 bar
161 @todo_wine@foo
162 @todo_wine@''
163 'foo@space@'
164 'foo@tab@'
165 ------------ Testing variable expansion --------------
166 ~dp0 should be directory containing batch file
167 @pwd@\
168 @pwd@\
169 CD value @pwd@@or_broken@CD value@space@
170 %
171 P
172 P
173 S
174 P
175 PS
176 ERRORLEVEL
177 0
178 00
179 0ERRORLEVEL
180 0
181 0%
182 P0
183 0S
184 P0S
185 ------------ Testing variable delayed expansion --------------
186 ...default mode (load-time expansion)
187 foo
188 !FOO!
189 foo
190 foo
191 ...runtime (delayed) expansion mode
192 foo
193 @todo_wine@foo@or_broken@!FOO!
194 foo
195 @todo_wine@bar@or_broken@foo
196 0
197 0@or_broken@1
198 foo
199 !FOO!
200 ...using /V cmd flag
201 foo
202 @todo_wine@foo@or_broken@!FOO!
203 foo
204 !FOO!
205 ------------ Testing conditional execution --------------
206 @todo_wine@...unconditional &
207 foo1
208 bar2@space@
209 foo2
210 @todo_wine@foobar deleted
211 @todo_wine@...on success conditional &&
212 @todo_wine@foo3 not created
213 bar4@space@
214 foo4
215 @todo_wine@...on failure conditional ||
216 @todo_wine@foo5
217 @todo_wine@foo6@space@
218 ------------ Testing cd ------------
219 singleFile
220 Current dir: @pwd@\foobar@or_broken@Current dir:@space@
221 @pwd@\foobar
222 @pwd@
223 @pwd@\foobar
224 @pwd@
225 @pwd@\foobar
226 @pwd@
227 @todo_wine@@pwd@
228 @todo_wine@@pwd@
229 @pwd@\foobar\bar bak
230 @pwd@\foobar\bar bak
231 @pwd@\foobar\bar bak
232 @pwd@
233 ------------ Testing type ------------
234
235 @pwd@>type foobaz@space@
236 bar
237
238 @pwd@>echo ***@space@
239 ***
240 bar
241 ***
242 ------------ Testing NUL ------------
243 bar
244 bar
245 bar
246 NUL
247 @todo_wine@foo created
248 ------------ Testing if/else --------------
249 if/else should work with blocks
250 if seems to work
251 else seems to work
252 @todo_wine@if seems not to detect /c as parameter
253 Testing case sensitivity with and without /i option
254 if seems to default to case sensitivity
255 if /i seems to work
256 if /I seems to work
257 -----------Testing for -----------
258 ...plain FOR
259 A
260 B
261 C
262 %I
263 %I
264 %I
265 %j
266 %j
267 %j
268 A
269 B
270 C
271 1
272 4
273 1
274 A
275 B
276 C
277 X
278 X2
279 X3
280 foo
281 M
282 X
283 M
284 N
285 O
286 ...imbricated FORs
287 @todo_wine@X Y
288 @todo_wine@X Y
289 @todo_wine@A C
290 @todo_wine@A D
291 @todo_wine@B C
292 @todo_wine@B D
293 @todo_wine@A C
294 @todo_wine@A D
295 @todo_wine@B C
296 @todo_wine@B D
297 ...basic wildcards
298 bazbaz
299 ...for /d
300 baz
301 foo
302 bar
303 ...for /L
304 1
305 3
306 5
307 1
308 3
309 5
310 0
311 2
312 1
313 -1
314 @todo_wine@ErrorLevel 0
315 @todo_wine@ErrorLevel 0
316 ...for /a
317 ......individual operations
318 0
319 @todo_wine@3
320 @todo_wine@-1
321 @todo_wine@3
322 @todo_wine@6
323 @todo_wine@10
324 @todo_wine@4
325 @todo_wine@4
326 @todo_wine@-4
327 0
328 @todo_wine@2
329 @todo_wine@2
330 @todo_wine@-2
331 @todo_wine@1
332 @todo_wine@4
333 0@or_broken@1073741824
334 0@or_broken@-1073741824
335 @todo_wine@-4
336 @todo_wine@9
337 @todo_wine@2
338 0
339 @todo_wine@-1
340 @todo_wine@-3
341 0
342 @todo_wine@1
343 @todo_wine@1
344 @todo_wine@4
345 @todo_wine@1
346 @todo_wine@5
347 @todo_wine@5
348 @todo_wine@7
349 @todo_wine@5
350 @todo_wine@5
351 @todo_wine@5
352 @todo_wine@4
353 @todo_wine@6
354 @todo_wine@1
355 ......precedence and grouping
356 @todo_wine@4
357 @todo_wine@10
358 @todo_wine@18@or_broken@10
359 @todo_wine@2@or_broken@0
360 @todo_wine@2@or_broken@0
361 0@or_broken@4
362 @todo_wine@4
363 @todo_wine@3@or_broken@4
364 ......octal and hexadecimal
365 @todo_wine@3@or_broken@4
366 @todo_wine@18
367 @todo_wine@18
368 @todo_wine@15
369 ......variables
370 @todo_wine@3
371 @todo_wine@3@or_broken@foo not defined
372 @todo_wine@3@or_broken@0
373 @todo_wine@3@or_broken@0
374 @todo_wine@3@or_broken@0
375 @todo_wine@9@or_broken@0
376 0
377 @todo_wine@4@or_broken@0
378 @todo_wine@-7@or_broken@0
379 @todo_wine@-1@or_broken@0
380 @todo_wine@5@or_broken@0
381 @todo_wine@4@or_broken@0
382 @todo_wine@1@or_broken@0
383 0
384 @todo_wine@5@or_broken@0
385
386 -----------Testing del /a-----------
387 not-r.test not found after delete, good
388 r.test found before delete, good
389 r.test not found after delete, good
390 ------------ Testing del /q --------------
391 del /q * succeeded on file1
392 del /q * succeeded on file2.dat
393 ------------ Testing del /s --------------
394 ----------- Testing mkdir -----------
395 0
396 0
397 1
398 1
399 0
400 0
401 0
402 0
403 0
404 1
405 0
406 0
407 0
408 dir created
409 0
410 mkdir ? gives errorlevel 1
411 mkdir ?\foo gives errorlevel 1
412 mkdir foo\? gives errorlevel 1
413 ok, foo created
414 mkdir foo\bar\? gives errorlevel 1
415 ok, foo\bar created
416 foo created
417 bar created
418 foobar created
419 bar\baz created
420 mkdir foo\* errorlevel 1
421 ok, foo created
422 ----------- Testing rmdir -----------
423 0
424 dir removed
425 0
426 dir removed
427 0
428 0
429 file not removed
430 0
431 non-empty dir not removed
432 0
433 non-empty dir not removed
434 recursive rmdir succeeded
435 recursive rmdir succeeded
436 foo removed
437 bar removed
438 foobar removed
439 bar\baz removed
440 ------------ Testing CALL --------------
441 foo@space@
442 @todo_wine@foo 8
443 foo@space@@space@
444 foo bar@space@
445 @todo_wine@foo ""@space@
446 @todo_wine@"" bar@space@
447 foo ''@space@
448 '' bar@space@
449 bar :testRoutine
450 foo@space@
451 foo bar
452 @todo_wine@foo ""
453 @todo_wine@"" bar
454 foo ''
455 '' bar
456 @todo_wine@0
457 @todo_wine@foo created
458 @todo_wine@Should expand foobaz
459 @todo_wine@batfile
460 @todo_wine@robinfile
461 @todo_wine@1
462 @todo_wine@1
463 non-builtin dir
464 ------------ Testing setlocal/endlocal ------------
465 ...enable/disable extensions
466 @todo_wine@ErrLev:@space@
467 ErrLev: 0
468 ErrLev: 0
469 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
470 ErrLev: 0
471 ...setlocal with corresponding endlocal
472 globalval
473 localval
474 globalval
475 globalval
476 ...setlocal with no corresponding endlocal
477 globalval
478 localval
479 @todo_wine@globalval
480 -----------Testing Errorlevel-----------
481 9009
482 1
483 errorlevel just right, good
484 abc0def@or_broken@abc1def
485 errorlevel zero, good@or_broken@errorlevel nonzero, bad
486 7 should be 7
487 7 should still be 7
488 -----------Testing GOTO-----------
489 goto with no leading space worked
490 goto with a leading space worked
491 goto with a leading tab worked
492 goto with a following space worked
493 -----------Done, jumping to EOF-----------