cmd: Partial fix for echo's special ':' handling.
[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 @todo_wine@@pwd@>echo.
22
23
24 @pwd@>echo .@space@
25 .
26
27 @todo_wine@@pwd@>echo.word
28 word
29
30 @pwd@>echo .word@space@
31 .word
32
33 @todo_wine@@pwd@>echo:
34
35
36 @pwd@>echo :@space@
37 :
38
39 @todo_wine@@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 ------------ Testing 'echo' [OFF] --------------
51 word
52 'singlequotedword'
53 "doublequotedword"
54 at-echoed-word
55 "/?"
56
57 .
58 word
59 .word
60
61 :
62 word
63 :word
64 word@space@
65 word@space@@space@
66 ------------ Testing redirection operators --------------
67 ...stdout redirection
68 foo
69 foo@space@
70 @todo_wine@foo1
71 @todo_wine@foo11
72 @todo_wine@foo12
73 ...stdout appending
74 foo
75 foo@space@
76 foob@space@
77 foob@space@
78 fooc@space@
79 foob@space@
80 fooc@space@
81 @todo_wine@food1
82 @todo_wine@foob@space@
83 @todo_wine@fooc@space@
84 @todo_wine@food1
85 @todo_wine@food2
86 @todo_wine@food21
87 @todo_wine@------------ Testing ^ escape character --------------
88 @todo_wine@hello, world
89 @todo_wine@hello, world
90 @todo_wine@hell^o, world
91 @todo_wine@hell^o, world
92 baz
93 @todo_wine@baz
94 @todo_wine@foo | echo bar
95 @todo_wine@foo & echo bar
96 @todo_wine@bak &
97 @todo_wine@baz@space@
98 @todo_wine@0@or_broken@1
99 @todo_wine@foo > foo
100 @todo_wine@<
101 @todo_wine@ffoof
102 @todo_wine@FOO=bar | baz
103 @todo_wine@0
104 @todo_wine@FOO=bar ^| baz
105 @todo_wine@bar | baz
106 @todo_wine@0
107 ------------ Testing 'set' --------------
108 1
109 @todo_wine@0
110 FOOBAR not defined
111 @todo_wine@  baz
112 FOOBAR =  baz
113 @todo_wine@0
114 @todo_wine@  baz2
115 @todo_wine@0
116  bar
117 @todo_wine@FOOBAR= bar
118 @todo_wine@FOOBAR =  baz2
119 FOOBAR =  baz2
120 FOOBAR not defined
121 1
122 bar
123 foobar
124 FOO not defined
125 BAZ=bazbaz
126 bazbaz
127 set "FOO=bar" should not include the quotes in the variable value
128 bar
129 ------------ Testing variable expansion --------------
130 ~dp0 should be directory containing batch file
131 @pwd@\
132 @pwd@\
133 CD value @pwd@@or_broken@CD value@space@
134 %
135 P
136 P
137 S
138 P
139 PS
140 ERRORLEVEL
141 0
142 00
143 0ERRORLEVEL
144 0
145 0%
146 P0
147 0S
148 P0S
149 ------------ Testing conditional execution --------------
150 @todo_wine@...unconditional &
151 foo1
152 bar2@space@
153 foo2
154 @todo_wine@foobar deleted
155 @todo_wine@...on success conditional &&
156 @todo_wine@foo3 not created
157 bar4@space@
158 foo4
159 @todo_wine@...on failure conditional ||
160 @todo_wine@foo5
161 @todo_wine@foo6@space@
162 ------------ Testing type ------------
163
164 @pwd@>type foobaz@space@
165 bar
166
167 @pwd@>echo ***@space@
168 ***
169 bar
170 ***
171 ------------ Testing NUL ------------
172 bar
173 bar
174 bar
175 NUL
176 @todo_wine@foo created
177 ------------ Testing if/else --------------
178 if/else should work with blocks
179 if seems to work
180 else seems to work
181 @todo_wine@if seems not to detect /c as parameter
182 Testing case sensitivity with and without /i option
183 if seems to default to case sensitivity
184 if /i seems to work
185 if /I seems to work
186 -----------Testing for -----------
187 A
188 B
189 C
190 A
191 B
192 C
193 @todo_wine@X Y
194 @todo_wine@A C
195 @todo_wine@A D
196 @todo_wine@B C
197 @todo_wine@B D
198 @todo_wine@A C
199 @todo_wine@A D
200 @todo_wine@B C
201 @todo_wine@B D
202 -----------Testing del /a-----------
203 not-r.test not found after delete, good
204 r.test found before delete, good
205 r.test not found after delete, good
206 ------------ Testing del /q --------------
207 del /q * succeeded on file1
208 del /q * succeeded on file2.dat
209 ------------ Testing del /s --------------
210 ----------- Testing mkdir -----------
211 0
212 0
213 @todo_wine@1
214 @todo_wine@1
215 0
216 0
217 0
218 0
219 0
220 @todo_wine@1
221 0
222 0
223 0
224 dir created
225 0
226 @todo_wine@1
227 @todo_wine@1
228 @todo_wine@1
229 @todo_wine@ok, foo created
230 @todo_wine@1
231 @todo_wine@ok, foo\bar created
232 foo created
233 @todo_wine@bar created
234 @todo_wine@foobar created
235 @todo_wine@bar\baz created
236 ----------- Testing rmdir -----------
237 0
238 dir removed
239 0
240 dir removed
241 0
242 0
243 file not removed
244 0
245 non-empty dir not removed
246 0
247 non-empty dir not removed
248 recursive rmdir succeeded
249 recursive rmdir succeeded
250 foo removed
251 bar removed
252 foobar removed
253 bar\baz removed
254 ------------ Testing CALL --------------
255 foo@space@
256 @todo_wine@foo 8
257 bar :testRoutine
258 @todo_wine@0
259 @todo_wine@foo created
260 @todo_wine@Should expand foobaz
261 @todo_wine@batfile
262 @todo_wine@robinfile
263 @todo_wine@1
264 @todo_wine@1
265 non-builtin dir
266 -----------Testing Errorlevel-----------
267 9009
268 1
269 errorlevel just right, good
270 abc0def@or_broken@abc1def
271 errorlevel zero, good@or_broken@errorlevel nonzero, bad
272 7 should be 7
273 7 should still be 7
274 -----------Testing GOTO-----------
275 goto with no leading space worked
276 goto with a leading space worked
277 goto with a leading tab worked
278 goto with a following space worked
279 -----------Done, jumping to EOF-----------