simplifications
[mala.git] / tests / 40stdmodule.tests
blob6f457dbfa3103129c26134a8f723da1bba2e1529
1 # arch-tag: org.pipapo.mala.tests.stdmodule
3 TESTING "stdmodule tests:" ./test-mala_stdmodule
5 TEST "no args" <<END
6 variable: (null)
7 negated: 0
8 state: 0
9 END
11 TEST "--LITERAL" --LITERAL --LITERAL foobar <<END
12 arg: --LITERAL
13 arg: foobar
14 variable: (null)
15 negated: 0
16 state: 0
17 END
19 PLANNED "negated --LITERAL" ! --LITERAL <<END
20 prg: --ERROR-NEGATED
21 prg: --LITERAL
22 prg: --HERE-ERROR-NEGATED
23 variable: (null)
24 negated: -1
25 state: 6
26 END
28 TEST "missing arg at --PRINT" --PRINT <<END
29 prg: --ERROR-MISSING-ARGUMENT
30 prg: --PRINT
31 prg: --HERE
32 variable: (null)
33 negated: 0
34 state: 6
35 END
37 PLANNED "--no-PRINT" --no-PRINT <<END
38 prg: --ERROR-UNEXPECTED-NEGATED
39 prg: --PRINT
40 prg: --HERE
41 variable: (null)
42 negated: -1
43 state: 6
44 END
46 TEST "--PRINT --LITERAL" --PRINT --LITERAL --LITERAL --NL <<END
47 --LITERAL
48 variable: (null)
49 negated: 0
50 state: 0
51 END
53 TEST "--PRINT and --NL" --PRINT "foo bar" --NL <<END
54 foo bar
55 variable: (null)
56 negated: 0
57 state: 0
58 END
60 PLANNED "negated --DEF" ! --DEF foo bar --END-DEF <<END
61 prg: --ERROR-NEGATED
62 prg: --DEF
63 prg: --HERE-ERROR-NEGATED
64 prg: foo
65 prg: bar
66 prg: --END-DEF
67 variable: (null)
68 negated: -1
69 state: 6
70 END
72 TEST "missing name at --DEF" --DEF <<END
73 prg: --ERROR-MISSING-ARGUMENT
74 prg: --DEF
75 prg: --HERE
76 variable: (null)
77 negated: 0
78 state: 6
79 END
81 TEST "missing body at --DEF" --DEF foo <<END
82 prg: --ERROR-MISSING-ARGUMENT
83 prg: --DEF
84 prg: foo
85 prg: --HERE
86 variable: (null)
87 negated: 0
88 state: 6
89 END
91 TEST "define macro w/o parameter" --DEF foo --BEGIN bar baz --END <<END
92 variable: (null)
93 negated: 0
94 state: 0
95 END
97 TEST "substitute"  --DEF foo bar foo <<END
98 arg: bar
99 variable: (null)
100 negated: 0
101 state: 0
104 TEST "expand macro w/o parameter" --DEF foo --BEGIN bar baz --END foo <<END
105 arg: bar
106 arg: baz
107 variable: (null)
108 negated: 0
109 state: 0
112 TEST "define macro w/ parameter" --DEF foo --BEGIN %1 bar --END <<END
113 variable: (null)
114 negated: 0
115 state: 0
118 TEST "expand macro w/ parameter" --DEF foo --BEGIN %1 bar --END foo baz <<END
119 arg: baz
120 arg: bar
121 variable: (null)
122 negated: 0
123 state: 0
126 PLANNED "%% expand test" --DEF foo foo%%bar foo baz <<END
127 arg: foo%bar
128 arg: baz
129 variable: (null)
130 negated: 0
131 state: 0
134 PLANNED "%0 expand test" --DEF foo foo%0bar --END-DEF foo baz <<END
135 arg: foofoobar
136 arg: baz
137 variable: (null)
138 negated: 0
139 state: 0
142 PLANNED "%PREV expand test" --DEF foo bar barf --END-DEF --DEF foo baz %PREV --END-DEF foo gnarf <<END
143 arg: baz
144 arg: bar
145 arg: barf
146 arg: gnarf
147 variable: (null)
148 negated: 0
149 state: 0
152 PLANNED "%END expand test" --DEF --foo bar %END--END-foo barf --END-DEF --foo bat baz --END-foo gnarf <<END
153 arg: bar
154 arg: bat
155 arg: baz
156 arg: barf
157 arg: gnarf
158 variable: (null)
159 negated: 0
160 state: 0
163 PLANNED "%END escape test" --DEF foo 1 %ENDendfoo 2 --END-DEF 3 foo 4 --ESCAPE endfoo 5 endfoo 6 <<END
164 arg: 3
165 arg: 1
166 arg: 4
167 arg: endfoo
168 arg: 5
169 arg: 2
170 arg: 6
171 variable: (null)
172 negated: 0
173 state: 0
176 TEST "define nested macro w/o parameter" --DEF foo --BEGIN bar --DEF baz --BEGIN barf gnarf --END --END baz foo baz <<END
177 arg: baz
178 arg: bar
179 arg: barf
180 arg: gnarf
181 variable: (null)
182 negated: 0
183 state: 0
186 PLANNED "variable expansion in macro" variable = bar --DEF foo '$variable' --END-DEF --PRINT foo --NL <<END
188 variable: bar
189 negated: 0
190 state: 0
193 TEST "missing macro argument" --DEF foo %2 foo bar <<END
194 prg: --ERROR-MISSING-ARGUMENT
195 prg: foo
196 prg: bar
197 prg: --HERE
198 variable: (null)
199 negated: 0
200 state: 6
203 PLANNED "stale --END" --PRINT foo --NL --END <<END
205 prg: --ERROR-END-WITHOUT-BEGIN
206 prg: --END
207 prg: --HERE
208 variable: (null)
209 negated: 0
210 state: 6
213 PLANNED "escaped argument" --DEF foo %%1 foo <<END
214 arg: %1
215 variable: (null)
216 negated: 0
217 state: 0
220 TEST "invalid macro" --DEF foo %illegal foo bar <<END
221 prg: --ERROR-PARAMETER-SYNTAX
222 prg: --DEF
223 prg: foo
224 prg: %illegal
225 prg: --HERE
226 prg: foo
227 prg: bar
228 variable: (null)
229 negated: 0
230 state: 6
233 PLANNED "definition redefinition" --DEF --substitute --ESCAPE --DEF %1 %2 --ESCAPE --END-DEF --END-DEF --substitute foo bar foo <<END
234 arg: bar
235 variable: (null)
236 negated: 0
237 state: 0
240 TEST "printl" --PRINTL --LITERAL foo <<END
242 variable: (null)
243 negated: 0
244 state: 0
247 PLANNED "undef substitution" --DEF foo bar foo --UNDEF foo foo <<END
248 arg: bar
249 arg: foo
250 variable: (null)
251 negated: 0
252 state: 0
255 PLANNED "undef error" --UNDEF foo <<END
256 prg: --ERROR-UNKNOWN-ACTION
257 prg: --UNDEF
258 prg: foo
259 prg: --HERE
260 variable: (null)
261 negated: 0
262 state: 6
265 PLANNED "undef expand" --DEF foo --BEGIN bar baz --END foo --UNDEF foo foo <<END
266 arg: bar
267 arg: baz
268 arg: foo
269 variable: (null)
270 negated: 0
271 state: 0
274 PLANNED "undef macro" --DEF foo --BEGIN bar %1 --END foo baz --UNDEF foo foo baz <<END
275 arg: bar
276 arg: baz
277 arg: foo
278 arg: baz
279 variable: (null)
280 negated: 0
281 state: 0
284 PLANNED "redef macro" --DEF foo bar --REDEF foo baz foo goo --UNDEF foo --UNDEF foo <<END
285 arg: baz
286 arg: goo
287 prg: --ERROR-UNKNOWN-ACTION
288 prg: --UNDEF
289 prg: foo
290 prg: --HERE-ERROR-UNKNOWN-ACTION
291 variable: (null)
292 negated: 0
293 state: 6
296 PLANNED "defined" --DEFINED --DEF ! --DEFINED foo --DEFINED bar --NO-DEFINED --DEFINED <<END
297 arg: --TRUE
298 arg: --TRUE
299 arg: --FALSE
300 arg: --FALSE
301 variable: (null)
302 negated: 0
303 state: 1
306 PLANNED "attach" --DEF foo bar --END-DEF --DEF baz barf --END-DEF --ATTACH foo baz foo --UNDEF baz foo <<END
307 arg: bar
308 arg: foo
309 variable: (null)
310 negated: 0
311 state: 0
314 PLANNED "detach" --DEF foo bar --END-DEF --DEF baz barf --END-DEF --ATTACH foo baz foo --DETACH foo --UNDEF baz foo <<END
315 arg: bar
316 arg: bar
317 variable: (null)
318 negated: 0
319 state: 0
322 PLANNED "if" --IF --TRUE success --END-IF --IF --FALSE fail --END-IF bar <<END
323 arg: success
324 arg: bar
325 variable: (null)
326 negated: 0
327 state: 0
330 PLANNED "elif true" --TEST --FALSE --ELIF --TRUE success --END-ELIF bar <<END
331 arg: success
332 arg: bar
333 variable: (null)
334 negated: 0
335 state: 0
338 PLANNED "elif false" --TEST --FALSE --ELIF --FALSE success --END-ELIF <<END
339 variable: (null)
340 negated: 0
341 state: 1
344 PLANNED "elif not entered" --TEST --TRUE --ELIF --TRUE success --END-ELIF <<END
345 variable: (null)
346 negated: 0
347 state: 0
350 PLANNED "else passed" --TEST --TRUE --ELSE success --END-ELSE bar <<END
351 arg: bar
352 variable: (null)
353 negated: 0
354 state: 0
357 PLANNED "else entered" --TEST --FALSE --ELSE success --END-ELSE <<END
358 arg: success
359 variable: (null)
360 negated: 0
361 state: 0