Testcase for recursive include and if

This page does two things:

  1. It exercises include recursively, passing changing args.
  2. The result is the test case for if and else, nesting them deeply and exercising all predicates, with and without "not"

fail '@<%%>x@ nil' should be false fail '@<%%>y@ not nil' should be false fail '@<%%>z@ not nil' should be false fail '@<%%>x@ not defined' should be false fail '@<%%>y@ not defined' should be false fail '@<%%>z@ defined' should be false fail '@<%%>x@ lt 3' should be false fail '"yes" not true' should be false fail '0 true' should be false fail 't false' should be false fail 'oFf not false' should be false fail '@<%%>x@ not true' should be false fail '@<%%>x@ not gt @<%%>v.five@' should be false fail '@<%%>x@ ge 20' should be false fail '@<%%>x@ not le 13' should be false fail '@<%%>v.five@ not eq 5' should be false fail '@<%%>x@ eq 5' should be false fail '@<%%>x@ odd' should be false fail '@<%%>x@ not even' should be false fail '@<%%>v.rownum@ not odd' should be false fail '@<%%>v.five@ even' should be false fail '@<%%>x@ in fo {ob 10} ar' should be false fail '@<%%>x@ not in fie 6 10 28' should be false fail '@<%%>v.five@ not between 3 30' should be false fail '@<%%>v.five@ between 30 300' should be false fail '@<%%>x@ not ne @<%%>v.five@ or 8 le @<%%>v.five@ or @<%%>x@ not defined' should be false fail '@<%%>x@ not ne 10 and 6 eq @<%%>v.five@' should be false pass the test. fail '@<%%>x@ ne 10 or 6 not eq @<%%>v.five@' should be true fail '@<%%>x@ ne @<%%>v.five@ and 8 not le @<%%>v.five@ and @<%%>x@ defined' should be true fail '@<%%>v.five@ not between 30 300' should be true fail '@<%%>v.five@ between 3 30' should be true fail '@<%%>x@ in fie 6 10 28' should be true fail '@<%%>x@ not in fo {ob 10} ar' should be true fail '@<%%>v.five@ not even' should be true fail '@<%%>v.rownum@ odd' should be true fail '@<%%>x@ even' should be true fail '@<%%>x@ not odd' should be true fail '@<%%>x@ not eq 5' should be true fail '@<%%>v.five@ eq 5' should be true fail '@<%%>x@ le 13' should be true fail '@<%%>x@ not ge 20' should be true fail '@<%%>x@ gt @<%%>v.five@' should be true fail '@<%%>x@ true' should be true fail 'oFf false' should be true fail 't not false' should be true fail '0 not true' should be true fail '"yes" true' should be true fail '@<%%>x@ not lt 3' should be true fail '@<%%>z@ not defined' should be true fail '@<%%>y@ defined' should be true fail '@<%%>x@ defined' should be true fail '@<%%>z@ nil' should be true fail '@<%%>y@ nil' should be true fail '@<%%>x@ not nil' should be true