• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#*
2
3@test logical.vm
4
5This template is used for Velocity regression testing.
6If you alter this template make sure you change the
7corresponding comparison file so that the regression
8test doesn't fail incorrectly.
9
10*#
11
12#set($foo = 5)
13
14#if ($foo gt 1)
15    \$foo is greater then 1
16#end
17
18#if ($foo lt 10)
19    \$foo is less than 10
20#end
21
22#if ($foo ge 5)
23    \$foo is great than or equal to 5
24#end
25
26#if ($foo le 5)
27    \$foo is less than or equal to 5
28#end
29
30#set($foo = false)
31
32#if ( not ($foo eq true))
33    foo is false
34#end
35
36--
37
38#set($t = true)
39#set($f = false)
40
41Logical OR :
42
43#if($t or $f)
44 right
45#else
46 wrong
47#end
48
49#if( not ($f or $t) )
50 wrong
51#else
52 right
53#end
54
55#if( $null or $t )
56 right
57#else
58 wrong
59#end
60
61#if( $t or $null )
62 right
63#else
64 wrong
65#end
66
67#if( $f or $null)
68 wrong
69#else
70 right
71#end
72
73#if( $null or $null )
74 wrong
75#else
76 right
77#end
78
79Logical AND :
80
81#if( $t and $t)
82 right
83#else
84 wrong
85#end
86
87#if( $f and $f )
88 wrong
89#else
90 right
91#end
92
93#if( not ($f and $f) )
94 right
95#else
96 wrong
97#end
98
99#if( $t and $f )
100 wrong
101#else
102 right
103#end
104
105#if( $t and $null )
106 wrong
107#else
108 right
109#end
110
111#if( $null and $t )
112 wrong
113#else
114 right
115#end
116
117#if( $f and $null )
118 wrong
119#else
120 right
121#end
122
123#if( not ($null and $null) )
124 right
125#else
126 wrong
127#end
128
129----------
130equivalence
131-----------
132
133#set($int = 1)
134#set($str = "str")
135#set($bool = true)
136
137#if( $int eq $str)
138wrong
139#else
140right
141#end
142
143#if( $int eq 1 )
144right
145#else
146wrong
147#end
148
149#if ( $int eq 2 )
150wrong
151#else
152right
153#end
154
155#if( $str eq 2 )
156wrong
157#else
158right
159#end
160
161#if( $str eq "str")
162right
163#else
164wrong
165#end
166
167#if( $str eq $nonexistantreference )
168wrong
169#else
170right
171#end
172
173#if( $str eq $bool )
174wrong
175#else
176right
177#end
178
179#if ($bool eq true )
180right
181#else
182wrong
183#end
184
185#if( $bool eq false )
186wrong
187#else
188right
189#end
190
191-----------
192comparisons
193-----------
194#set($int = 1)
195#set($str = "str")
196#set($bool = true)
197
198#if( $int gt 0 )
199right
200#else
201wrong
202#end
203
204#if( $str gt 0 )
205wrong
206#else
207right
208#end
209
210#if( $nonexistant gt 0 )
211wrong
212#else
213right
214#end
215
216#if( $int ge 0 )
217right
218#else
219wrong
220#end
221
222#if( $str ge 0 )
223wrong
224#else
225right
226#end
227
228#if( $nonexistant ge 0 )
229wrong
230#else
231right
232#end
233
234#if( $int lt 10 )
235right
236#else
237wrong
238#end
239
240#if( $str lt 10 )
241wrong
242#else
243right
244#end
245
246#if( $nonexistant lt 10 )
247wrong
248#else
249right
250#end
251
252#if( $int le 10 )
253right
254#else
255wrong
256#end
257
258#if( $str le 10 )
259wrong
260#else
261right
262#end
263
264#if( $nonexistant le 10 )
265wrong
266#else
267right
268#end
269
270----------------------
271goofy but legal stuff
272----------------------
273#set($lala = ( false or true ) )
274Should equal true : $lala
275
276#set($fofo = ( true and true ) )
277Should equal true : $fofo
278
279#set($fofo = ( true and ( false or true ) ) )
280Should equal true : $fofo
281
282#set($fofo = ( ($t or $f) and $t))
283Should equal true : $fofo
284
285
286#set($x = not true)
287
288#if($x eq false)
289right
290#else
291wrong
292#end
293
294#set($y = not $x)
295
296#if($y eq true)
297right
298#else
299wrong
300#end
301
302Test to see if we can do logical assignment from any expression
303
304#set($val = (3 eq 3))
305#if($val eq true)
306right
307#else
308wrong
309#end
310
311#set($val = (1 lt 2))
312#if( $val eq true)
313right
314#else
315wrong
316#end
317
318
319#set($val = (1 le 2))
320#if( $val eq true)
321right
322#else
323wrong
324#end
325
326
327#set($val = (7 gt 2))
328#if( $val eq true)
329right
330#else
331wrong
332#end
333
334#set($val = (7 ge 2))
335#if( $val eq true)
336right
337#else
338wrong
339#end
340
341#set($val = ( 1 ne 2))
342#if( $val eq true)
343right
344#else
345wrong
346#end
347