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 > 1) 15 \$foo is greater then 1 16#end 17 18#if ($foo < 10) 19 \$foo is less than 10 20#end 21 22#if ($foo >= 5) 23 \$foo is great than or equal to 5 24#end 25 26#if ($foo <= 5) 27 \$foo is less than or equal to 5 28#end 29 30#set($foo = false) 31 32#if (!($foo == true)) 33 foo is false 34#end 35 36-- 37 38#set ($foo = 49/2) 39#set ($bar = 10) 40#if ($foo > $bar) 41 \$foo is greater than \$bar 42#end 43 44#if ($foo >= $bar) 45 \$foo is greater than or equal to \$bar 46#end 47 48#if ($bar < $foo) 49 \$bar is less than \$foo 50#end 51 52#if ($bar <= $foo) 53 \$bar is less than or equal to \$foo 54#end 55 56-- 57 58#set ($foo = 49/2) 59#set ($bar = 10) 60#if ($foo > $bar) 61 \$foo is greater than \$bar 62#end 63 64#if ($foo >= $bar) 65 \$foo is greater than or equal to \$bar 66#end 67 68#if ($bar < $foo) 69 \$bar is less than \$foo 70#end 71 72#if ($bar <= $foo) 73 \$bar is less than or equal to \$foo 74#end 75 76-- 77 78#set ($foo = 3) 79#set ($bar = 4) 80#if ($foo == $foo) 81 \$foo is equal to \$foo 82#end 83 84#if ($foo != $bar) 85 \$foo is not equal to \$bar 86#end 87 88-- 89 90#set ($foo = 888) 91#set ($bar = 1111) 92#set ($abc = $templatenumber1.AsNumber) 93#if ($templatenumber1 > $foo) 94 \$templatenumber1 is greater than \$foo 95#end 96 97#if ($templatenumber1 >= $foo) 98 \$templatenumber1 is greater than or equal to \$foo 99#end 100 101#if ($foo < $templatenumber1) 102 \$foo is less than \$templatenumber1 103#end 104 105#if ($foo <= $templatenumber1) 106 \$foo is less than or equal to \$templatenumber1 107#end 108 109-- 110 111#if ($bar > $templatenumber1) 112 \$bar is greater than \$templatenumber1 113#end 114 115#if ($bar >= $templatenumber1) 116 \$bar is greater than or equal to \$templatenumber1 117#end 118 119#if ($templatenumber1 < $bar) 120 \$templatenumber1 is less than \$bar 121#end 122 123#if ($templatenumber1 <= $bar) 124 \$templatenumber1 is less than or equal to \$bar 125#end 126 127-- 128 129#if ($abc == $templatenumber1) 130 \$abc is equal to \$templatenumber1 131#end 132 133#if ($templatenumber1 == $abc) 134 \$templatenumber1 is equal to \$abc 135#end 136 137#if ($bar != $templatenumber1) 138 \$bar is not equal to \$templatenumber1 139#end 140 141#if ($templatenumber1 != $bar) 142 \$templatenumber1 is not equal to \$bar 143#end 144 145-- 146#set($t = true) 147#set($f = false) 148 149Logical OR : 150 151#if($t || $f) 152 right 153#else 154 wrong 155#end 156 157#if( !($f || $t) ) 158 wrong 159#else 160 right 161#end 162 163#if( $null || $t ) 164 right 165#else 166 wrong 167#end 168 169#if( $t || $null ) 170 right 171#else 172 wrong 173#end 174 175#if( $f || $null) 176 wrong 177#else 178 right 179#end 180 181#if( $null || $null ) 182 wrong 183#else 184 right 185#end 186 187Logical AND : 188 189#if( $t && $t) 190 right 191#else 192 wrong 193#end 194 195#if( $f && $f ) 196 wrong 197#else 198 right 199#end 200 201#if( !($f && $f) ) 202 right 203#else 204 wrong 205#end 206 207#if( $t && $f ) 208 wrong 209#else 210 right 211#end 212 213#if( $t && $null ) 214 wrong 215#else 216 right 217#end 218 219#if( $null && $t ) 220 wrong 221#else 222 right 223#end 224 225#if( $f && $null ) 226 wrong 227#else 228 right 229#end 230 231#if( !($null && $null) ) 232 right 233#else 234 wrong 235#end 236 237---------- 238equivalence 239----------- 240 241#set($int = 1) 242#set($str = "str") 243#set($bool = true) 244 245#if( $int == $str) 246wrong 247#else 248right 249#end 250 251#if( $int == 1 ) 252right 253#else 254wrong 255#end 256 257#if ( $int == 2 ) 258wrong 259#else 260right 261#end 262 263#if( $str == 2 ) 264wrong 265#else 266right 267#end 268 269#if( $str == "str") 270right 271#else 272wrong 273#end 274 275#if( $str == $nonexistantreference ) 276wrong 277#else 278right 279#end 280 281#if( $str == $bool ) 282wrong 283#else 284right 285#end 286 287#if ($bool == true ) 288right 289#else 290wrong 291#end 292 293#if( $bool == false ) 294wrong 295#else 296right 297#end 298 299----------- 300comparisons 301----------- 302#set($int = 1) 303#set($str = "str") 304#set($bool = true) 305 306#if( $int > 0 ) 307right 308#else 309wrong 310#end 311 312#if( $str > 0 ) 313wrong 314#else 315right 316#end 317 318#if( $nonexistant > 0 ) 319wrong 320#else 321right 322#end 323 324#if( $int >= 0 ) 325right 326#else 327wrong 328#end 329 330#if( $str >= 0 ) 331wrong 332#else 333right 334#end 335 336#if( $nonexistant >= 0 ) 337wrong 338#else 339right 340#end 341 342#if( $int < 10 ) 343right 344#else 345wrong 346#end 347 348#if( $str < 10 ) 349wrong 350#else 351right 352#end 353 354#if( $nonexistant < 10 ) 355wrong 356#else 357right 358#end 359 360#if( $int <= 10 ) 361right 362#else 363wrong 364#end 365 366#if( $str <= 10 ) 367wrong 368#else 369right 370#end 371 372#if( $nonexistant <= 10 ) 373wrong 374#else 375right 376#end 377 378---------------------- 379goofy but legal stuff 380---------------------- 381#set($lala = ( false || true ) ) 382Should equal true : $lala 383 384#set($fofo = ( true && true ) ) 385Should equal true : $fofo 386 387#set($fofo = ( true && ( false || true ) ) ) 388Should equal true : $fofo 389 390#set($fofo = ( ($t || $f) && $t)) 391Should equal true : $fofo 392 393---------------------- 394Compare String and StringBuffer 395---------------------- 396#set($compClass = ($name == $name2)) 397This should be true: $compClass 398 399#set($compClass2 = ($name == $name3)) 400This should be false: $compClass2 401 402#set($compClass3 = ($name != $name3)) 403This should be true: $compClass3 404 405#set($x = !true) 406 407#if($x == false) 408right 409#else 410wrong 411#end 412 413#set($y = !$x) 414 415#if($y == true) 416right 417#else 418wrong 419#end 420 421Test to see if we can do logical assignment from any expression 422 423#set($val = (3 == 3)) 424#if($val == true) 425right 426#else 427wrong 428#end 429 430#set($val = (1 < 2)) 431#if( $val == true) 432right 433#else 434wrong 435#end 436 437 438#set($val = (1 <= 2)) 439#if( $val == true) 440right 441#else 442wrong 443#end 444 445 446#set($val = (7 > 2)) 447#if( $val == true) 448right 449#else 450wrong 451#end 452 453#set($val = (7 >= 2)) 454#if( $val == true) 455right 456#else 457wrong 458#end 459 460#set($val = ( 1 != 2)) 461#if( $val == true) 462right 463#else 464wrong 465#end 466 467## check empty if statement is ok 468#if( true )#end 469