Diff of the two buildlogs: -- --- b1/build.log 2025-11-01 14:22:00.213561764 +0000 +++ b2/build.log 2025-11-01 14:25:16.681748528 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Dec 4 08:44:13 -12 2026 -I: pbuilder-time-stamp: 1796417053 +I: Current time: Sun Nov 2 04:22:01 +14 2025 +I: pbuilder-time-stamp: 1762006921 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -25,53 +25,85 @@ dpkg-source: info: applying typo-in-manual-page I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3908216/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 1 14:22 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 nocheck' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='e7c07dab67ed4171ab9568c11c5cfdd8' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3908216' - PS1='# ' - PS2='> ' + INVOCATION_ID=4be658a44c06427db58880626e7ce944 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=354240 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Y0pppsio/pbuilderrc_2wOv --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Y0pppsio/b1 --logfile b1/build.log libtemplate-alloy-perl_1.022-3.dsc' - SUDO_GID='111' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Y0pppsio/pbuilderrc_aAFX --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Y0pppsio/b2 --logfile b2/build.log libtemplate-alloy-perl_1.022-3.dsc' + SUDO_GID=111 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos15-amd64 6.12.48+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3908216/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -84,7 +116,7 @@ Depends: debhelper-compat (= 13), perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. -(Reading database ... 19869 files and directories currently installed.) +(Reading database ... 19862 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: @@ -136,10 +168,10 @@ Get: 27 http://deb.debian.org/debian forky/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian forky/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian forky/main amd64 debhelper all 13.28 [941 kB] -Fetched 11.3 MB in 3s (3290 kB/s) +Fetched 11.3 MB in 6s (1997 kB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. -(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19869 files and directories currently installed.) +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19862 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package libmagic-mgc. @@ -267,7 +299,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/libtemplate-alloy-perl-1.022/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../libtemplate-alloy-perl_1.022-3_source.changes +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/libtemplate-alloy-perl-1.022/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../libtemplate-alloy-perl_1.022-3_source.changes dpkg-buildpackage: info: source package libtemplate-alloy-perl dpkg-buildpackage: info: source version 1.022-3 dpkg-buildpackage: info: source distribution unstable @@ -291,5379 +327,62 @@ Writing Makefile for Template::Alloy Writing MYMETA.yml and MYMETA.json dh_auto_build - make -j42 + make -j40 make[1]: Entering directory '/build/reproducible-path/libtemplate-alloy-perl-1.022' pod2text lib/Template/Alloy.pod > README -cp lib/Template/Alloy/HTE.pm blib/lib/Template/Alloy/HTE.pm -cp lib/Template/Alloy/Compile.pm blib/lib/Template/Alloy/Compile.pm -cp lib/Template/Alloy/Velocity.pm blib/lib/Template/Alloy/Velocity.pm -cp lib/Template/Alloy/Operator.pm blib/lib/Template/Alloy/Operator.pm -cp lib/Template/Alloy/Context.pm blib/lib/Template/Alloy/Context.pm +cp lib/Template/Alloy/TT.pm blib/lib/Template/Alloy/TT.pm cp lib/Template/Alloy.pm blib/lib/Template/Alloy.pm -cp lib/Template/Alloy/VMethod.pm blib/lib/Template/Alloy/VMethod.pm +cp lib/Template/Alloy/Operator.pm blib/lib/Template/Alloy/Operator.pm cp lib/Template/Alloy/Iterator.pm blib/lib/Template/Alloy/Iterator.pm -cp lib/Template/Alloy/TT.pm blib/lib/Template/Alloy/TT.pm -cp lib/Template/Alloy/Tmpl.pm blib/lib/Template/Alloy/Tmpl.pm -cp lib/Template/Alloy/Play.pm blib/lib/Template/Alloy/Play.pm cp lib/Template/Alloy/Parse.pm blib/lib/Template/Alloy/Parse.pm +cp lib/Template/Alloy/Compile.pm blib/lib/Template/Alloy/Compile.pm +cp lib/Template/Alloy/HTE.pm blib/lib/Template/Alloy/HTE.pm +cp lib/Template/Alloy/VMethod.pm blib/lib/Template/Alloy/VMethod.pm +cp lib/Template/Alloy/Tmpl.pm blib/lib/Template/Alloy/Tmpl.pm +cp lib/Template/Alloy/Context.pm blib/lib/Template/Alloy/Context.pm +cp lib/Template/Alloy.pod blib/lib/Template/Alloy.pod cp lib/Template/Alloy/Exception.pm blib/lib/Template/Alloy/Exception.pm cp lib/Template/Alloy/Stream.pm blib/lib/Template/Alloy/Stream.pm -cp lib/Template/Alloy.pod blib/lib/Template/Alloy.pod +cp lib/Template/Alloy/Play.pm blib/lib/Template/Alloy/Play.pm +cp lib/Template/Alloy/Velocity.pm blib/lib/Template/Alloy/Velocity.pm Manifying 14 pod documents make[1]: Leaving directory '/build/reproducible-path/libtemplate-alloy-perl-1.022' - dh_auto_test - make -j42 test TEST_VERBOSE=1 -make[1]: Entering directory '/build/reproducible-path/libtemplate-alloy-perl-1.022' -PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t -t/00_use.t .............. -1..43 -ok 1 - use Template::Alloy; -ok 2 - Parse role isn't loaded yet -ok 3 - But it can parse anyway -ok 4 - Parse role is now loaded -ok 5 - Can't import invalid method -ok 6 - Play role isn't loaded yet -ok 7 - It can be imported () -ok 8 - Play role is now loaded -ok 9 - Compile role isn't loaded yet -ok 10 - It can be imported () -ok 11 - Compile role is now loaded -ok 12 - It can be imported twice () -ok 13 - Velocity role isn't loaded yet -ok 14 - It can be imported () -ok 15 - Velocity role is now loaded -ok 16 - Tmpl role isn't loaded yet -ok 17 - It can be imported () -ok 18 - Tmpl role is now loaded -ok 19 - Text::Tmpl isn't loaded -ok 20 - It can be imported () -ok 21 - Text::Tmpl is now loaded -ok 22 - Text::Tmpl is a Template::Alloy -ok 23 - It can be imported twice -ok 24 - HTML::Template isn't loaded -ok 25 - It can't be imported because another non-Alloy package already is using it -ok 26 - HTML::Template is not a Template::Alloy -ok 27 - HTML::Template::Expr isn't loaded -ok 28 - It can be imported () -ok 29 - HTML::Template::Expr is now loaded -ok 30 - HTML::Template::Expr is a Template::Alloy -ok 31 - It can be imported twice -ok 32 - TT role isn't loaded yet -ok 33 - It can be imported via all () -ok 34 - TT role is now loaded -ok 35 - It can be imported twice () -ok 36 - Template isn't loaded -ok 37 - It can be imported () -ok 38 - Template is now loaded -ok 39 - Template is a Template::Alloy -ok 40 - It can be imported twice -ok 41 - Got an error on invalid methods (Can't locate object method "flabbergast" via package at t/00_use.t line 82. -# ) -ok 42 - Got an error on invalid methods (autoload error - Invalid method Template::Alloy::) -ok 43 - Got an error on invalid methods (autoload error - Invalid method Template::Alloy::foo&bar) -ok -t/01_coverage.t ......... -1..31 -ok 1 - use Template::Alloy; -ok 2 - Initialize with hashref and get hashref based object -ok 3 - Initialize with hash and get hashref based object -ok 4 - Got an error for process_simple -ok 5 - Got an error for process_simple -ok 6 - Got an error for process_simple -ok 7 - Ran process_simple without error -ok 8 - Ran process_simple and threw error -ok 9 - And got error -ok 10 - Got right output -ok 11 - Ran process_simple and stopped -ok 12 - And got no error -ok 13 - Got right output -ok 14 - Ran _process -ok 15 - And got error -ok 16 - Got right output -ok 17 - Ran _process and got error -ok 18 - Ran _process -ok 19 - And got error -ok 20 - Got right output -ok 21 - Ran _process (file error - foobar: not found) -ok 22 - Ran _process (process error - No _perl and no _tree found) -ok 23 - Ran _process -ok 24 - Can't load_template without a file -ok 25 - load_template assumes we know what we are doing if we pass a hash -ok 26 - Can load a string block -ok 27 - Can load a code block -ok 28 - Can load a previously loaded template -ok 29 - Can't load a poorly formed block -ok 30 - Can't load a string block with parse errors -ok 31 - Can't load a ref block -ok -t/02_cache.t ............ -1..205 -ok 1 - use Template::Alloy; -ok 2 - Got a test dir up and running -ok 3 - Got a test dir up and running -ok 4 - Line 137: Found bar.tt in t/02_cache.t.test_dir -ok 5 - Line 138: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 6 - Line 139: Didn't find bar.tt.sto in t/02_cache.t.test_dir -ok 7 - Line 140: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 -ok 8 - Line 141: Didn't find bar.tt.pl in t/02_cache.t.test_dir -ok 9 - Line 142: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 -ok 10 - Not in GLOBAL_CACHE -### COMPILE_PERL => 0 ################################################ -ok 11 - Line 152 "bar.tt" => "BlueBAR" -ok 12 - Line 154: Found bar.tt in t/02_cache.t.test_dir -ok 13 - Line 155: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 14 - Line 156: Didn't find bar.tt.sto in t/02_cache.t.test_dir -ok 15 - Line 157: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 -ok 16 - Line 158: Didn't find bar.tt.pl in t/02_cache.t.test_dir -ok 17 - Line 159: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 -ok 18 - Not in GLOBAL_CACHE -ok 19 - Line 167 "bar.tt" => "BlueBAR" -ok 20 - Line 169: Found bar.tt in t/02_cache.t.test_dir -ok 21 - Line 170: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 22 - Line 171: Didn't find bar.tt.sto in t/02_cache.t.test_dir -ok 23 - Line 172: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 -ok 24 - Line 173: Didn't find bar.tt.pl in t/02_cache.t.test_dir -ok 25 - Line 174: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 -ok 26 - Is in GLOBAL_CACHE -ok 27 - Line 183 "bar.tt" => "BlueBAR" -ok 28 - Is in CACHE -ok 29 - Line 190 "bar.tt" => "BlueBAR" -ok 30 - Line 192: Found bar.tt in t/02_cache.t.test_dir -ok 31 - Line 193: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 32 - Line 194: Found bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 33 - Line 195: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 -ok 34 - Line 196: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 35 - Line 197: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 -ok 36 - Line 204 "bar.tt" => "BlueBAR" -ok 37 - Line 206: Found bar.tt in t/02_cache.t.test_dir -ok 38 - Line 207: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 39 - Line 208: Didn't find bar.tt.sto in t/02_cache.t.test_dir -ok 40 - Line 209: Found t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 -ok 41 - Line 210: Didn't find bar.tt.pl in t/02_cache.t.test_dir -ok 42 - Line 211: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 -ok 43 - Line 218 "bar.tt" => "BlueBAR" -ok 44 - Line 220: Found bar.tt in t/02_cache.t.test_dir -ok 45 - Line 221: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 46 - Line 222: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 47 - Line 223: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 -ok 48 - Line 224: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 49 - Line 225: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 -ok 50 - Is in GLOBAL_CACHE -ok 51 - Line 233 "bar.tt" => "BlueBAR" -ok 52 - Line 235: Found bar.tt in t/02_cache.t.test_dir -ok 53 - Line 236: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 54 - Line 237: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 55 - Line 238: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 -ok 56 - Line 239: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 57 - Line 240: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 -ok 58 - Is in GLOBAL_CACHE -ok 59 - Doesn't Have perl -ok 60 - Line 256 "bar.tt" => "füBAR ¥" -ok 61 - Line 258: Found bar.tt in t/02_cache.t.test_dir -ok 62 - Line 259: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 63 - Line 260: Found bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 64 - Line 261: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 65 - Line 264 "bar.tt" => "füBAR ¥" -ok 66 - lives ok -### COMPILE_PERL => 1 ################################################ -ok 67 - Line 279 "bar.tt" => "BlueBAR" -ok 68 - Line 281: Found bar.tt in t/02_cache.t.test_dir -ok 69 - Line 282: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 70 - Line 283: Didn't find bar.tt.sto in t/02_cache.t.test_dir -ok 71 - Line 284: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 -ok 72 - Line 285: Didn't find bar.tt.pl in t/02_cache.t.test_dir -ok 73 - Line 286: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 -ok 74 - Not in GLOBAL_CACHE -ok 75 - Line 294 "bar.tt" => "BlueBAR" -ok 76 - Line 296: Found bar.tt in t/02_cache.t.test_dir -ok 77 - Line 297: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 78 - Line 298: Didn't find bar.tt.sto in t/02_cache.t.test_dir -ok 79 - Line 299: Didn't find t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 -ok 80 - Line 300: Didn't find bar.tt.pl in t/02_cache.t.test_dir -ok 81 - Line 301: Didn't find t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 -ok 82 - Is in GLOBAL_CACHE -ok 83 - Line 309 "bar.tt" => "BlueBAR" -ok 84 - Line 311: Found bar.tt in t/02_cache.t.test_dir -ok 85 - Line 312: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 86 - Line 313: Found bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 87 - Line 314: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 -ok 88 - Line 315: Found bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 89 - Line 316: Didn't find t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 -ok 90 - Line 323 "bar.tt" => "BlueBAR" -ok 91 - Line 325: Found bar.tt in t/02_cache.t.test_dir -ok 92 - Line 326: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 93 - Line 327: Didn't find bar.tt.sto in t/02_cache.t.test_dir -ok 94 - Line 328: Found t/02_cache.t.test_dir/bar.tt.sto in t/02_cache.t.test_dir2 -ok 95 - Line 329: Didn't find bar.tt.pl in t/02_cache.t.test_dir -ok 96 - Line 330: Found t/02_cache.t.test_dir/bar.tt.pl in t/02_cache.t.test_dir2 -ok 97 - Line 337 "bar.tt" => "BlueBAR" -ok 98 - Line 339: Found bar.tt in t/02_cache.t.test_dir -ok 99 - Line 340: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 100 - Line 341: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 101 - Line 342: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 -ok 102 - Line 343: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 103 - Line 344: Found t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 -ok 104 - Is in GLOBAL_CACHE -ok 105 - Line 352 "bar.tt" => "BlueBAR" -ok 106 - Line 354: Found bar.tt in t/02_cache.t.test_dir -ok 107 - Line 355: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 108 - Line 356: Didn't find bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 109 - Line 357: Found t/02_cache.t.test_dir/bar.tt.ttc.sto in t/02_cache.t.test_dir2 -ok 110 - Line 358: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 111 - Line 359: Found t/02_cache.t.test_dir/bar.tt.ttc.pl in t/02_cache.t.test_dir2 -ok 112 - Is in GLOBAL_CACHE -ok 113 - Has perl -ok 114 - Line 375 "bar.tt" => "füBAR ¥" -ok 115 - Line 377: Found bar.tt in t/02_cache.t.test_dir -ok 116 - Line 378: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 117 - Line 379: Found bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 118 - Line 380: Found bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 119 - Line 383 "bar.tt" => "füBAR ¥" -### COMPILE_PERL => 2 ################################################ -ok 120 - Line 391 "bar.tt" => "BlueBAR" -ok 121 - Line 393: Found bar.tt in t/02_cache.t.test_dir -ok 122 - Line 394: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 123 - Line 395: Found bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 124 - Line 396: Didn't find bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 125 - Is in GLOBAL_CACHE -ok 126 - Doesn't Have perl -ok 127 - Line 401 "bar.tt" => "BlueBAR" -ok 128 - Line 403: Found bar.tt in t/02_cache.t.test_dir -ok 129 - Line 404: Didn't find bar.tt in t/02_cache.t.test_dir2 -ok 130 - Line 405: Found bar.tt.ttc.sto in t/02_cache.t.test_dir -ok 131 - Line 406: Found bar.tt.ttc.pl in t/02_cache.t.test_dir -ok 132 - Is in GLOBAL_CACHE -ok 133 - Has perl -### STRING_REF ####################################################### -ok 134 - Line 419 "[% blue %]BAR" => "BlueBAR" -ok 135 - Line 421: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 136 - Line 422: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 137 - Line 423: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 138 - Line 424: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 139 - Not in GLOBAL_CACHE -ok 140 - Line 432 "[% blue %]BAR" => "BlueBAR" -ok 141 - Line 434: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 142 - Line 435: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 143 - Line 436: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 144 - Line 437: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 145 - Is in GLOBAL_CACHE -ok 146 - Doesn't Have perl -ok 147 - Line 446 "[% blue %]BAR" => "BlueBAR" -ok 148 - Line 448: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 149 - Line 449: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 150 - Line 450: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 151 - Line 451: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 152 - Not in GLOBAL_CACHE -ok 153 - Line 459 "[% blue %]BAR" => "BlueBAR" -ok 154 - Line 461: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 155 - Line 462: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 156 - Line 463: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 157 - Line 464: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 158 - Not in GLOBAL_CACHE -ok 159 - Line 472 "[% blue %]BAR" => "BlueBAR" -ok 160 - Line 474: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 161 - Line 475: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 162 - Line 476: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 163 - Line 477: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 164 - Not in GLOBAL_CACHE -ok 165 - Line 485 "[% blue %]BAR" => "BlueBAR" -ok 166 - Line 487: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 167 - Line 488: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 168 - Line 489: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 169 - Line 490: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 170 - Is in GLOBAL_CACHE -ok 171 - Has perl -ok 172 - Line 499 "[% blue %]BAR" => "BlueBAR" -ok 173 - Line 501: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 174 - Line 502: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 175 - Line 503: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 176 - Line 504: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 177 - Is in GLOBAL_CACHE -ok 178 - Doesn't Have perl -ok 179 - Line 509 "[% blue %]BAR" => "BlueBAR" -ok 180 - Line 511: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 181 - Line 512: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 182 - Line 513: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir -ok 183 - Line 514: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir -ok 184 - Is in GLOBAL_CACHE -ok 185 - Now has perl -ok 186 - Line 523 "[% blue %]BAR" => "BlueBAR" -ok 187 - Line 525: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 188 - Line 526: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 189 - Line 527: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir2 -ok 190 - Line 528: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir2 -ok 191 - Line 535 "[% blue %]BAR" => "BlueBAR" -ok 192 - Line 537: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 193 - Line 538: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 194 - Line 539: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.sto in t/02_cache.t.test_dir -ok 195 - Line 540: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.pl in t/02_cache.t.test_dir -ok 196 - Line 547 "[% blue %]BAR" => "BlueBAR" -ok 197 - Line 549: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 198 - Line 550: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 199 - Line 551: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.sto in t/02_cache.t.test_dir2 -ok 200 - Line 552: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.pl in t/02_cache.t.test_dir2 -ok 201 - Line 559 "[% blue %]BAR" => "BlueBAR" -ok 202 - Line 561: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir -ok 203 - Line 562: Didn't find Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758 in t/02_cache.t.test_dir2 -ok 204 - Line 563: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.sto in t/02_cache.t.test_dir -ok 205 - Line 564: Found Alloy_str_ref_cache/6f6/6f69285f87853cd193d2cc1231e20758.ttc.pl in t/02_cache.t.test_dir -### DONE ############################################################# -ok -# testing stderr ... ok # testing stderr ... ok # testing stderr ... ok t/05_tt_base.t .......... -1..3260 -ok 1 - use Template::Alloy; -ok 2 - Got a test dir up and running -### GET ############################################# engine_option (normal) -ok 3 - Line 159 "[% foo %]" => "" -ok 4 - Line 160 "[% foo %]" => "7" -ok 5 - Line 161 "[% foo %]" => "7" -ok 6 - Line 162 "[% foo %]" => "7" -ok 7 - Line 163 "[% foo %]" => "Stash" -ok 8 - Line 164 "[% foo %]" => "V" -ok 9 - Line 165 "[% bar %]" => "" -ok 10 - Line 166 "[% foo %]" => "Stash" -ok 11 - Line 167 "[% bar %]" => "" -ok 12 - Line 168 "[% foo %]" => "Stash" -ok 13 - Line 169 "[% foo %]" => "Stash" -ok 14 - Line 170 "[% foo %][% foo %][% foo %]" => "777" -ok 15 - Line 171 "[% foo() %]" => "7" -ok 16 - Line 172 "[% foo.bar %]" => "" -ok 17 - Line 173 "[% foo.bar %]" => "" -ok 18 - Line 174 "[% foo.bar %]" => "7" -ok 19 - Line 175 "[% foo().bar %]" => "7" -ok 20 - Line 176 "[% foo.0 %]" => "7" -ok 21 - Line 177 "[% foo.10 %]" => "" -ok 22 - Line 178 "[% foo %]" => "7" -ok 23 - Line 179 "[% foo(7) %]" => "7" -ok 24 - Line 180 "[% foo.length %]" => "1" -ok 25 - Line 181 "[% foo.0 %]" => "7" -ok 26 - Line 182 "[% foo(bar) %]" => "7" -ok 27 - Line 183 "[% foo(bar.baz) %]" => "7" -ok 28 - Line 184 "[% foo.seven %]" => "7" -ok 29 - Line 185 "[% foo.seven() %]" => "7" -ok 30 - Line 186 "[% foo.seven.length %]" => "1" -ok 31 - Line 187 "[% foo.echo(7) %]" => "7" -ok 32 - Line 188 "[% foo.many.0 %]" => "1" -ok 33 - Line 189 "[% foo.many.10 %]" => "" -ok 34 - Line 190 "[% foo.nomethod %]" => "" -ok 35 - Line 191 "[% foo.nomethod.0 %]" => "" -ok 36 - Line 193 "[% GET foo %]" => "" -ok 37 - Line 194 "[% GET foo %]" => "7" -ok 38 - Line 195 "[% GET foo.bar %]" => "" -ok 39 - Line 196 "[% GET foo.bar %]" => "" -ok 40 - Line 197 "[% GET foo.bar %]" => "7" -ok 41 - Line 198 "[% GET foo.0 %]" => "7" -ok 42 - Line 199 "[% GET foo %]" => "7" -ok 43 - Line 200 "[% GET foo(7) %]" => "7" -ok 44 - Line 202 "[% $name %]" => "" -ok 45 - Line 203 "[% $name %]" => "7" -ok 46 - Line 204 "[% $name.bar %]" => "" -ok 47 - Line 205 "[% $name.bar %]" => "" -ok 48 - Line 206 "[% $name.bar %]" => "7" -ok 49 - Line 207 "[% $name().bar %]" => "7" -ok 50 - Line 208 "[% $name.0 %]" => "7" -ok 51 - Line 209 "[% $name %]" => "7" -ok 52 - Line 210 "[% $name(7) %]" => "7" -ok 53 - Line 212 "[% GET $name %]" => "" -ok 54 - Line 213 "[% GET $name %]" => "7" -ok 55 - Line 214 "[% GET $name.bar %]" => "" -ok 56 - Line 215 "[% GET $name.bar %]" => "" -ok 57 - Line 216 "[% GET $name.bar %]" => "7" -ok 58 - Line 217 "[% GET $name.0 %]" => "7" -ok 59 - Line 218 "[% GET $name %]" => "7" -ok 60 - Line 219 "[% GET $name(7) %]" => "7" -ok 61 - Line 221 "[% $name %]" => "" -ok 62 - Line 222 "[% GET $name %]" => "" -ok 63 - Line 224 "[% ${name} %]" => "" -ok 64 - Line 225 "[% ${name} %]" => "7" -ok 65 - Line 226 "[% ${name}.bar %]" => "" -ok 66 - Line 227 "[% ${name}.bar %]" => "" -ok 67 - Line 228 "[% ${name}.bar %]" => "7" -ok 68 - Line 229 "[% ${name}().bar %]" => "7" -ok 69 - Line 230 "[% ${name}.0 %]" => "7" -ok 70 - Line 231 "[% ${name} %]" => "7" -ok 71 - Line 232 "[% ${name}(7) %]" => "7" -ok 72 - Line 234 "[% GET ${name} %]" => "" -ok 73 - Line 235 "[% GET ${name} %]" => "7" -ok 74 - Line 236 "[% GET ${name}.bar %]" => "" -ok 75 - Line 237 "[% GET ${name}.bar %]" => "" -ok 76 - Line 238 "[% GET ${name}.bar %]" => "7" -ok 77 - Line 239 "[% GET ${name}.0 %]" => "7" -ok 78 - Line 240 "[% GET ${name} %]" => "7" -ok 79 - Line 241 "[% GET ${name}(7) %]" => "7" -ok 80 - Line 243 "[% ${name} %]" => "" -ok 81 - Line 244 "[% GET ${name} %]" => "" -ok 82 - Line 245 "[% GET ${'foo'} %]" => "bar" -ok 83 - Line 247 "[% foo.$name %]" => "" -ok 84 - Line 248 "[% foo.$name %]" => "7" -ok 85 - Line 249 "[% foo.$name.baz %]" => "" -ok 86 - Line 251 "[% "hi" %]" => "hi" -ok 87 - Line 252 "[% "hi %]" => "" -ok 88 - Line 253 "[% 'hi' %]" => "hi" -ok 89 - Line 254 "[% 'hi %]" => "" -ok 90 - Line 255 "[% "$foo" %]" => "7" -ok 91 - Line 256 "[% "hi $foo" %]" => "hi 7" -ok 92 - Line 257 "[% "hi ${foo}" %]" => "hi 7" -ok 93 - Line 258 "[% 'hi $foo' %]" => "hi $foo" -ok 94 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" -ok 95 - Line 260 "[% 7 %]" => "7" -ok 96 - Line 261 "[% -7 %]" => "-7" -ok 97 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" -ok 98 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" -ok 99 - Line 266 "[% _foo %]2" => "2" -ok 100 - Line 267 "[% $bar %]2" => "2" -ok 101 - Line 268 "[% __foo %]2" => "2" -ok 102 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" -ok 103 - Line 271 "[% [0..10].-1 %]" => "10" -ok 104 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" -ok 105 - Line 274 "[% (1 + 2)() %]" => "" -ok 106 - Line 275 "[% (1 + 2) %]" => "3" -ok 107 - Line 276 "[% (a) %]" => "2" -ok 108 - Line 277 "[% ('foo') %]" => "foo" -ok 109 - Line 278 "[% (a(2)) %]" => "2" -ok 110 - Line 281 "[% JS 3 %]" => "3" -ok 111 - Line 282 "[% JS 3 %]" => "43" -ok 112 - Line 283 "[% JS; 3; END %]" => "" -### SET ############################################# engine_option (normal) -ok 113 - Line 288 "[% SET foo bar %][% foo %]" => "" -ok 114 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" -ok 115 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" -ok 116 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" -ok 117 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" -ok 118 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" -ok 119 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" -ok 120 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" -ok 121 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" -ok 122 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" -ok 123 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" -ok 124 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" -ok 125 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" -ok 126 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" -ok 127 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" -ok 128 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" -ok 129 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" -ok 130 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" -ok 131 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" -ok 132 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" -ok 133 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" -ok 134 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" -ok 135 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" -ok 136 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" -ok 137 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" -ok 138 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" -ok 139 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" -ok 140 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" -ok 141 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" -ok 142 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" -ok 143 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" -ok 144 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" -ok 145 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" -ok 146 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" -ok 147 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" -ok 148 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" -ok 149 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" -ok 150 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" -ok 151 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" -ok 152 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" -ok 153 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" -ok 154 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" -ok 155 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" -ok 156 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" -ok 157 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" -ok 158 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" -ok 159 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" -ok 160 - Line 344 "[% foo = 1 %][% foo %]" => "1" -ok 161 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" -ok 162 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" -ok 163 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" -ok 164 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" -ok 165 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" -ok 166 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" -ok 167 - Line 354 "[% foo._bar %]2" => "2" -### multiple statements in same tag ################# engine_option (normal) -ok 168 - Line 359 "[% foo; %]" => "1" -ok 169 - Line 360 "[% GET foo; %]" => "1" -ok 170 - Line 361 "[% GET foo; GET foo %]" => "11" -ok 171 - Line 362 "[% GET foo GET foo %]" => "11" -ok 172 - Line 363 "[% GET foo GET foo %]" => "" -ok 173 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" -ok 174 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" -ok 175 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" -ok 176 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" -ok 177 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" -ok 178 - Line 371 "[% a = 1 a = a + 2 a %]" => "" -### CALL / DEFAULT ################################## engine_option (normal) -ok 179 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" -ok 180 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" -ok 181 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" -ok 182 - Line 382 "[% foo %]" => "hi" -ok 183 - Line 383 "[% GET foo %]" => "hi" -ok 184 - Line 384 "[% CALL foo %]" => "" -ok 185 - CALL method actually called var -### scalar vmethods ################################# engine_option (normal) -ok 186 - Line 391 "[% n.0 %]" => "7" -ok 187 - Line 392 "[% n.abs %]" => "7" -ok 188 - Line 393 "[% n.abs %]" => "7" -ok 189 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" -ok 190 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" -ok 191 - Line 396 "[% n.chunk(3).join %]" => "abc def g" -ok 192 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" -ok 193 - Line 398 "[% n|collapse %]" => "a b" -ok 194 - Line 399 "[% n.cos.substr(0,5) %]" => "1" -ok 195 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" -ok 196 - Line 401 "[% n.defined %]" => "1" -ok 197 - Line 402 "[% n.defined %]" => "" -ok 198 - Line 403 "[% n.defined %]" => "1" -ok 199 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" -ok 200 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" -ok 201 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" -ok 202 - Line 407 "[% n.fmt %]" => "7" -ok 203 - Line 408 "[% n.fmt('%02d') %]" => "07" -ok 204 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" -ok 205 - Line 410 "[% n.fmt('(%s)') %]" => "(a -# b)" -ok 206 - Line 411 "[% n|format('%02d') %]" => "07" -ok 207 - Line 412 "[% n|format('%0*d', 3) %]" => "007" -ok 208 - Line 413 "[% n|format('(%s)') %]" => "(a) -# (b)" -ok 209 - Line 414 "[% n.hash.items.1 %]" => "b" -ok 210 - Line 415 "[% n.hex %]" => "255" -ok 211 - Line 416 "[% n|html %]" => "&<>"'" -ok 212 - Line 418 "[% n|xml %]" => "&<>"'" -ok 213 - Line 419 "[% n|indent %]" => " a -# b" -ok 214 - Line 420 "[% n|indent(2) %]" => " a -# b" -ok 215 - Line 421 "[% n|indent('wow ') %]" => "wow a -# wow b" -ok 216 - Line 422 "[% n.int %]" => "123" -ok 217 - Line 423 "[% n.int %]" => "123" -ok 218 - Line 424 "[% n.int %]" => "0" -ok 219 - Line 425 "[% n.item %]" => "7" -ok 220 - Line 426 "[% n.lc %]" => "abc" -ok 221 - Line 427 "[% n|lcfirst %]" => "fOO" -ok 222 - Line 428 "[% n.length %]" => "3" -ok 223 - Line 429 "[% n.list.0 %]" => "abc" -ok 224 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" -ok 225 - Line 431 "[% n|lower %]" => "abc" -ok 226 - Line 432 "[% n.match('foo').join %]" => "" -ok 227 - Line 433 "[% n.match('foo').join %]" => "1" -ok 228 - Line 434 "[% n.match('foo',1).join %]" => "foo" -ok 229 - Line 435 "[% n.match('(foo)').join %]" => "foo" -ok 230 - Line 436 "[% n.match('(foo)').join %]" => "foo" -ok 231 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" -ok 232 - Line 438 "[% n.null %]" => "" -ok 233 - Line 439 "[% n.oct %]" => "255" -ok 234 - Line 440 "[% n.rand %]" => "1.97455900596288" -ok 235 - Line 441 "[% n.rand %]" => "0.90053763109924" -ok 236 - Line 442 "[% n.remove('bc') %]" => "a" -ok 237 - Line 443 "[% n.remove('bc') %]" => "aa" -ok 238 - Line 444 "[% n.repeat %]" => "1" -ok 239 - Line 445 "[% n.repeat(0) %]" => "" -ok 240 - Line 446 "[% n.repeat(1) %]" => "1" -ok 241 - Line 447 "[% n.repeat(2) %]" => "11" -ok 242 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" -ok 243 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" -ok 244 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" -ok 245 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" -ok 246 - Line 452 "[% n.search('foo') %]" => "" -ok 247 - Line 453 "[% n.search('foo') %]" => "1" -ok 248 - Line 454 "[% n.sin.substr(0,5) %]" => "0" -ok 249 - Line 455 "[% n.sin.substr(0,5) %]" => "1" -ok 250 - Line 456 "[% n.size %]" => "1" -ok 251 - Line 457 "[% n.split.join('|') %]" => "abc" -ok 252 - Line 458 "[% n.split.join('|') %]" => "a|b|c" -ok 253 - Line 459 "[% n.split.join('|') %]" => "a|b|c" -ok 254 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" -ok 255 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" -ok 256 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" -ok 257 - Line 464 "[% n.sprintf(7) %]" => "7" -ok 258 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" -ok 259 - Line 466 "[% n.sqrt %]" => "3" -ok 260 - Line 467 "[% n.squote %]" => "( -# |\\|\')" -ok 261 - Line 468 "[% n.srand; 12 %]" => "12" -ok 262 - Line 470 "[% n.stderr %]" => "" -ok 263 - Line 474 "[% n|trim %]" => "a b" -ok 264 - Line 475 "[% n.uc %]" => "FOO" -ok 265 - Line 476 "[% n|ucfirst %]" => "Foo" -ok 266 - Line 477 "[% n|upper %]" => "FOO" -ok 267 - Line 478 "[% n|uri %]" => "a%20b" -ok 268 - Line 480 "[% n.fmt('%c') %]" => "B" -ok 269 - Line 481 "[% n.fmt('%3X') %]" => " C" -ok 270 - Line 482 "[% n.fmt('%-3X') %]" => "C " -ok 271 - Line 483 "[% n.fmt('%03X') %]" => "00C" -ok 272 - Line 484 "[% n.fmt('%03X') %]" => "00C" -ok 273 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" -ok 274 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" -ok 275 - Line 488 "[% n.fmt('%o') %]" => "10" -ok 276 - Line 489 "[% n.fmt('%\#o') %]" => "010" -ok 277 - Line 490 "[% n.fmt('%\#o') %]" => "0" -ok 278 - Line 492 "[% n.fmt('%02d') %]" => "07" -ok 279 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" -ok 280 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" -ok 281 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" -ok 282 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" -ok 283 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" -ok 284 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" -ok 285 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" -ok 286 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" -ok 287 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" -ok 288 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" -ok 289 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" -ok 290 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" -ok 291 - Line 505 "[% n.fmt('%.5g') %]" => "12345" -ok 292 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" -### list vmethods ################################### engine_option (normal) -ok 293 - Line 511 "[% a.defined %]" => "1" -ok 294 - Line 512 "[% a.defined(1) %]" => "1" -ok 295 - Line 513 "[% a.defined(3) %]" => "" -ok 296 - Line 514 "[% a.first %]" => "2" -ok 297 - Line 515 "[% a.first(3).join %]" => "2 3 4" -ok 298 - Line 516 "[% a.fmt %]" => "2 3" -ok 299 - Line 517 "[% a.fmt('%02d') %]" => "02 03" -ok 300 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" -ok 301 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" -ok 302 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" -ok 303 - Line 521 "[% a.grep.join %]" => "2 3" -ok 304 - Line 522 "[% a.grep(2).join %]" => "2" -ok 305 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" -ok 306 - Line 524 "[% a.hash.items.join %]" => "2 3" -ok 307 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" -ok 308 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" -ok 309 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" -ok 310 - Line 530 "[% a.item %]" => "2" -ok 311 - Line 531 "[% a.item(1) %]" => "3" -ok 312 - Line 532 "[% a.join %]" => "2 3" -ok 313 - Line 533 "[% a.join('|') %]" => "2|3" -ok 314 - Line 534 "[% a.last %]" => "10" -ok 315 - Line 535 "[% a.last(3).join %]" => "8 9 10" -ok 316 - Line 536 "[% a.list.join %]" => "2 3" -ok 317 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" -ok 318 - Line 538 "[% a.max %]" => "1" -ok 319 - Line 539 "[% a.merge(5).join %]" => "2 3" -ok 320 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" -ok 321 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" -ok 322 - Line 542 "[% a.nsort.join %]" => "1 2 3" -ok 323 - Line 543 "[% a.nsort('b').0.b %]" => "7" -ok 324 - Line 544 "[% a.pop %][% a.join %]" => "32" -ok 325 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" -ok 326 - Line 546 "[% a.pick %]" => "2" -ok 327 - Line 547 "[% a.pick(5).join('') %]" => "23223" -ok 328 - Line 548 "[% a.reverse.join %]" => "3 2" -ok 329 - Line 549 "[% a.shift %][% a.join %]" => "23" -ok 330 - Line 550 "[% a.size %]" => "2" -ok 331 - Line 551 "[% a.slice.join %]" => "2 3 4 5" -ok 332 - Line 552 "[% a.slice(2).join %]" => "4 5" -ok 333 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" -ok 334 - Line 554 "[% a.sort.join %]" => "1 2 3" -ok 335 - Line 555 "[% a.sort('b').0.b %]" => "wee" -ok 336 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" -ok 337 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" -ok 338 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" -ok 339 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" -ok 340 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" -ok 341 - Line 561 "[% a.unique.join %]" => "2 3" -ok 342 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" -### hash vmethods ################################### engine_option (normal) -ok 343 - Line 567 "[% h.defined %]" => "1" -ok 344 - Line 568 "[% h.defined('a') %]" => "1" -ok 345 - Line 569 "[% h.defined('b') %]" => "" -ok 346 - Line 570 "[% h.defined('a') %]" => "" -ok 347 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" -ok 348 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" -ok 349 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" -ok 350 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" -ok 351 - Line 575 "[% h.exists('a') %]" => "1" -ok 352 - Line 576 "[% h.exists('b') %]" => "" -ok 353 - Line 577 "[% h.exists('a') %]" => "1" -ok 354 - Line 578 "[% h.fmt %]" => "b B -# c C" -ok 355 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B -# c => C" -ok 356 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" -ok 357 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" -ok 358 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" -ok 359 - Line 583 "[% h.hash.fmt %]" => "b B -# c C" -ok 360 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" -ok 361 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" -ok 362 - Line 586 "[% h.item('a') %]" => "A" -ok 363 - Line 587 "[% h.item('_a') %]" => "" -ok 364 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" -ok 365 - Line 589 "[% h.keys.sort.join %]" => "a b" -ok 366 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" -ok 367 - Line 591 "[% h.list('keys').sort.join %]" => "a b" -ok 368 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" -ok 369 - Line 593 "[% h.list('values').sort.join %]" => "1 2" -ok 370 - Line 594 "[% h.null %]" => "" -ok 371 - Line 595 "[% h.nsort.join %]" => "b a" -ok 372 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" -ok 373 - Line 597 "[% h.size %]" => "2" -ok 374 - Line 598 "[% h.sort.join %]" => "b a" -ok 375 - Line 599 "[% h.values.sort.join %]" => "1 2" -### vmethods as functions ########################### engine_option (normal) -ok 376 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" -ok 377 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" -ok 378 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" -ok 379 - Line 607 "[% int(2.234) %]" => "2" -ok 380 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" -### more virtual methods / filters ################## engine_option (normal) -ok 381 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" -ok 382 - Line 615 "[% {a => 'A'}.a %]" => "A" -ok 383 - Line 616 "[% 'This is a string'.length %]" => "16" -ok 384 - Line 617 "[% 123.length %]" => "3" -ok 385 - Line 618 "[% 123.2.length %]" => "5" -ok 386 - Line 619 "[% -123.2.length %]" => "-5" -ok 387 - Line 620 "[% (-123.2).length %]" => "6" -ok 388 - Line 621 "[% a = 23; a.0 %]" => "23" -ok 389 - Line 622 "[% 1.rand %]" => "0.15075242533052" -ok 390 - Line 624 "[% n.size %]" => "SIZE" -ok 391 - Line 625 "[% n|size %]" => "2" -ok 392 - Line 627 "[% "1" | indent(2) %]" => " 1" -ok 393 - Line 629 "[% n FILTER size %]" => "1" -ok 394 - Line 631 "[% n FILTER repeat %]" => "1" -ok 395 - Line 632 "[% n FILTER repeat(0) %]" => "" -ok 396 - Line 633 "[% n FILTER repeat(1) %]" => "1" -ok 397 - Line 634 "[% n FILTER repeat(2) %]" => "11" -ok 398 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" -ok 399 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" -ok 400 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" -ok 401 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" -ok 402 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" -ok 403 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" -ok 404 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" -ok 405 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" -ok 406 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" -ok 407 - Line 646 "[% "hi" FILTER foo %]" => "hihi" -ok 408 - Line 647 "[% "hi" FILTER foo %]" => "hihi" -ok 409 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" -ok 410 - Line 650 "[% ["0".."9"].pick %]" => "9" -ok 411 - Line 652 "[% ' ' | uri %]" => "%20" -ok 412 - Line 654 "[% "one".fmt %]" => "one" -ok 413 - Line 655 "[% 2.fmt("%02d") %]" => "02" -ok 414 - Line 657 "[% [1..3].fmt %]" => "1 2 3" -ok 415 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" -ok 416 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" -ok 417 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B -# c D" -ok 418 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B -# c:D" -ok 419 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" -ok 420 - Line 665 "[% 1|format("%s") %]" => "1" -ok 421 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" -ok 422 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " -ok 423 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " -ok 424 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " -ok 425 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" -ok 426 - Line 673 "[% foo %]" => "&" -ok 427 - Line 674 "[% "&" %]" => "&" -ok 428 - Line 675 "[% foo | none %]" => "&" -ok 429 - Line 676 "[% foo.bar %]" => "&" -ok 430 - Line 677 "[% foo.bar | none %]" => "&" -ok 431 - Line 678 "[% GET foo %]" => "&" -ok 432 - Line 679 "[% GET "&" %]" => "&" -ok 433 - Line 680 "[% GET foo | none %]" => "&" -ok 434 - Line 681 "[% Text.length(foo) %]" => "1" -### virtual objects ################################# engine_option (normal) -ok 435 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" -ok 436 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" -ok 437 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" -ok 438 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" -ok 439 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" -ok 440 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" -ok 441 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" -ok 442 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" -ok 443 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" -### chomping ######################################## engine_option (normal) -ok 444 - Line 701 " [% foo %]" => " " -ok 445 - Line 702 " [%- foo %]" => "" -ok 446 - Line 703 " -# [%- foo %]" => "" -ok 447 - Line 704 " -# [%- foo %]" => "" -ok 448 - Line 705 " -# -# [%- foo %]" => " -# " -ok 449 - Line 706 " -# -# [%- foo %]" => " -# " -ok 450 - Line 707 " -# [%- foo %]" => " " -ok 451 - Line 708 " -# -# [%- foo %]" => " -# " -ok 452 - Line 710 "[% 7 %] " => "7 " -ok 453 - Line 711 "[% 7 -%] " => "7 " -ok 454 - Line 712 "[% 7 -%] -# " => "7" -ok 455 - Line 713 "[% 7 -%] -# " => "7" -ok 456 - Line 714 "[% 7 -%] -# " => "7 " -ok 457 - Line 715 "[% 7 -%] -# -# -# " => "7 -# -# " -ok 458 - Line 716 "[% 7 -%] -# " => "7 " -### string operators ################################ engine_option (normal) -ok 459 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" -ok 460 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" -ok 461 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" -ok 462 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" -ok 463 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" -ok 464 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" -ok 465 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" -ok 466 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" -ok 467 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" -ok 468 - Line 730 "[% "b" le "a" %]<<<" => "<<<" -ok 469 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" -ok 470 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" -ok 471 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" -ok 472 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" -### math operators ################################## engine_option (normal) -ok 473 - Line 739 "[% 1 + 2 %]" => "3" -ok 474 - Line 740 "[% 1 + 2 + 3 %]" => "6" -ok 475 - Line 741 "[% (1 + 2) %]" => "3" -ok 476 - Line 742 "[% 2 - 1 %]" => "1" -ok 477 - Line 743 "[% -1 + 2 %]" => "1" -ok 478 - Line 744 "[% -1+2 %]" => "1" -ok 479 - Line 745 "[% 2 - 1 %]" => "1" -ok 480 - Line 746 "[% 2-1 %]" => "1" -ok 481 - Line 747 "[% 2 - -1 %]" => "3" -ok 482 - Line 748 "[% 4 * 2 %]" => "8" -ok 483 - Line 749 "[% 4 / 2 %]" => "2" -ok 484 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" -ok 485 - Line 751 "[% 10 div 3 %]" => "3" -ok 486 - Line 752 "[% 2 ** 3 %]" => "8" -ok 487 - Line 753 "[% 1 + 2 * 3 %]" => "7" -ok 488 - Line 754 "[% 3 * 2 + 1 %]" => "7" -ok 489 - Line 755 "[% (1 + 2) * 3 %]" => "9" -ok 490 - Line 756 "[% 3 * (1 + 2) %]" => "9" -ok 491 - Line 757 "[% 1 + 2 ** 3 %]" => "9" -ok 492 - Line 758 "[% 2 * 2 ** 3 %]" => "16" -ok 493 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" -ok 494 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" -ok 495 - Line 762 "[% a = 1; (a += 2) %]" => "3" -ok 496 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" -ok 497 - Line 764 "[% a = 4; (a /= 2) %]" => "2" -ok 498 - Line 765 "[% a = 1; (a *= 2) %]" => "2" -ok 499 - Line 766 "[% a = 3; (a **= 2) %]" => "9" -ok 500 - Line 767 "[% a = 1; (a %= 2) %]" => "1" -ok 501 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" -ok 502 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" -ok 503 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" -ok 504 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" -ok 505 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" -ok 506 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" -ok 507 - Line 776 "[% a = 2; a *= 3; a %]" => "6" -ok 508 - Line 777 "[% a = 2; a /= .5; a %]" => "4" -ok 509 - Line 778 "[% a = 8; a %= 3; a %]" => "2" -ok 510 - Line 779 "[% a = 2; a **= 3; a %]" => "8" -ok 511 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" -ok 512 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" -ok 513 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" -ok 514 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" -ok 515 - Line 785 "[% a++ FOR [1..3] %]" => "012" -ok 516 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" -ok 517 - Line 788 "[% 2 > 3 %]<<<" => "<<<" -ok 518 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" -ok 519 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" -ok 520 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" -ok 521 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" -ok 522 - Line 793 "[% 2 < 1 %]<<<" => "<<<" -ok 523 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" -ok 524 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" -ok 525 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" -ok 526 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" -ok 527 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" -### boolean operators ############################### engine_option (normal) -ok 528 - Line 803 "[% 5 && 6 %]" => "6" -ok 529 - Line 804 "[% 5 || 6 %]" => "5" -ok 530 - Line 805 "[% 0 || 6 %]" => "6" -ok 531 - Line 806 "[% 0 && 6 %]" => "0" -ok 532 - Line 807 "[% 0 && 0 %]" => "0" -ok 533 - Line 808 "[% 5 && 6 && 7%]" => "7" -ok 534 - Line 809 "[% 0 || 1 || 2 %]" => "1" -ok 535 - Line 811 "[% 5 + (0 || 5) %]" => "10" -ok 536 - Line 814 "[% 1 ? 2 : 3 %]" => "2" -ok 537 - Line 815 "[% 0 ? 2 : 3 %]" => "3" -ok 538 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" -ok 539 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" -ok 540 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" -ok 541 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" -ok 542 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" -ok 543 - Line 823 "[% 0 ? 2 : 3 %]" => "3" -ok 544 - Line 824 "[% 1 ? 2 : 3 %]" => "2" -ok 545 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" -ok 546 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" -ok 547 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" -ok 548 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" -ok 549 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" -ok 550 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" -ok 551 - Line 833 "[% foo //= 2 ; foo %]" => "2" -ok 552 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" -ok 553 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" -ok 554 - Line 837 "[% 5 // 6 %]" => "5" -ok 555 - Line 838 "[% foo // 6 %]" => "6" -ok 556 - Line 839 "[% foo // 6 %]" => "6" -ok 557 - Line 840 "[% foo // 6 %]" => "" -ok 558 - Line 841 "[% foo // 6 %]" => "bar" -ok 559 - Line 843 "[% foo err 6 %]" => "6" -ok 560 - Line 844 "[% foo ERR 6 %]" => "6" -### regex ########################################### engine_option (normal) -ok 561 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" -ok 562 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" -ok 563 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" -ok 564 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" -ok 565 - Line 854 "[% 'f -# o'.match(/f.o/s) ? 1 : 0 %]" => "1" -ok 566 - Line 855 "[% ' -# foo'.match(/^foo/m) ? 1 : 0 %]" => "1" -ok 567 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" -ok 568 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" -ok 569 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" -ok 570 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" -ok 571 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" -ok 572 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" -### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (normal) -ok 573 - Line 867 "[% PROCESS foo %]one" => "" -ok 574 - Line 868 "[% BLOCK foo %]one" => "" -ok 575 - Line 869 "[% BLOCK foo %][% END %]one" => "one" -ok 576 - Line 870 "[% BLOCK %][% END %]one" => "one" -ok 577 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" -ok 578 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" -ok 579 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" -ok 580 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" -ok 581 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" -ok 582 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" -ok 583 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" -ok 584 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" -ok 585 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" -ok 586 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" -ok 587 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" -ok 588 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" -ok 589 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" -ok 590 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" -ok 591 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" -ok 592 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" -ok 593 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" -ok 594 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" -ok 595 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" -ok 596 - Line 893 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "" -ok 597 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" -ok 598 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" -ok 599 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" -ok 600 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" -### IF / UNLESS / ELSIF / ELSE ###################### engine_option (normal) -ok 601 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" -ok 602 - Line 906 "[% IF 0 %]Yes[% END %]" => "" -ok 603 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" -ok 604 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" -ok 605 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" -ok 606 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" -ok 607 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" -ok 608 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" -ok 609 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" -ok 610 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" -ok 611 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" -ok 612 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" -### comments ######################################## engine_option (normal) -ok 613 - Line 922 "[%\# one %]f" => "f" -ok 614 - Line 923 "[%\# -# one %]f" => "f" -ok 615 - Line 924 "[%-\# -# one %]f" => "f" -ok 616 - Line 925 "[% \# -# one %]f" => "ONEf" -ok 617 - Line 926 "[% \# one %] -# one %]f" => " -# one %]f" -ok 618 - Line 928 "[%\# BLOCK one %]" => "" -ok 619 - Line 929 "[%\# BLOCK one %]two" => "two" -ok 620 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" -ok 621 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" -ok 622 - Line 932 "[% %]" => "" -ok 623 - Line 933 "[% -# # Some comment -# CALL 1 -%] -# foo" => "foo" -### FOREACH / NEXT / LAST ########################### engine_option (normal) -ok 624 - Line 941 "[% FOREACH foo %]" => "" -ok 625 - Line 942 "[% FOREACH foo %][% END %]" => "" -ok 626 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" -ok 627 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" -ok 628 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" -ok 629 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" -ok 630 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" -ok 631 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" -ok 632 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" -ok 633 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" -ok 634 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" -ok 635 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " -ok 636 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" -ok 637 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" -ok 638 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" -ok 639 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" -ok 640 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" -ok 641 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" -ok 642 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" -ok 643 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" -ok 644 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" -ok 645 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" -ok 646 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" -ok 647 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" -ok 648 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" -ok 649 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" -ok 650 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" -ok 651 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" -ok 652 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" -ok 653 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" -ok 654 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" -ok 655 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" -ok 656 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" -ok 657 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" -ok 658 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" -ok 659 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" -ok 660 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" -ok 661 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" -ok 662 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" -ok 663 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" -ok 664 - Line 988 "[% FOREACH f IN [2,3,4]; FOREACH g IN [6,7,8]; f;g;", "; END; END %]" => "26, 27, 28, 36, 37, 38, 46, 47, 48, " -ok 665 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 666 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 667 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 668 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 669 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 670 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 671 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 672 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" -### LOOP ############################################ engine_option (normal) -ok 673 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] -# [% LOOP var -%] -# ([% key %]) -# [% END %]" => " (a) -# (b) -# " -ok 674 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] -# [% LOOP var -%] -# ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) -# [% END -%]" => "(a|1|0|0|1) -# (b|0|0|1|0) -# (c|0|1|0|1) -# " -### WHILE ########################################### engine_option (normal) -ok 675 - Line 1033 "[% WHILE foo %]" => "" -ok 676 - Line 1034 "[% WHILE foo %][% END %]" => "" -ok 677 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" -ok 678 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" -ok 679 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" -ok 680 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" -ok 681 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" -ok 682 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" -ok 683 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" -ok 684 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" -ok 685 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" -ok 686 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" -ok 687 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" -### STOP / RETURN / CLEAR ########################### engine_option (normal) -ok 688 - Line 1052 "[% STOP %]" => "" -ok 689 - Line 1053 "One[% STOP %]Two" => "One" -ok 690 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" -ok 691 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" -ok 692 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" -ok 693 - Line 1058 "[% RETURN %]" => "" -ok 694 - Line 1059 "One[% RETURN %]Two" => "One" -ok 695 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" -ok 696 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" -ok 697 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" -ok 698 - Line 1064 "[% CLEAR %]" => "" -ok 699 - Line 1065 "One[% CLEAR %]Two" => "Two" -ok 700 - Line 1066 "[% BLOCK foo %]One[% CLEAR %]Two[% END %]First[% PROCESS foo %]Last" => "FirstTwoLast" -ok 701 - Line 1067 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% CLEAR %][% END %][% END %]" => "23" -ok 702 - Line 1068 "[% FOREACH f = [1..3] %][% IF loop.first %][% CLEAR %][% END %][% f %][% END %]" => "123" -ok 703 - Line 1069 "[% FOREACH f = [1..3] %][% f %][% IF loop.last %][% CLEAR %][% END %][% END %]" => "" -ok 704 - Line 1070 "[% FOREACH f = [1..3] %][% IF loop.last %][% CLEAR %][% END %][% f %][% END %]" => "3" -### post opererative directives ##################### engine_option (normal) -ok 705 - Line 1075 "[% GET foo IF 1 %]" => "1" -ok 706 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" -ok 707 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" -ok 708 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" -ok 709 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" -ok 710 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" -ok 711 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" -ok 712 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" -ok 713 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" -ok 714 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" -ok 715 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" -ok 716 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" -### capturing ####################################### engine_option (normal) -ok 717 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" -ok 718 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" -ok 719 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" -ok 720 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" -ok 721 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" -### TAGS ############################################ engine_option (normal) -ok 722 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" -ok 723 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" -ok 724 - Line 1105 "[% TAGS html %]" => "3" -ok 725 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" -ok 726 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" -ok 727 - Line 1108 "[% TAGS php %]" => "3" -ok 728 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" -ok 729 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" -ok 730 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" -ok 731 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" -ok 732 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" -ok 733 - Line 1115 "[% TAGS html %] " => "3" -ok 734 - Line 1116 "[% TAGS html %]" => "3" -ok 735 - Line 1117 "[% TAGS html %] -# " => "3" -ok 736 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" -ok 737 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" -ok 738 - Line 1121 "[% TAGS %]" => "3" -ok 739 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" -ok 740 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" -ok 741 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" -ok 742 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" -ok 743 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" -ok 744 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" -ok 745 - Line 1130 "[% TAGS html -->" => "3" -ok 746 - Line 1131 "[% TAGS html ; 7 -->" => "73" -ok 747 - Line 1132 "[% TAGS html ; 7 %]" => "" -### SWITCH / CASE ################################### engine_option (normal) -ok 748 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" -ok 749 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" -ok 750 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" -ok 751 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" -ok 752 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" -ok 753 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" -ok 754 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" -ok 755 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" -ok 756 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" -ok 757 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" -### TRY / THROW / CATCH / FINAL ##################### engine_option (normal) -ok 758 - Line 1152 "[% TRY %][% END %]hi" => "hi" -ok 759 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" -ok 760 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "" -ok 761 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" -ok 762 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" -ok 763 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" -ok 764 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" -ok 765 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "" -ok 766 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" -ok 767 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" -ok 768 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" -ok 769 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" -ok 770 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "" -ok 771 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" -ok 772 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" -ok 773 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" -ok 774 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" -ok 775 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" -### named args ###################################### engine_option (normal) -ok 776 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" -ok 777 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" -### USE ############################################# engine_option (normal) -ok 778 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" -ok 779 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" -ok 780 - Line 1187 "[% USE FooTest %]one" => "one" -ok 781 - Line 1188 "[% USE FooTest2 %]one" => "one" -ok 782 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" -ok 783 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" -ok 784 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" -ok 785 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" -ok 786 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" -ok 787 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" -ok 788 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" -ok 789 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" -ok 790 - Line 1200 "[% USE FooTest %]three" => "three" -### MACRO ########################################### engine_option (normal) -ok 791 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" -ok 792 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" -ok 793 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" -ok 794 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" -ok 795 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" -ok 796 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" -ok 797 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" -ok 798 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" -ok 799 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" -ok 800 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" -ok 801 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" -ok 802 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" -ok 803 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" -### DEBUG ########################################### engine_option (normal) -ok 804 - Line 1226 " -# -# [% one %]" => " -# -# -# ## input text line 3 : [% one %] ## -# ONE" -ok 805 - Line 1227 "[% one %]" => " -# ## input text line 1 : [% one %] ## -# ONE" -ok 806 - Line 1228 "[% one %] -# -# " => "(1)ONE -# -# " -ok 807 - Line 1229 "1 -# 2 -# 3[% one %]" => "1 -# 2 -# 3(3)ONE" -ok 808 - Line 1230 "[% one; -# one %]" => "(1)ONE(2)ONE" -ok 809 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " -# ## input text line 1 : [% DEBUG format '($line)' %] ## -# (1)ONE" -ok 810 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined -# " -ok 811 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined -# " -### constants ####################################### engine_option (normal) -ok 812 - Line 1255 "[% constants.harry %]" => "do_this_once" -ok 813 - Line 1256 "[% constants.harry.length %]" => "12" -ok 814 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" -ok 815 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" -ok 816 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" -ok 817 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" -ok 818 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" -ok 819 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" -ok 820 - Line 1264 "[% ${"constants"}.harry %]" => "foo" -ok 821 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" -### CONTEXT ######################################### engine_option (normal) -ok 822 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 823 - Line 1273 "[% cctx.array %]" => "ARRAY(0x55ca0116fe60)" -ok 824 - Line 1274 "[% cctx.array2 %]" => "4" -ok 825 - Line 1275 "[% cctx.list %]" => "ARRAY(0x55ca01192528)" -ok 826 - Line 1276 "[% cctx.scalar %]" => "8" -ok 827 - Line 1277 "[% cctx.bang %]" => "bing" -ok 828 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 829 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" -ok 830 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" -ok 831 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" -ok 832 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" -ok 833 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" -ok 834 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 835 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" -ok 836 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" -ok 837 - Line 1290 "[% cctx.array %]" => "ARRAY(0x55ca011afc90)" -ok 838 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0x55ca011921f8)" -ok 839 - Line 1292 "[% $(cctx.array) %]" => "3" -ok 840 - Line 1293 "[% cctx.array2 %]" => "4" -ok 841 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0x55ca01191760)" -ok 842 - Line 1295 "[% $(cctx.array2) %]" => "1" -ok 843 - Line 1296 "[% cctx.list %]" => "ARRAY(0x55ca011aa4d8)" -ok 844 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0x55ca01197f78)" -ok 845 - Line 1298 "[% $(cctx.list) %]" => "7" -ok 846 - Line 1299 "[% cctx.scalar %]" => "8" -ok 847 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0x55ca01169498)" -ok 848 - Line 1301 "[% $(cctx.scalar) %]" => "8" -ok 849 - Line 1302 "[% cctx.bang %] ~" => "bing ~" -ok 850 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" -ok 851 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" -ok 852 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" -ok 853 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" -ok 854 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" -ok 855 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" -ok 856 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" -ok 857 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" -ok 858 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" -ok 859 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" -ok 860 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" -ok 861 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" -ok 862 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" -ok 863 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" -ok 864 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" -ok 865 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" -ok 866 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" -ok 867 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" -ok 868 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" -ok 869 - Line 1333 "[% cctxo.array %]" => "ARRAY(0x55ca011694c8)" -ok 870 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0x55ca0118ba20)" -ok 871 - Line 1335 "[% $(cctxo.array) %]" => "3" -ok 872 - Line 1336 "[% cctxo.array2 %]" => "4" -ok 873 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0x55ca0118b780)" -ok 874 - Line 1338 "[% $(cctxo.array2) %]" => "1" -ok 875 - Line 1339 "[% cctxo.list %]" => "ARRAY(0x55ca0118bd20)" -ok 876 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0x55ca0118beb8)" -ok 877 - Line 1341 "[% $(cctxo.list) %]" => "7" -ok 878 - Line 1342 "[% cctxo.scalar %]" => "8" -ok 879 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0x55ca0118bae0)" -ok 880 - Line 1344 "[% $(cctxo.scalar) %]" => "8" -ok 881 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" -ok 882 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" -ok 883 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" -ok 884 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" -### INTERPOLATE ##################################### engine_option (normal) -ok 885 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" -ok 886 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" -ok 887 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" -ok 888 - Line 1364 "Foo \ Bar" => "Foo \ Bar" -ok 889 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" -ok 890 - Line 1366 "Foo \n Bar" => "Foo \n Bar" -ok 891 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" -ok 892 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" -ok 893 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" -ok 894 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" -ok 895 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" -ok 896 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" -ok 897 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" -ok 898 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 899 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 900 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 901 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 902 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" -ok 903 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" -### ANYCASE / TRIM ################################## engine_option (normal) -ok 904 - Line 1385 "[% GET %]" => "" -ok 905 - Line 1386 "[% GET GET %]" => "ONE" -ok 906 - Line 1387 "[% get one %]" => "ONE" -ok 907 - Line 1388 "[% get %]" => "" -ok 908 - Line 1389 "[% get get %]" => "ONE" -ok 909 - Line 1391 "[% BLOCK foo %] -# hi -# [% END %][% PROCESS foo %]" => " -# hi -# " -ok 910 - Line 1392 "[% BLOCK foo %] -# hi[% END %][% PROCESS foo %]" => "hi" -ok 911 - Line 1393 "[% BLOCK foo %]hi -# [% END %][% PROCESS foo %]" => "hi" -ok 912 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi" -ok 913 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => "hi" -ok 914 - Line 1396 "A[% TRY %] -# hi -# [% END %]" => "A -# hi" -ok 915 - Line 1398 "[% FOO %]" => "foo" -### V1DOLLAR ######################################## engine_option (normal) -ok 916 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 917 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" -ok 918 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" -ok 919 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" -ok 920 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" -ok 921 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" -ok 922 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" -ok 923 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" -ok 924 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" -### V2PIPE / V2EQUALS ############################### engine_option (normal) -ok 925 - Line 1420 "[%- BLOCK a %]b is [% b %] -# [% END %] -# [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 -# b is 237 -# " -ok 926 - Line 1425 "[%- BLOCK a %]b is [% b %] -# [% END %] -# [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 -# " -ok 927 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" -ok 928 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" -ok 929 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" -ok 930 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" -ok 931 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" -ok 932 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" -ok 933 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" -ok 934 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" -ok 935 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" -ok 936 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" -### configuration ################################### engine_option (normal) -ok 937 - Line 1443 "[% a = 7 %]$a" => "7" -ok 938 - Line 1444 "[% a = 7 %]$a" => "7" -### PERL ############################################ engine_option (normal) -ok 939 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" -ok 940 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" -ok 941 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" -ok 942 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" -ok 943 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" -### recursion prevention ############################ engine_option (normal) -ok 944 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" -### META ############################################ engine_option (normal) -ok 945 - Line 1463 "[% template.name %]" => "input text" -ok 946 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" -ok 947 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" -ok 948 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" -ok 949 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" -ok 950 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" -### references ###################################### engine_option (normal) -ok 951 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" -ok 952 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" -ok 953 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" -ok 954 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" -ok 955 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" -ok 956 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" -ok 957 - Line 1482 "[% \a %]" => "CODE(0x55ca011b48a8)" -ok 958 - Line 1483 "[% b=\a; b %]" => "a sub []" -ok 959 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" -ok 960 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" -ok 961 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" -ok 962 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" -ok 963 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" -ok 964 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" -ok 965 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" -ok 966 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" -ok 967 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" -ok 968 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" -### reserved words ################################## engine_option (normal) -ok 969 - Line 1506 "[% GET %]" => "" -ok 970 - Line 1507 "[% GET GET %]" => "named_get" -ok 971 - Line 1508 "[% GET get %]" => "lower_named_get" -ok 972 - Line 1509 "[% GET ${'GET'} %]" => "bar" -ok 973 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" -ok 974 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" -ok 975 - Line 1514 "[% GET $hold_get %]" => "named_get" -ok 976 - Line 1515 "[% GET $GET %]" => "value of named_get" -ok 977 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" -ok 978 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" -ok 979 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" -ok 980 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" -### embedded items ################################## engine_option (normal) -ok 981 - Line 1524 "[% " \" " %]" => " " " -ok 982 - Line 1525 "[% " \$foo " %]" => " $foo " -ok 983 - Line 1526 "[% " \${foo} " %]" => " ${foo} " -ok 984 - Line 1527 "[% " \n " %]" => " -# " -ok 985 - Line 1528 "[% " \t " %]" => " " -ok 986 - Line 1529 "[% " \r " %]" => " " -ok 987 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" -ok 988 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" -ok 989 - Line 1533 "[% qw(foo \)).1 %]" => ")" -ok 990 - Line 1534 "[% qw|foo \||.1 %]" => "|" -ok 991 - Line 1536 "[% ' \' ' %]" => " ' " -ok 992 - Line 1537 "[% ' \r ' %]" => " \r " -ok 993 - Line 1538 "[% ' \n ' %]" => " \n " -ok 994 - Line 1539 "[% ' \t ' %]" => " \t " -ok 995 - Line 1540 "[% ' $foo ' %]" => " $foo " -ok 996 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" -ok 997 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" -ok 998 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" -ok 999 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" -ok 1000 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" -ok 1001 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" -ok 1002 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" -ok 1003 - Line 1550 "[% "[%" %]" => "[%" -ok 1004 - Line 1551 "[% "%]" %]" => "%]" -ok 1005 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" -ok 1006 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" -### STRICT ########################################## engine_option (normal) -ok 1007 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" -ok 1008 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" -ok 1009 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" -ok 1010 - Line 1561 "[% foo.bar() %]ok" => "ok" -ok 1011 - Line 1562 "[% foo.baz() %]ok" => "" -### EVALUATE ######################################## engine_option (normal) -ok 1012 - Line 1568 "[% foo | eval %]" => "baz" -ok 1013 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" -ok 1014 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" -ok 1015 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" -ok 1016 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" -ok 1017 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" -ok 1018 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" -ok 1019 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" -ok 1020 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" -ok 1021 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" -ok 1022 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" -ok 1023 - Line 1583 "[% TRY; CONFIG STRICT => 1; '[% bar %]'.eval(STRICT => 0); CATCH; error; END %]" => "eval_strict error - Cannot disable STRICT once it is enabled" -ok 1024 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" -### DUMP ############################################ engine_option (normal) -ok 1025 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 -# a = undef; -# " -ok 1026 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" -ok 1027 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" -ok 1028 - Line 1595 "[% -# p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" -ok 1029 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" -ok 1030 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" -ok 1031 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" -ok 1032 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" -ok 1033 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" -ok 1034 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" -ok 1035 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" -ok 1036 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" -ok 1037 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" -ok 1038 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" -ok 1039 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" -ok 1040 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" -ok 1041 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" -ok 1042 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" -ok 1043 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" -ok 1044 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" -ok 1045 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" -ok 1046 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" -### SYNTAX ########################################## engine_option (normal) -ok 1047 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" -ok 1048 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 1049 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 1050 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 1051 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 1052 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 1053 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 1054 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 1055 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 1056 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" -ok 1057 - Line 1635 "" => "FOO" -ok 1058 - Line 1636 "" => "7 8" -ok 1059 - Line 1637 "" => "1" -ok 1060 - Line 1638 "" => "1" -ok 1061 - Line 1639 "d" => "" -ok 1062 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" -ok 1063 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" -ok 1064 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" -### CONFIG ########################################## engine_option (normal) -ok 1065 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" -ok 1066 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" -ok 1067 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] -# [% 234 %]" => "234" -ok 1068 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] -# " => "234" -ok 1069 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" -ok 1070 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" -ok 1071 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" -ok 1072 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" -ok 1073 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" -ok 1074 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" -ok 1075 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" -ok 1076 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" -ok 1077 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" -ok 1078 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" -ok 1079 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" -ok 1080 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" -ok 1081 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" -ok 1082 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" -ok 1083 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" -ok 1084 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" -ok 1085 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; -# " -ok 1086 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" -ok 1087 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" -ok 1088 - Line 1678 "[% TRY; foo; CONFIG STRICT => 1; CONFIG STRICT => 0; bar; CATCH; error; END %]" => "config.strict error - Cannot disable STRICT once it is enabled" -ok 1089 - Line 1679 "[% BLOCK foo; CONFIG STRICT => 1; baz; END; TRY; bam; PROCESS foo; bar; CATCH; error.type; END; bing %] - ok" => "var.undef - ok" -ok 1090 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" -### DONE ############################################ engine_option (normal) -### GET ############################################# engine_option (compile_perl) -ok 1091 - Line 159 "[% foo %]" => "" -ok 1092 - Line 160 "[% foo %]" => "7" -ok 1093 - Line 161 "[% foo %]" => "7" -ok 1094 - Line 162 "[% foo %]" => "7" -ok 1095 - Line 163 "[% foo %]" => "Stash" -ok 1096 - Line 164 "[% foo %]" => "V" -ok 1097 - Line 165 "[% bar %]" => "" -ok 1098 - Line 166 "[% foo %]" => "Stash" -ok 1099 - Line 167 "[% bar %]" => "" -ok 1100 - Line 168 "[% foo %]" => "Stash" -ok 1101 - Line 169 "[% foo %]" => "Stash" -ok 1102 - Line 170 "[% foo %][% foo %][% foo %]" => "777" -ok 1103 - Line 171 "[% foo() %]" => "7" -ok 1104 - Line 172 "[% foo.bar %]" => "" -ok 1105 - Line 173 "[% foo.bar %]" => "" -ok 1106 - Line 174 "[% foo.bar %]" => "7" -ok 1107 - Line 175 "[% foo().bar %]" => "7" -ok 1108 - Line 176 "[% foo.0 %]" => "7" -ok 1109 - Line 177 "[% foo.10 %]" => "" -ok 1110 - Line 178 "[% foo %]" => "7" -ok 1111 - Line 179 "[% foo(7) %]" => "7" -ok 1112 - Line 180 "[% foo.length %]" => "1" -ok 1113 - Line 181 "[% foo.0 %]" => "7" -ok 1114 - Line 182 "[% foo(bar) %]" => "7" -ok 1115 - Line 183 "[% foo(bar.baz) %]" => "7" -ok 1116 - Line 184 "[% foo.seven %]" => "7" -ok 1117 - Line 185 "[% foo.seven() %]" => "7" -ok 1118 - Line 186 "[% foo.seven.length %]" => "1" -ok 1119 - Line 187 "[% foo.echo(7) %]" => "7" -ok 1120 - Line 188 "[% foo.many.0 %]" => "1" -ok 1121 - Line 189 "[% foo.many.10 %]" => "" -ok 1122 - Line 190 "[% foo.nomethod %]" => "" -ok 1123 - Line 191 "[% foo.nomethod.0 %]" => "" -ok 1124 - Line 193 "[% GET foo %]" => "" -ok 1125 - Line 194 "[% GET foo %]" => "7" -ok 1126 - Line 195 "[% GET foo.bar %]" => "" -ok 1127 - Line 196 "[% GET foo.bar %]" => "" -ok 1128 - Line 197 "[% GET foo.bar %]" => "7" -ok 1129 - Line 198 "[% GET foo.0 %]" => "7" -ok 1130 - Line 199 "[% GET foo %]" => "7" -ok 1131 - Line 200 "[% GET foo(7) %]" => "7" -ok 1132 - Line 202 "[% $name %]" => "" -ok 1133 - Line 203 "[% $name %]" => "7" -ok 1134 - Line 204 "[% $name.bar %]" => "" -ok 1135 - Line 205 "[% $name.bar %]" => "" -ok 1136 - Line 206 "[% $name.bar %]" => "7" -ok 1137 - Line 207 "[% $name().bar %]" => "7" -ok 1138 - Line 208 "[% $name.0 %]" => "7" -ok 1139 - Line 209 "[% $name %]" => "7" -ok 1140 - Line 210 "[% $name(7) %]" => "7" -ok 1141 - Line 212 "[% GET $name %]" => "" -ok 1142 - Line 213 "[% GET $name %]" => "7" -ok 1143 - Line 214 "[% GET $name.bar %]" => "" -ok 1144 - Line 215 "[% GET $name.bar %]" => "" -ok 1145 - Line 216 "[% GET $name.bar %]" => "7" -ok 1146 - Line 217 "[% GET $name.0 %]" => "7" -ok 1147 - Line 218 "[% GET $name %]" => "7" -ok 1148 - Line 219 "[% GET $name(7) %]" => "7" -ok 1149 - Line 221 "[% $name %]" => "" -ok 1150 - Line 222 "[% GET $name %]" => "" -ok 1151 - Line 224 "[% ${name} %]" => "" -ok 1152 - Line 225 "[% ${name} %]" => "7" -ok 1153 - Line 226 "[% ${name}.bar %]" => "" -ok 1154 - Line 227 "[% ${name}.bar %]" => "" -ok 1155 - Line 228 "[% ${name}.bar %]" => "7" -ok 1156 - Line 229 "[% ${name}().bar %]" => "7" -ok 1157 - Line 230 "[% ${name}.0 %]" => "7" -ok 1158 - Line 231 "[% ${name} %]" => "7" -ok 1159 - Line 232 "[% ${name}(7) %]" => "7" -ok 1160 - Line 234 "[% GET ${name} %]" => "" -ok 1161 - Line 235 "[% GET ${name} %]" => "7" -ok 1162 - Line 236 "[% GET ${name}.bar %]" => "" -ok 1163 - Line 237 "[% GET ${name}.bar %]" => "" -ok 1164 - Line 238 "[% GET ${name}.bar %]" => "7" -ok 1165 - Line 239 "[% GET ${name}.0 %]" => "7" -ok 1166 - Line 240 "[% GET ${name} %]" => "7" -ok 1167 - Line 241 "[% GET ${name}(7) %]" => "7" -ok 1168 - Line 243 "[% ${name} %]" => "" -ok 1169 - Line 244 "[% GET ${name} %]" => "" -ok 1170 - Line 245 "[% GET ${'foo'} %]" => "bar" -ok 1171 - Line 247 "[% foo.$name %]" => "" -ok 1172 - Line 248 "[% foo.$name %]" => "7" -ok 1173 - Line 249 "[% foo.$name.baz %]" => "" -ok 1174 - Line 251 "[% "hi" %]" => "hi" -ok 1175 - Line 252 "[% "hi %]" => "" -ok 1176 - Line 253 "[% 'hi' %]" => "hi" -ok 1177 - Line 254 "[% 'hi %]" => "" -ok 1178 - Line 255 "[% "$foo" %]" => "7" -ok 1179 - Line 256 "[% "hi $foo" %]" => "hi 7" -ok 1180 - Line 257 "[% "hi ${foo}" %]" => "hi 7" -ok 1181 - Line 258 "[% 'hi $foo' %]" => "hi $foo" -ok 1182 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" -ok 1183 - Line 260 "[% 7 %]" => "7" -ok 1184 - Line 261 "[% -7 %]" => "-7" -ok 1185 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" -ok 1186 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" -ok 1187 - Line 266 "[% _foo %]2" => "2" -ok 1188 - Line 267 "[% $bar %]2" => "2" -ok 1189 - Line 268 "[% __foo %]2" => "2" -ok 1190 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" -ok 1191 - Line 271 "[% [0..10].-1 %]" => "10" -ok 1192 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" -ok 1193 - Line 274 "[% (1 + 2)() %]" => "" -ok 1194 - Line 275 "[% (1 + 2) %]" => "3" -ok 1195 - Line 276 "[% (a) %]" => "2" -ok 1196 - Line 277 "[% ('foo') %]" => "foo" -ok 1197 - Line 278 "[% (a(2)) %]" => "2" -ok 1198 - Line 281 "[% JS 3 %]" => "3" -ok 1199 - Line 282 "[% JS 3 %]" => "43" -ok 1200 - Line 283 "[% JS; 3; END %]" => "" -### SET ############################################# engine_option (compile_perl) -ok 1201 - Line 288 "[% SET foo bar %][% foo %]" => "" -ok 1202 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" -ok 1203 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" -ok 1204 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" -ok 1205 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" -ok 1206 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" -ok 1207 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" -ok 1208 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" -ok 1209 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" -ok 1210 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" -ok 1211 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" -ok 1212 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" -ok 1213 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" -ok 1214 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" -ok 1215 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" -ok 1216 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" -ok 1217 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" -ok 1218 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" -ok 1219 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" -ok 1220 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" -ok 1221 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" -ok 1222 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" -ok 1223 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" -ok 1224 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" -ok 1225 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" -ok 1226 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" -ok 1227 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" -ok 1228 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" -ok 1229 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" -ok 1230 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" -ok 1231 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" -ok 1232 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" -ok 1233 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" -ok 1234 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" -ok 1235 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" -ok 1236 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" -ok 1237 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" -ok 1238 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" -ok 1239 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" -ok 1240 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" -ok 1241 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" -ok 1242 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" -ok 1243 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" -ok 1244 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" -ok 1245 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" -ok 1246 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" -ok 1247 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" -ok 1248 - Line 344 "[% foo = 1 %][% foo %]" => "1" -ok 1249 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" -ok 1250 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" -ok 1251 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" -ok 1252 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" -ok 1253 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" -ok 1254 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" -ok 1255 - Line 354 "[% foo._bar %]2" => "2" -### multiple statements in same tag ################# engine_option (compile_perl) -ok 1256 - Line 359 "[% foo; %]" => "1" -ok 1257 - Line 360 "[% GET foo; %]" => "1" -ok 1258 - Line 361 "[% GET foo; GET foo %]" => "11" -ok 1259 - Line 362 "[% GET foo GET foo %]" => "11" -ok 1260 - Line 363 "[% GET foo GET foo %]" => "" -ok 1261 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" -ok 1262 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" -ok 1263 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" -ok 1264 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" -ok 1265 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" -ok 1266 - Line 371 "[% a = 1 a = a + 2 a %]" => "" -### CALL / DEFAULT ################################## engine_option (compile_perl) -ok 1267 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" -ok 1268 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" -ok 1269 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" -ok 1270 - Line 382 "[% foo %]" => "hi" -ok 1271 - Line 383 "[% GET foo %]" => "hi" -ok 1272 - Line 384 "[% CALL foo %]" => "" -ok 1273 - CALL method actually called var -### scalar vmethods ################################# engine_option (compile_perl) -ok 1274 - Line 391 "[% n.0 %]" => "7" -ok 1275 - Line 392 "[% n.abs %]" => "7" -ok 1276 - Line 393 "[% n.abs %]" => "7" -ok 1277 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" -ok 1278 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" -ok 1279 - Line 396 "[% n.chunk(3).join %]" => "abc def g" -ok 1280 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" -ok 1281 - Line 398 "[% n|collapse %]" => "a b" -ok 1282 - Line 399 "[% n.cos.substr(0,5) %]" => "1" -ok 1283 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" -ok 1284 - Line 401 "[% n.defined %]" => "1" -ok 1285 - Line 402 "[% n.defined %]" => "" -ok 1286 - Line 403 "[% n.defined %]" => "1" -ok 1287 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" -ok 1288 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" -ok 1289 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" -ok 1290 - Line 407 "[% n.fmt %]" => "7" -ok 1291 - Line 408 "[% n.fmt('%02d') %]" => "07" -ok 1292 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" -ok 1293 - Line 410 "[% n.fmt('(%s)') %]" => "(a -# b)" -ok 1294 - Line 411 "[% n|format('%02d') %]" => "07" -ok 1295 - Line 412 "[% n|format('%0*d', 3) %]" => "007" -ok 1296 - Line 413 "[% n|format('(%s)') %]" => "(a) -# (b)" -ok 1297 - Line 414 "[% n.hash.items.1 %]" => "b" -ok 1298 - Line 415 "[% n.hex %]" => "255" -ok 1299 - Line 416 "[% n|html %]" => "&<>"'" -ok 1300 - Line 418 "[% n|xml %]" => "&<>"'" -ok 1301 - Line 419 "[% n|indent %]" => " a -# b" -ok 1302 - Line 420 "[% n|indent(2) %]" => " a -# b" -ok 1303 - Line 421 "[% n|indent('wow ') %]" => "wow a -# wow b" -ok 1304 - Line 422 "[% n.int %]" => "123" -ok 1305 - Line 423 "[% n.int %]" => "123" -ok 1306 - Line 424 "[% n.int %]" => "0" -ok 1307 - Line 425 "[% n.item %]" => "7" -ok 1308 - Line 426 "[% n.lc %]" => "abc" -ok 1309 - Line 427 "[% n|lcfirst %]" => "fOO" -ok 1310 - Line 428 "[% n.length %]" => "3" -ok 1311 - Line 429 "[% n.list.0 %]" => "abc" -ok 1312 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" -ok 1313 - Line 431 "[% n|lower %]" => "abc" -ok 1314 - Line 432 "[% n.match('foo').join %]" => "" -ok 1315 - Line 433 "[% n.match('foo').join %]" => "1" -ok 1316 - Line 434 "[% n.match('foo',1).join %]" => "foo" -ok 1317 - Line 435 "[% n.match('(foo)').join %]" => "foo" -ok 1318 - Line 436 "[% n.match('(foo)').join %]" => "foo" -ok 1319 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" -ok 1320 - Line 438 "[% n.null %]" => "" -ok 1321 - Line 439 "[% n.oct %]" => "255" -ok 1322 - Line 440 "[% n.rand %]" => "1.5264831683424" -ok 1323 - Line 441 "[% n.rand %]" => "0.335701955774084" -ok 1324 - Line 442 "[% n.remove('bc') %]" => "a" -ok 1325 - Line 443 "[% n.remove('bc') %]" => "aa" -ok 1326 - Line 444 "[% n.repeat %]" => "1" -ok 1327 - Line 445 "[% n.repeat(0) %]" => "" -ok 1328 - Line 446 "[% n.repeat(1) %]" => "1" -ok 1329 - Line 447 "[% n.repeat(2) %]" => "11" -ok 1330 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" -ok 1331 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" -ok 1332 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" -ok 1333 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" -ok 1334 - Line 452 "[% n.search('foo') %]" => "" -ok 1335 - Line 453 "[% n.search('foo') %]" => "1" -ok 1336 - Line 454 "[% n.sin.substr(0,5) %]" => "0" -ok 1337 - Line 455 "[% n.sin.substr(0,5) %]" => "1" -ok 1338 - Line 456 "[% n.size %]" => "1" -ok 1339 - Line 457 "[% n.split.join('|') %]" => "abc" -ok 1340 - Line 458 "[% n.split.join('|') %]" => "a|b|c" -ok 1341 - Line 459 "[% n.split.join('|') %]" => "a|b|c" -ok 1342 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" -ok 1343 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" -ok 1344 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" -ok 1345 - Line 464 "[% n.sprintf(7) %]" => "7" -ok 1346 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" -ok 1347 - Line 466 "[% n.sqrt %]" => "3" -ok 1348 - Line 467 "[% n.squote %]" => "( -# |\\|\')" -ok 1349 - Line 468 "[% n.srand; 12 %]" => "12" -ok 1350 - Line 470 "[% n.stderr %]" => "" -ok 1351 - Line 474 "[% n|trim %]" => "a b" -ok 1352 - Line 475 "[% n.uc %]" => "FOO" -ok 1353 - Line 476 "[% n|ucfirst %]" => "Foo" -ok 1354 - Line 477 "[% n|upper %]" => "FOO" -ok 1355 - Line 478 "[% n|uri %]" => "a%20b" -ok 1356 - Line 480 "[% n.fmt('%c') %]" => "B" -ok 1357 - Line 481 "[% n.fmt('%3X') %]" => " C" -ok 1358 - Line 482 "[% n.fmt('%-3X') %]" => "C " -ok 1359 - Line 483 "[% n.fmt('%03X') %]" => "00C" -ok 1360 - Line 484 "[% n.fmt('%03X') %]" => "00C" -ok 1361 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" -ok 1362 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" -ok 1363 - Line 488 "[% n.fmt('%o') %]" => "10" -ok 1364 - Line 489 "[% n.fmt('%\#o') %]" => "010" -ok 1365 - Line 490 "[% n.fmt('%\#o') %]" => "0" -ok 1366 - Line 492 "[% n.fmt('%02d') %]" => "07" -ok 1367 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" -ok 1368 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" -ok 1369 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" -ok 1370 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" -ok 1371 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" -ok 1372 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" -ok 1373 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" -ok 1374 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" -ok 1375 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" -ok 1376 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" -ok 1377 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" -ok 1378 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" -ok 1379 - Line 505 "[% n.fmt('%.5g') %]" => "12345" -ok 1380 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" -### list vmethods ################################### engine_option (compile_perl) -ok 1381 - Line 511 "[% a.defined %]" => "1" -ok 1382 - Line 512 "[% a.defined(1) %]" => "1" -ok 1383 - Line 513 "[% a.defined(3) %]" => "" -ok 1384 - Line 514 "[% a.first %]" => "2" -ok 1385 - Line 515 "[% a.first(3).join %]" => "2 3 4" -ok 1386 - Line 516 "[% a.fmt %]" => "2 3" -ok 1387 - Line 517 "[% a.fmt('%02d') %]" => "02 03" -ok 1388 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" -ok 1389 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" -ok 1390 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" -ok 1391 - Line 521 "[% a.grep.join %]" => "2 3" -ok 1392 - Line 522 "[% a.grep(2).join %]" => "2" -ok 1393 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" -ok 1394 - Line 524 "[% a.hash.items.join %]" => "2 3" -ok 1395 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" -ok 1396 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" -ok 1397 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" -ok 1398 - Line 530 "[% a.item %]" => "2" -ok 1399 - Line 531 "[% a.item(1) %]" => "3" -ok 1400 - Line 532 "[% a.join %]" => "2 3" -ok 1401 - Line 533 "[% a.join('|') %]" => "2|3" -ok 1402 - Line 534 "[% a.last %]" => "10" -ok 1403 - Line 535 "[% a.last(3).join %]" => "8 9 10" -ok 1404 - Line 536 "[% a.list.join %]" => "2 3" -ok 1405 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" -ok 1406 - Line 538 "[% a.max %]" => "1" -ok 1407 - Line 539 "[% a.merge(5).join %]" => "2 3" -ok 1408 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" -ok 1409 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" -ok 1410 - Line 542 "[% a.nsort.join %]" => "1 2 3" -ok 1411 - Line 543 "[% a.nsort('b').0.b %]" => "7" -ok 1412 - Line 544 "[% a.pop %][% a.join %]" => "32" -ok 1413 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" -ok 1414 - Line 546 "[% a.pick %]" => "2" -ok 1415 - Line 547 "[% a.pick(5).join('') %]" => "23223" -ok 1416 - Line 548 "[% a.reverse.join %]" => "3 2" -ok 1417 - Line 549 "[% a.shift %][% a.join %]" => "23" -ok 1418 - Line 550 "[% a.size %]" => "2" -ok 1419 - Line 551 "[% a.slice.join %]" => "2 3 4 5" -ok 1420 - Line 552 "[% a.slice(2).join %]" => "4 5" -ok 1421 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" -ok 1422 - Line 554 "[% a.sort.join %]" => "1 2 3" -ok 1423 - Line 555 "[% a.sort('b').0.b %]" => "wee" -ok 1424 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" -ok 1425 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" -ok 1426 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" -ok 1427 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" -ok 1428 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" -ok 1429 - Line 561 "[% a.unique.join %]" => "2 3" -ok 1430 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" -### hash vmethods ################################### engine_option (compile_perl) -ok 1431 - Line 567 "[% h.defined %]" => "1" -ok 1432 - Line 568 "[% h.defined('a') %]" => "1" -ok 1433 - Line 569 "[% h.defined('b') %]" => "" -ok 1434 - Line 570 "[% h.defined('a') %]" => "" -ok 1435 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" -ok 1436 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" -ok 1437 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" -ok 1438 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" -ok 1439 - Line 575 "[% h.exists('a') %]" => "1" -ok 1440 - Line 576 "[% h.exists('b') %]" => "" -ok 1441 - Line 577 "[% h.exists('a') %]" => "1" -ok 1442 - Line 578 "[% h.fmt %]" => "b B -# c C" -ok 1443 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B -# c => C" -ok 1444 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" -ok 1445 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" -ok 1446 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" -ok 1447 - Line 583 "[% h.hash.fmt %]" => "b B -# c C" -ok 1448 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" -ok 1449 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" -ok 1450 - Line 586 "[% h.item('a') %]" => "A" -ok 1451 - Line 587 "[% h.item('_a') %]" => "" -ok 1452 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" -ok 1453 - Line 589 "[% h.keys.sort.join %]" => "a b" -ok 1454 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" -ok 1455 - Line 591 "[% h.list('keys').sort.join %]" => "a b" -ok 1456 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" -ok 1457 - Line 593 "[% h.list('values').sort.join %]" => "1 2" -ok 1458 - Line 594 "[% h.null %]" => "" -ok 1459 - Line 595 "[% h.nsort.join %]" => "b a" -ok 1460 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" -ok 1461 - Line 597 "[% h.size %]" => "2" -ok 1462 - Line 598 "[% h.sort.join %]" => "b a" -ok 1463 - Line 599 "[% h.values.sort.join %]" => "1 2" -### vmethods as functions ########################### engine_option (compile_perl) -ok 1464 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" -ok 1465 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" -ok 1466 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" -ok 1467 - Line 607 "[% int(2.234) %]" => "2" -ok 1468 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" -### more virtual methods / filters ################## engine_option (compile_perl) -ok 1469 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" -ok 1470 - Line 615 "[% {a => 'A'}.a %]" => "A" -ok 1471 - Line 616 "[% 'This is a string'.length %]" => "16" -ok 1472 - Line 617 "[% 123.length %]" => "3" -ok 1473 - Line 618 "[% 123.2.length %]" => "5" -ok 1474 - Line 619 "[% -123.2.length %]" => "-5" -ok 1475 - Line 620 "[% (-123.2).length %]" => "6" -ok 1476 - Line 621 "[% a = 23; a.0 %]" => "23" -ok 1477 - Line 622 "[% 1.rand %]" => "0.15075242533052" -ok 1478 - Line 624 "[% n.size %]" => "SIZE" -ok 1479 - Line 625 "[% n|size %]" => "2" -ok 1480 - Line 627 "[% "1" | indent(2) %]" => " 1" -ok 1481 - Line 629 "[% n FILTER size %]" => "1" -ok 1482 - Line 631 "[% n FILTER repeat %]" => "1" -ok 1483 - Line 632 "[% n FILTER repeat(0) %]" => "" -ok 1484 - Line 633 "[% n FILTER repeat(1) %]" => "1" -ok 1485 - Line 634 "[% n FILTER repeat(2) %]" => "11" -ok 1486 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" -ok 1487 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" -ok 1488 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" -ok 1489 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" -ok 1490 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" -ok 1491 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" -ok 1492 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" -ok 1493 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" -ok 1494 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" -ok 1495 - Line 646 "[% "hi" FILTER foo %]" => "hihi" -ok 1496 - Line 647 "[% "hi" FILTER foo %]" => "hihi" -ok 1497 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" -ok 1498 - Line 650 "[% ["0".."9"].pick %]" => "9" -ok 1499 - Line 652 "[% ' ' | uri %]" => "%20" -ok 1500 - Line 654 "[% "one".fmt %]" => "one" -ok 1501 - Line 655 "[% 2.fmt("%02d") %]" => "02" -ok 1502 - Line 657 "[% [1..3].fmt %]" => "1 2 3" -ok 1503 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" -ok 1504 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" -ok 1505 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B -# c D" -ok 1506 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B -# c:D" -ok 1507 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" -ok 1508 - Line 665 "[% 1|format("%s") %]" => "1" -ok 1509 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" -ok 1510 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " -ok 1511 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " -ok 1512 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " -ok 1513 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" -ok 1514 - Line 673 "[% foo %]" => "&" -ok 1515 - Line 674 "[% "&" %]" => "&" -ok 1516 - Line 675 "[% foo | none %]" => "&" -ok 1517 - Line 676 "[% foo.bar %]" => "&" -ok 1518 - Line 677 "[% foo.bar | none %]" => "&" -ok 1519 - Line 678 "[% GET foo %]" => "&" -ok 1520 - Line 679 "[% GET "&" %]" => "&" -ok 1521 - Line 680 "[% GET foo | none %]" => "&" -ok 1522 - Line 681 "[% Text.length(foo) %]" => "1" -### virtual objects ################################# engine_option (compile_perl) -ok 1523 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" -ok 1524 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" -ok 1525 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" -ok 1526 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" -ok 1527 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" -ok 1528 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" -ok 1529 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" -ok 1530 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" -ok 1531 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" -### chomping ######################################## engine_option (compile_perl) -ok 1532 - Line 701 " [% foo %]" => " " -ok 1533 - Line 702 " [%- foo %]" => "" -ok 1534 - Line 703 " -# [%- foo %]" => "" -ok 1535 - Line 704 " -# [%- foo %]" => "" -ok 1536 - Line 705 " -# -# [%- foo %]" => " -# " -ok 1537 - Line 706 " -# -# [%- foo %]" => " -# " -ok 1538 - Line 707 " -# [%- foo %]" => " " -ok 1539 - Line 708 " -# -# [%- foo %]" => " -# " -ok 1540 - Line 710 "[% 7 %] " => "7 " -ok 1541 - Line 711 "[% 7 -%] " => "7 " -ok 1542 - Line 712 "[% 7 -%] -# " => "7" -ok 1543 - Line 713 "[% 7 -%] -# " => "7" -ok 1544 - Line 714 "[% 7 -%] -# " => "7 " -ok 1545 - Line 715 "[% 7 -%] -# -# -# " => "7 -# -# " -ok 1546 - Line 716 "[% 7 -%] -# " => "7 " -### string operators ################################ engine_option (compile_perl) -ok 1547 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" -ok 1548 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" -ok 1549 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" -ok 1550 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" -ok 1551 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" -ok 1552 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" -ok 1553 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" -ok 1554 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" -ok 1555 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" -ok 1556 - Line 730 "[% "b" le "a" %]<<<" => "<<<" -ok 1557 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" -ok 1558 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" -ok 1559 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" -ok 1560 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" -### math operators ################################## engine_option (compile_perl) -ok 1561 - Line 739 "[% 1 + 2 %]" => "3" -ok 1562 - Line 740 "[% 1 + 2 + 3 %]" => "6" -ok 1563 - Line 741 "[% (1 + 2) %]" => "3" -ok 1564 - Line 742 "[% 2 - 1 %]" => "1" -ok 1565 - Line 743 "[% -1 + 2 %]" => "1" -ok 1566 - Line 744 "[% -1+2 %]" => "1" -ok 1567 - Line 745 "[% 2 - 1 %]" => "1" -ok 1568 - Line 746 "[% 2-1 %]" => "1" -ok 1569 - Line 747 "[% 2 - -1 %]" => "3" -ok 1570 - Line 748 "[% 4 * 2 %]" => "8" -ok 1571 - Line 749 "[% 4 / 2 %]" => "2" -ok 1572 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" -ok 1573 - Line 751 "[% 10 div 3 %]" => "3" -ok 1574 - Line 752 "[% 2 ** 3 %]" => "8" -ok 1575 - Line 753 "[% 1 + 2 * 3 %]" => "7" -ok 1576 - Line 754 "[% 3 * 2 + 1 %]" => "7" -ok 1577 - Line 755 "[% (1 + 2) * 3 %]" => "9" -ok 1578 - Line 756 "[% 3 * (1 + 2) %]" => "9" -ok 1579 - Line 757 "[% 1 + 2 ** 3 %]" => "9" -ok 1580 - Line 758 "[% 2 * 2 ** 3 %]" => "16" -ok 1581 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" -ok 1582 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" -ok 1583 - Line 762 "[% a = 1; (a += 2) %]" => "3" -ok 1584 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" -ok 1585 - Line 764 "[% a = 4; (a /= 2) %]" => "2" -ok 1586 - Line 765 "[% a = 1; (a *= 2) %]" => "2" -ok 1587 - Line 766 "[% a = 3; (a **= 2) %]" => "9" -ok 1588 - Line 767 "[% a = 1; (a %= 2) %]" => "1" -ok 1589 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" -ok 1590 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" -ok 1591 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" -ok 1592 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" -ok 1593 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" -ok 1594 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" -ok 1595 - Line 776 "[% a = 2; a *= 3; a %]" => "6" -ok 1596 - Line 777 "[% a = 2; a /= .5; a %]" => "4" -ok 1597 - Line 778 "[% a = 8; a %= 3; a %]" => "2" -ok 1598 - Line 779 "[% a = 2; a **= 3; a %]" => "8" -ok 1599 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" -ok 1600 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" -ok 1601 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" -ok 1602 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" -ok 1603 - Line 785 "[% a++ FOR [1..3] %]" => "012" -ok 1604 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" -ok 1605 - Line 788 "[% 2 > 3 %]<<<" => "<<<" -ok 1606 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" -ok 1607 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" -ok 1608 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" -ok 1609 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" -ok 1610 - Line 793 "[% 2 < 1 %]<<<" => "<<<" -ok 1611 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" -ok 1612 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" -ok 1613 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" -ok 1614 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" -ok 1615 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" -### boolean operators ############################### engine_option (compile_perl) -ok 1616 - Line 803 "[% 5 && 6 %]" => "6" -ok 1617 - Line 804 "[% 5 || 6 %]" => "5" -ok 1618 - Line 805 "[% 0 || 6 %]" => "6" -ok 1619 - Line 806 "[% 0 && 6 %]" => "0" -ok 1620 - Line 807 "[% 0 && 0 %]" => "0" -ok 1621 - Line 808 "[% 5 && 6 && 7%]" => "7" -ok 1622 - Line 809 "[% 0 || 1 || 2 %]" => "1" -ok 1623 - Line 811 "[% 5 + (0 || 5) %]" => "10" -ok 1624 - Line 814 "[% 1 ? 2 : 3 %]" => "2" -ok 1625 - Line 815 "[% 0 ? 2 : 3 %]" => "3" -ok 1626 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" -ok 1627 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" -ok 1628 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" -ok 1629 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" -ok 1630 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" -ok 1631 - Line 823 "[% 0 ? 2 : 3 %]" => "3" -ok 1632 - Line 824 "[% 1 ? 2 : 3 %]" => "2" -ok 1633 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" -ok 1634 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" -ok 1635 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" -ok 1636 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" -ok 1637 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" -ok 1638 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" -ok 1639 - Line 833 "[% foo //= 2 ; foo %]" => "2" -ok 1640 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" -ok 1641 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" -ok 1642 - Line 837 "[% 5 // 6 %]" => "5" -ok 1643 - Line 838 "[% foo // 6 %]" => "6" -ok 1644 - Line 839 "[% foo // 6 %]" => "6" -ok 1645 - Line 840 "[% foo // 6 %]" => "" -ok 1646 - Line 841 "[% foo // 6 %]" => "bar" -ok 1647 - Line 843 "[% foo err 6 %]" => "6" -ok 1648 - Line 844 "[% foo ERR 6 %]" => "6" -### regex ########################################### engine_option (compile_perl) -ok 1649 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" -ok 1650 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" -ok 1651 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" -ok 1652 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" -ok 1653 - Line 854 "[% 'f -# o'.match(/f.o/s) ? 1 : 0 %]" => "1" -ok 1654 - Line 855 "[% ' -# foo'.match(/^foo/m) ? 1 : 0 %]" => "1" -ok 1655 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" -ok 1656 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" -ok 1657 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" -ok 1658 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" -ok 1659 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" -ok 1660 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" -### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (compile_perl) -ok 1661 - Line 867 "[% PROCESS foo %]one" => "" -ok 1662 - Line 868 "[% BLOCK foo %]one" => "" -ok 1663 - Line 869 "[% BLOCK foo %][% END %]one" => "one" -ok 1664 - Line 870 "[% BLOCK %][% END %]one" => "one" -ok 1665 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" -ok 1666 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" -ok 1667 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" -ok 1668 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" -ok 1669 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" -ok 1670 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" -ok 1671 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" -ok 1672 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" -ok 1673 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" -ok 1674 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" -ok 1675 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" -ok 1676 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" -ok 1677 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" -ok 1678 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" -ok 1679 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" -ok 1680 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" -ok 1681 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" -ok 1682 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" -ok 1683 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" -ok 1684 - Line 893 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "" -ok 1685 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" -ok 1686 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" -ok 1687 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" -ok 1688 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" -### IF / UNLESS / ELSIF / ELSE ###################### engine_option (compile_perl) -ok 1689 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" -ok 1690 - Line 906 "[% IF 0 %]Yes[% END %]" => "" -ok 1691 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" -ok 1692 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" -ok 1693 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" -ok 1694 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" -ok 1695 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" -ok 1696 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" -ok 1697 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" -ok 1698 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" -ok 1699 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" -ok 1700 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" -### comments ######################################## engine_option (compile_perl) -ok 1701 - Line 922 "[%\# one %]f" => "f" -ok 1702 - Line 923 "[%\# -# one %]f" => "f" -ok 1703 - Line 924 "[%-\# -# one %]f" => "f" -ok 1704 - Line 925 "[% \# -# one %]f" => "ONEf" -ok 1705 - Line 926 "[% \# one %] -# one %]f" => " -# one %]f" -ok 1706 - Line 928 "[%\# BLOCK one %]" => "" -ok 1707 - Line 929 "[%\# BLOCK one %]two" => "two" -ok 1708 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" -ok 1709 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" -ok 1710 - Line 932 "[% %]" => "" -ok 1711 - Line 933 "[% -# # Some comment -# CALL 1 -%] -# foo" => "foo" -### FOREACH / NEXT / LAST ########################### engine_option (compile_perl) -ok 1712 - Line 941 "[% FOREACH foo %]" => "" -ok 1713 - Line 942 "[% FOREACH foo %][% END %]" => "" -ok 1714 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" -ok 1715 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" -ok 1716 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" -ok 1717 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" -ok 1718 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" -ok 1719 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" -ok 1720 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" -ok 1721 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" -ok 1722 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" -ok 1723 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " -ok 1724 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" -ok 1725 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" -ok 1726 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" -ok 1727 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" -ok 1728 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" -ok 1729 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" -ok 1730 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" -ok 1731 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" -ok 1732 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" -ok 1733 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" -ok 1734 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" -ok 1735 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" -ok 1736 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" -ok 1737 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" -ok 1738 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" -ok 1739 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" -ok 1740 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" -ok 1741 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" -ok 1742 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" -ok 1743 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" -ok 1744 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" -ok 1745 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" -ok 1746 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" -ok 1747 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" -ok 1748 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" -ok 1749 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" -ok 1750 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" -ok 1751 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" -ok 1752 - Line 988 "[% FOREACH f IN [2,3,4]; FOREACH g IN [6,7,8]; f;g;", "; END; END %]" => "26, 27, 28, 36, 37, 38, 46, 47, 48, " -ok 1753 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 1754 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 1755 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 1756 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 1757 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 1758 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 1759 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 1760 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" -### LOOP ############################################ engine_option (compile_perl) -ok 1761 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] -# [% LOOP var -%] -# ([% key %]) -# [% END %]" => " (a) -# (b) -# " -ok 1762 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] -# [% LOOP var -%] -# ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) -# [% END -%]" => "(a|1|0|0|1) -# (b|0|0|1|0) -# (c|0|1|0|1) -# " -### WHILE ########################################### engine_option (compile_perl) -ok 1763 - Line 1033 "[% WHILE foo %]" => "" -ok 1764 - Line 1034 "[% WHILE foo %][% END %]" => "" -ok 1765 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" -ok 1766 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" -ok 1767 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" -ok 1768 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" -ok 1769 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" -ok 1770 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" -ok 1771 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" -ok 1772 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" -ok 1773 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" -ok 1774 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" -ok 1775 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" -### STOP / RETURN / CLEAR ########################### engine_option (compile_perl) -ok 1776 - Line 1052 "[% STOP %]" => "" -ok 1777 - Line 1053 "One[% STOP %]Two" => "One" -ok 1778 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" -ok 1779 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" -ok 1780 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" -ok 1781 - Line 1058 "[% RETURN %]" => "" -ok 1782 - Line 1059 "One[% RETURN %]Two" => "One" -ok 1783 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" -ok 1784 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" -ok 1785 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" -ok 1786 - Line 1064 "[% CLEAR %]" => "" -ok 1787 - Line 1065 "One[% CLEAR %]Two" => "Two" -ok 1788 - Line 1066 "[% BLOCK foo %]One[% CLEAR %]Two[% END %]First[% PROCESS foo %]Last" => "FirstTwoLast" -ok 1789 - Line 1067 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% CLEAR %][% END %][% END %]" => "23" -ok 1790 - Line 1068 "[% FOREACH f = [1..3] %][% IF loop.first %][% CLEAR %][% END %][% f %][% END %]" => "123" -ok 1791 - Line 1069 "[% FOREACH f = [1..3] %][% f %][% IF loop.last %][% CLEAR %][% END %][% END %]" => "" -ok 1792 - Line 1070 "[% FOREACH f = [1..3] %][% IF loop.last %][% CLEAR %][% END %][% f %][% END %]" => "3" -### post opererative directives ##################### engine_option (compile_perl) -ok 1793 - Line 1075 "[% GET foo IF 1 %]" => "1" -ok 1794 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" -ok 1795 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" -ok 1796 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" -ok 1797 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" -ok 1798 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" -ok 1799 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" -ok 1800 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" -ok 1801 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" -ok 1802 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" -ok 1803 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" -ok 1804 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" -### capturing ####################################### engine_option (compile_perl) -ok 1805 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" -ok 1806 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" -ok 1807 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" -ok 1808 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" -ok 1809 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" -### TAGS ############################################ engine_option (compile_perl) -ok 1810 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" -ok 1811 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" -ok 1812 - Line 1105 "[% TAGS html %]" => "3" -ok 1813 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" -ok 1814 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" -ok 1815 - Line 1108 "[% TAGS php %]" => "3" -ok 1816 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" -ok 1817 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" -ok 1818 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" -ok 1819 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" -ok 1820 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" -ok 1821 - Line 1115 "[% TAGS html %] " => "3" -ok 1822 - Line 1116 "[% TAGS html %]" => "3" -ok 1823 - Line 1117 "[% TAGS html %] -# " => "3" -ok 1824 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" -ok 1825 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" -ok 1826 - Line 1121 "[% TAGS %]" => "3" -ok 1827 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" -ok 1828 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" -ok 1829 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" -ok 1830 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" -ok 1831 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" -ok 1832 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" -ok 1833 - Line 1130 "[% TAGS html -->" => "3" -ok 1834 - Line 1131 "[% TAGS html ; 7 -->" => "73" -ok 1835 - Line 1132 "[% TAGS html ; 7 %]" => "" -### SWITCH / CASE ################################### engine_option (compile_perl) -ok 1836 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" -ok 1837 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" -ok 1838 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" -ok 1839 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" -ok 1840 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" -ok 1841 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" -ok 1842 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" -ok 1843 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" -ok 1844 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" -ok 1845 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" -### TRY / THROW / CATCH / FINAL ##################### engine_option (compile_perl) -ok 1846 - Line 1152 "[% TRY %][% END %]hi" => "hi" -ok 1847 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" -ok 1848 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "" -ok 1849 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" -ok 1850 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" -ok 1851 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" -ok 1852 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" -ok 1853 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "" -ok 1854 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" -ok 1855 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" -ok 1856 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" -ok 1857 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" -ok 1858 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "" -ok 1859 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" -ok 1860 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" -ok 1861 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" -ok 1862 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" -ok 1863 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" -### named args ###################################### engine_option (compile_perl) -ok 1864 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" -ok 1865 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" -### USE ############################################# engine_option (compile_perl) -ok 1866 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" -ok 1867 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" -ok 1868 - Line 1187 "[% USE FooTest %]one" => "one" -ok 1869 - Line 1188 "[% USE FooTest2 %]one" => "one" -ok 1870 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" -ok 1871 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" -ok 1872 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" -ok 1873 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" -ok 1874 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" -ok 1875 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" -ok 1876 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" -ok 1877 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" -ok 1878 - Line 1200 "[% USE FooTest %]three" => "three" -### MACRO ########################################### engine_option (compile_perl) -ok 1879 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" -ok 1880 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" -ok 1881 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" -ok 1882 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" -ok 1883 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" -ok 1884 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" -ok 1885 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" -ok 1886 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" -ok 1887 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" -ok 1888 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" -ok 1889 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" -ok 1890 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" -ok 1891 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" -### DEBUG ########################################### engine_option (compile_perl) -ok 1892 - Line 1226 " -# -# [% one %]" => " -# -# -# ## input text line 3 : [% one %] ## -# ONE" -ok 1893 - Line 1227 "[% one %]" => " -# ## input text line 1 : [% one %] ## -# ONE" -ok 1894 - Line 1228 "[% one %] -# -# " => "(1)ONE -# -# " -ok 1895 - Line 1229 "1 -# 2 -# 3[% one %]" => "1 -# 2 -# 3(3)ONE" -ok 1896 - Line 1230 "[% one; -# one %]" => "(1)ONE(2)ONE" -ok 1897 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " -# ## input text line 1 : [% DEBUG format '($line)' %] ## -# (1)ONE" -ok 1898 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined -# " -ok 1899 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined -# " -### constants ####################################### engine_option (compile_perl) -ok 1900 - Line 1255 "[% constants.harry %]" => "do_this_once" -ok 1901 - Line 1256 "[% constants.harry.length %]" => "12" -ok 1902 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" -ok 1903 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" -ok 1904 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" -ok 1905 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" -ok 1906 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" -ok 1907 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" -ok 1908 - Line 1264 "[% ${"constants"}.harry %]" => "foo" -ok 1909 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" -### CONTEXT ######################################### engine_option (compile_perl) -ok 1910 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 1911 - Line 1273 "[% cctx.array %]" => "ARRAY(0x55ca013638a8)" -ok 1912 - Line 1274 "[% cctx.array2 %]" => "4" -ok 1913 - Line 1275 "[% cctx.list %]" => "ARRAY(0x55ca0139c780)" -ok 1914 - Line 1276 "[% cctx.scalar %]" => "8" -ok 1915 - Line 1277 "[% cctx.bang %]" => "bing" -ok 1916 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 1917 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" -ok 1918 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" -ok 1919 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" -ok 1920 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" -ok 1921 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" -ok 1922 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 1923 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" -ok 1924 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" -ok 1925 - Line 1290 "[% cctx.array %]" => "ARRAY(0x55ca0139d158)" -ok 1926 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0x55ca0139d610)" -ok 1927 - Line 1292 "[% $(cctx.array) %]" => "3" -ok 1928 - Line 1293 "[% cctx.array2 %]" => "4" -ok 1929 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0x55ca01337870)" -ok 1930 - Line 1295 "[% $(cctx.array2) %]" => "1" -ok 1931 - Line 1296 "[% cctx.list %]" => "ARRAY(0x55ca0139cb58)" -ok 1932 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0x55ca0139e060)" -ok 1933 - Line 1298 "[% $(cctx.list) %]" => "7" -ok 1934 - Line 1299 "[% cctx.scalar %]" => "8" -ok 1935 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0x55ca0139be10)" -ok 1936 - Line 1301 "[% $(cctx.scalar) %]" => "8" -ok 1937 - Line 1302 "[% cctx.bang %] ~" => "bing ~" -ok 1938 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" -ok 1939 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" -ok 1940 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" -ok 1941 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" -ok 1942 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" -ok 1943 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" -ok 1944 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" -ok 1945 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" -ok 1946 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" -ok 1947 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" -ok 1948 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" -ok 1949 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" -ok 1950 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" -ok 1951 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" -ok 1952 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" -ok 1953 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" -ok 1954 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" -ok 1955 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" -ok 1956 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" -ok 1957 - Line 1333 "[% cctxo.array %]" => "ARRAY(0x55ca0139c5d0)" -ok 1958 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0x55ca0139b498)" -ok 1959 - Line 1335 "[% $(cctxo.array) %]" => "3" -ok 1960 - Line 1336 "[% cctxo.array2 %]" => "4" -ok 1961 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0x55ca01390b78)" -ok 1962 - Line 1338 "[% $(cctxo.array2) %]" => "1" -ok 1963 - Line 1339 "[% cctxo.list %]" => "ARRAY(0x55ca0139bc00)" -ok 1964 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0x55ca0137bd50)" -ok 1965 - Line 1341 "[% $(cctxo.list) %]" => "7" -ok 1966 - Line 1342 "[% cctxo.scalar %]" => "8" -ok 1967 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0x55ca0139c230)" -ok 1968 - Line 1344 "[% $(cctxo.scalar) %]" => "8" -ok 1969 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" -ok 1970 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" -ok 1971 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" -ok 1972 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" -### INTERPOLATE ##################################### engine_option (compile_perl) -ok 1973 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" -ok 1974 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" -ok 1975 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" -ok 1976 - Line 1364 "Foo \ Bar" => "Foo \ Bar" -ok 1977 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" -ok 1978 - Line 1366 "Foo \n Bar" => "Foo \n Bar" -ok 1979 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" -ok 1980 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" -ok 1981 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" -ok 1982 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" -ok 1983 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" -ok 1984 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" -ok 1985 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" -ok 1986 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 1987 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 1988 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 1989 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 1990 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" -ok 1991 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" -### ANYCASE / TRIM ################################## engine_option (compile_perl) -ok 1992 - Line 1385 "[% GET %]" => "" -ok 1993 - Line 1386 "[% GET GET %]" => "ONE" -ok 1994 - Line 1387 "[% get one %]" => "ONE" -ok 1995 - Line 1388 "[% get %]" => "" -ok 1996 - Line 1389 "[% get get %]" => "ONE" -ok 1997 - Line 1391 "[% BLOCK foo %] -# hi -# [% END %][% PROCESS foo %]" => " -# hi -# " -ok 1998 - Line 1392 "[% BLOCK foo %] -# hi[% END %][% PROCESS foo %]" => "hi" -ok 1999 - Line 1393 "[% BLOCK foo %]hi -# [% END %][% PROCESS foo %]" => "hi" -ok 2000 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi" -ok 2001 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => "hi" -ok 2002 - Line 1396 "A[% TRY %] -# hi -# [% END %]" => "A -# hi" -ok 2003 - Line 1398 "[% FOO %]" => "foo" -### V1DOLLAR ######################################## engine_option (compile_perl) -ok 2004 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 2005 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" -ok 2006 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" -ok 2007 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" -ok 2008 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" -ok 2009 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" -ok 2010 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" -ok 2011 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" -ok 2012 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" -### V2PIPE / V2EQUALS ############################### engine_option (compile_perl) -ok 2013 - Line 1420 "[%- BLOCK a %]b is [% b %] -# [% END %] -# [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 -# b is 237 -# " -ok 2014 - Line 1425 "[%- BLOCK a %]b is [% b %] -# [% END %] -# [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 -# " -ok 2015 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" -ok 2016 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" -ok 2017 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" -ok 2018 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" -ok 2019 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" -ok 2020 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" -ok 2021 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" -ok 2022 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" -ok 2023 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" -ok 2024 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" -### configuration ################################### engine_option (compile_perl) -ok 2025 - Line 1443 "[% a = 7 %]$a" => "7" -ok 2026 - Line 1444 "[% a = 7 %]$a" => "7" -### PERL ############################################ engine_option (compile_perl) -ok 2027 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" -ok 2028 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" -ok 2029 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" -ok 2030 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" -ok 2031 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" -### recursion prevention ############################ engine_option (compile_perl) -ok 2032 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" -### META ############################################ engine_option (compile_perl) -ok 2033 - Line 1463 "[% template.name %]" => "input text" -ok 2034 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" -ok 2035 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" -ok 2036 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" -ok 2037 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" -ok 2038 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" -### references ###################################### engine_option (compile_perl) -ok 2039 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" -ok 2040 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" -ok 2041 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" -ok 2042 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" -ok 2043 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" -ok 2044 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" -ok 2045 - Line 1482 "[% \a %]" => "CODE(0x55ca013a7450)" -ok 2046 - Line 1483 "[% b=\a; b %]" => "a sub []" -ok 2047 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" -ok 2048 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" -ok 2049 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" -ok 2050 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" -ok 2051 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" -ok 2052 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" -ok 2053 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" -ok 2054 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" -ok 2055 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" -ok 2056 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" -### reserved words ################################## engine_option (compile_perl) -ok 2057 - Line 1506 "[% GET %]" => "" -ok 2058 - Line 1507 "[% GET GET %]" => "named_get" -ok 2059 - Line 1508 "[% GET get %]" => "lower_named_get" -ok 2060 - Line 1509 "[% GET ${'GET'} %]" => "bar" -ok 2061 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" -ok 2062 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" -ok 2063 - Line 1514 "[% GET $hold_get %]" => "named_get" -ok 2064 - Line 1515 "[% GET $GET %]" => "value of named_get" -ok 2065 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" -ok 2066 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" -ok 2067 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" -ok 2068 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" -### embedded items ################################## engine_option (compile_perl) -ok 2069 - Line 1524 "[% " \" " %]" => " " " -ok 2070 - Line 1525 "[% " \$foo " %]" => " $foo " -ok 2071 - Line 1526 "[% " \${foo} " %]" => " ${foo} " -ok 2072 - Line 1527 "[% " \n " %]" => " -# " -ok 2073 - Line 1528 "[% " \t " %]" => " " -ok 2074 - Line 1529 "[% " \r " %]" => " " -ok 2075 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" -ok 2076 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" -ok 2077 - Line 1533 "[% qw(foo \)).1 %]" => ")" -ok 2078 - Line 1534 "[% qw|foo \||.1 %]" => "|" -ok 2079 - Line 1536 "[% ' \' ' %]" => " ' " -ok 2080 - Line 1537 "[% ' \r ' %]" => " \r " -ok 2081 - Line 1538 "[% ' \n ' %]" => " \n " -ok 2082 - Line 1539 "[% ' \t ' %]" => " \t " -ok 2083 - Line 1540 "[% ' $foo ' %]" => " $foo " -ok 2084 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" -ok 2085 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" -ok 2086 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" -ok 2087 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" -ok 2088 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" -ok 2089 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" -ok 2090 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" -ok 2091 - Line 1550 "[% "[%" %]" => "[%" -ok 2092 - Line 1551 "[% "%]" %]" => "%]" -ok 2093 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" -ok 2094 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" -### STRICT ########################################## engine_option (compile_perl) -ok 2095 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" -ok 2096 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" -ok 2097 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" -ok 2098 - Line 1561 "[% foo.bar() %]ok" => "ok" -ok 2099 - Line 1562 "[% foo.baz() %]ok" => "" -### EVALUATE ######################################## engine_option (compile_perl) -ok 2100 - Line 1568 "[% foo | eval %]" => "baz" -ok 2101 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" -ok 2102 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" -ok 2103 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" -ok 2104 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" -ok 2105 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" -ok 2106 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" -ok 2107 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" -ok 2108 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" -ok 2109 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" -ok 2110 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" -ok 2111 - Line 1583 "[% TRY; CONFIG STRICT => 1; '[% bar %]'.eval(STRICT => 0); CATCH; error; END %]" => "eval_strict error - Cannot disable STRICT once it is enabled" -ok 2112 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" -### DUMP ############################################ engine_option (compile_perl) -ok 2113 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 -# a = undef; -# " -ok 2114 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" -ok 2115 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" -ok 2116 - Line 1595 "[% -# p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" -ok 2117 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" -ok 2118 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" -ok 2119 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" -ok 2120 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" -ok 2121 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" -ok 2122 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" -ok 2123 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" -ok 2124 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" -ok 2125 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" -ok 2126 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" -ok 2127 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" -ok 2128 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" -ok 2129 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" -ok 2130 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" -ok 2131 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" -ok 2132 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" -ok 2133 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" -ok 2134 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" -### SYNTAX ########################################## engine_option (compile_perl) -ok 2135 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" -ok 2136 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 2137 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 2138 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 2139 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 2140 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 2141 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 2142 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 2143 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 2144 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" -ok 2145 - Line 1635 "" => "FOO" -ok 2146 - Line 1636 "" => "7 8" -ok 2147 - Line 1637 "" => "1" -ok 2148 - Line 1638 "" => "1" -ok 2149 - Line 1639 "d" => "" -ok 2150 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" -ok 2151 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" -ok 2152 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" -### CONFIG ########################################## engine_option (compile_perl) -ok 2153 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" -ok 2154 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" -ok 2155 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] -# [% 234 %]" => "234" -ok 2156 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] -# " => "234" -ok 2157 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" -ok 2158 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" -ok 2159 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" -ok 2160 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" -ok 2161 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" -ok 2162 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" -ok 2163 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" -ok 2164 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" -ok 2165 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" -ok 2166 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" -ok 2167 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" -ok 2168 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" -ok 2169 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" -ok 2170 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" -ok 2171 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" -ok 2172 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" -ok 2173 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; -# " -ok 2174 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" -ok 2175 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" -ok 2176 - Line 1678 "[% TRY; foo; CONFIG STRICT => 1; CONFIG STRICT => 0; bar; CATCH; error; END %]" => "config.strict error - Cannot disable STRICT once it is enabled" -ok 2177 - Line 1679 "[% BLOCK foo; CONFIG STRICT => 1; baz; END; TRY; bam; PROCESS foo; bar; CATCH; error.type; END; bing %] - ok" => "var.undef - ok" -ok 2178 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" -### DONE ############################################ engine_option (compile_perl) -### GET ############################################# engine_option (stream) -ok 2179 - Line 159 "[% foo %]" => "" -ok 2180 - Line 160 "[% foo %]" => "7" -ok 2181 - Line 161 "[% foo %]" => "7" -ok 2182 - Line 162 "[% foo %]" => "7" -ok 2183 - Line 163 "[% foo %]" => "Stash" -ok 2184 - Line 164 "[% foo %]" => "V" -ok 2185 - Line 165 "[% bar %]" => "" -ok 2186 - Line 166 "[% foo %]" => "Stash" -ok 2187 - Line 167 "[% bar %]" => "" -ok 2188 - Line 168 "[% foo %]" => "Stash" -ok 2189 - Line 169 "[% foo %]" => "Stash" -ok 2190 - Line 170 "[% foo %][% foo %][% foo %]" => "777" -ok 2191 - Line 171 "[% foo() %]" => "7" -ok 2192 - Line 172 "[% foo.bar %]" => "" -ok 2193 - Line 173 "[% foo.bar %]" => "" -ok 2194 - Line 174 "[% foo.bar %]" => "7" -ok 2195 - Line 175 "[% foo().bar %]" => "7" -ok 2196 - Line 176 "[% foo.0 %]" => "7" -ok 2197 - Line 177 "[% foo.10 %]" => "" -ok 2198 - Line 178 "[% foo %]" => "7" -ok 2199 - Line 179 "[% foo(7) %]" => "7" -ok 2200 - Line 180 "[% foo.length %]" => "1" -ok 2201 - Line 181 "[% foo.0 %]" => "7" -ok 2202 - Line 182 "[% foo(bar) %]" => "7" -ok 2203 - Line 183 "[% foo(bar.baz) %]" => "7" -ok 2204 - Line 184 "[% foo.seven %]" => "7" -ok 2205 - Line 185 "[% foo.seven() %]" => "7" -ok 2206 - Line 186 "[% foo.seven.length %]" => "1" -ok 2207 - Line 187 "[% foo.echo(7) %]" => "7" -ok 2208 - Line 188 "[% foo.many.0 %]" => "1" -ok 2209 - Line 189 "[% foo.many.10 %]" => "" -ok 2210 - Line 190 "[% foo.nomethod %]" => "" -ok 2211 - Line 191 "[% foo.nomethod.0 %]" => "" -ok 2212 - Line 193 "[% GET foo %]" => "" -ok 2213 - Line 194 "[% GET foo %]" => "7" -ok 2214 - Line 195 "[% GET foo.bar %]" => "" -ok 2215 - Line 196 "[% GET foo.bar %]" => "" -ok 2216 - Line 197 "[% GET foo.bar %]" => "7" -ok 2217 - Line 198 "[% GET foo.0 %]" => "7" -ok 2218 - Line 199 "[% GET foo %]" => "7" -ok 2219 - Line 200 "[% GET foo(7) %]" => "7" -ok 2220 - Line 202 "[% $name %]" => "" -ok 2221 - Line 203 "[% $name %]" => "7" -ok 2222 - Line 204 "[% $name.bar %]" => "" -ok 2223 - Line 205 "[% $name.bar %]" => "" -ok 2224 - Line 206 "[% $name.bar %]" => "7" -ok 2225 - Line 207 "[% $name().bar %]" => "7" -ok 2226 - Line 208 "[% $name.0 %]" => "7" -ok 2227 - Line 209 "[% $name %]" => "7" -ok 2228 - Line 210 "[% $name(7) %]" => "7" -ok 2229 - Line 212 "[% GET $name %]" => "" -ok 2230 - Line 213 "[% GET $name %]" => "7" -ok 2231 - Line 214 "[% GET $name.bar %]" => "" -ok 2232 - Line 215 "[% GET $name.bar %]" => "" -ok 2233 - Line 216 "[% GET $name.bar %]" => "7" -ok 2234 - Line 217 "[% GET $name.0 %]" => "7" -ok 2235 - Line 218 "[% GET $name %]" => "7" -ok 2236 - Line 219 "[% GET $name(7) %]" => "7" -ok 2237 - Line 221 "[% $name %]" => "" -ok 2238 - Line 222 "[% GET $name %]" => "" -ok 2239 - Line 224 "[% ${name} %]" => "" -ok 2240 - Line 225 "[% ${name} %]" => "7" -ok 2241 - Line 226 "[% ${name}.bar %]" => "" -ok 2242 - Line 227 "[% ${name}.bar %]" => "" -ok 2243 - Line 228 "[% ${name}.bar %]" => "7" -ok 2244 - Line 229 "[% ${name}().bar %]" => "7" -ok 2245 - Line 230 "[% ${name}.0 %]" => "7" -ok 2246 - Line 231 "[% ${name} %]" => "7" -ok 2247 - Line 232 "[% ${name}(7) %]" => "7" -ok 2248 - Line 234 "[% GET ${name} %]" => "" -ok 2249 - Line 235 "[% GET ${name} %]" => "7" -ok 2250 - Line 236 "[% GET ${name}.bar %]" => "" -ok 2251 - Line 237 "[% GET ${name}.bar %]" => "" -ok 2252 - Line 238 "[% GET ${name}.bar %]" => "7" -ok 2253 - Line 239 "[% GET ${name}.0 %]" => "7" -ok 2254 - Line 240 "[% GET ${name} %]" => "7" -ok 2255 - Line 241 "[% GET ${name}(7) %]" => "7" -ok 2256 - Line 243 "[% ${name} %]" => "" -ok 2257 - Line 244 "[% GET ${name} %]" => "" -ok 2258 - Line 245 "[% GET ${'foo'} %]" => "bar" -ok 2259 - Line 247 "[% foo.$name %]" => "" -ok 2260 - Line 248 "[% foo.$name %]" => "7" -ok 2261 - Line 249 "[% foo.$name.baz %]" => "" -ok 2262 - Line 251 "[% "hi" %]" => "hi" -ok 2263 - Line 252 "[% "hi %]" => "" -ok 2264 - Line 253 "[% 'hi' %]" => "hi" -ok 2265 - Line 254 "[% 'hi %]" => "" -ok 2266 - Line 255 "[% "$foo" %]" => "7" -ok 2267 - Line 256 "[% "hi $foo" %]" => "hi 7" -ok 2268 - Line 257 "[% "hi ${foo}" %]" => "hi 7" -ok 2269 - Line 258 "[% 'hi $foo' %]" => "hi $foo" -ok 2270 - Line 259 "[% 'hi ${foo}' %]" => "hi ${foo}" -ok 2271 - Line 260 "[% 7 %]" => "7" -ok 2272 - Line 261 "[% -7 %]" => "-7" -ok 2273 - Line 263 "[% "hi ${foo.seven}" %]" => "hi 7" -ok 2274 - Line 264 "[% "hi ${foo.echo(7)}" %]" => "hi 7" -ok 2275 - Line 266 "[% _foo %]2" => "2" -ok 2276 - Line 267 "[% $bar %]2" => "2" -ok 2277 - Line 268 "[% __foo %]2" => "2" -ok 2278 - Line 270 "[% qw/Foo Bar Baz/.0 %]" => "Foo" -ok 2279 - Line 271 "[% [0..10].-1 %]" => "10" -ok 2280 - Line 272 "[% [0..10].${ 2.3 } %]" => "2" -ok 2281 - Line 274 "[% (1 + 2)() %]" => "" -ok 2282 - Line 275 "[% (1 + 2) %]" => "3" -ok 2283 - Line 276 "[% (a) %]" => "2" -ok 2284 - Line 277 "[% ('foo') %]" => "foo" -ok 2285 - Line 278 "[% (a(2)) %]" => "2" -ok 2286 - Line 281 "[% JS 3 %]" => "3" -ok 2287 - Line 282 "[% JS 3 %]" => "43" -ok 2288 - Line 283 "[% JS; 3; END %]" => "" -### SET ############################################# engine_option (stream) -ok 2289 - Line 288 "[% SET foo bar %][% foo %]" => "" -ok 2290 - Line 289 "[% SET foo = 1 %][% foo %]" => "1" -ok 2291 - Line 290 "[% SET foo = 1 bar = 2 %][% foo %][% bar %]" => "12" -ok 2292 - Line 291 "[% SET foo bar = 1 %][% foo %]" => "" -ok 2293 - Line 292 "[% SET foo = 1 ; bar = 1 %][% foo %]" => "1" -ok 2294 - Line 293 "[% SET foo = 1 %][% SET foo %][% foo %]" => "" -ok 2295 - Line 295 "[% SET foo = [] %][% foo.0 %]" => "" -ok 2296 - Line 296 "[% SET foo = [1, 2, 3] %][% foo.1 %]" => "2" -ok 2297 - Line 297 "[% SET foo = {} %][% foo.0 %]" => "" -ok 2298 - Line 298 "[% SET foo = {1 => 2} %][% foo.1 %]" => "2" -ok 2299 - Line 299 "[% SET foo = {'1' => 2} %][% foo.1 %]" => "2" -ok 2300 - Line 301 "[% SET name = 1 %][% SET foo = name %][% foo %]" => "1" -ok 2301 - Line 302 "[% SET name = 1 %][% SET foo = $name %][% foo %]" => "" -ok 2302 - Line 303 "[% SET name = 1 %][% SET foo = ${name} %][% foo %]" => "" -ok 2303 - Line 304 "[% SET name = 1 %][% SET foo = "$name" %][% foo %]" => "1" -ok 2304 - Line 305 "[% SET name = 1 foo = name %][% foo %]" => "1" -ok 2305 - Line 306 "[% SET name = 1 %][% SET foo = {$name => 2} %][% foo.1 %]" => "2" -ok 2306 - Line 307 "[% SET name = 1 %][% SET foo = {"$name" => 2} %][% foo.1 %]" => "2" -ok 2307 - Line 308 "[% SET name = 1 %][% SET foo = {${name} => 2} %][% foo.1 %]" => "2" -ok 2308 - Line 310 "[% SET name = 7 %][% SET foo = {'2' => name} %][% foo.2 %]" => "7" -ok 2309 - Line 311 "[% SET name = 7 %][% SET foo = {'2' => "$name"} %][% foo.2 %]" => "7" -ok 2310 - Line 313 "[% SET name = 7 %][% SET foo = [1, name, 3] %][% foo.1 %]" => "7" -ok 2311 - Line 314 "[% SET name = 7 %][% SET foo = [1, "$name", 3] %][% foo.1 %]" => "7" -ok 2312 - Line 316 "[% SET foo = { bar => { baz => [0, 7, 2] } } %][% foo.bar.baz.1 %]" => "7" -ok 2313 - Line 318 "[% SET foo.bar = 1 %][% foo.bar %]" => "1" -ok 2314 - Line 319 "[% SET foo.bar.baz.bing = 1 %][% foo.bar.baz.bing %]" => "1" -ok 2315 - Line 320 "[% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 1" -ok 2316 - Line 321 "[% SET foo.bar = [] %][% SET foo.bar.2 = 1 %][% foo.bar.2 %] [% foo.bar.size %]" => "1 3" -ok 2317 - Line 323 "[% SET name = 'two' %][% SET $name = 3 %][% two %]" => "3" -ok 2318 - Line 324 "[% SET name = 'two' %][% SET ${name} = 3 %][% two %]" => "3" -ok 2319 - Line 325 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.2 %]" => "3" -ok 2320 - Line 326 "[% SET name = 2 %][% SET foo.$name = 3 %][% foo.$name %]" => "3" -ok 2321 - Line 327 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" -ok 2322 - Line 328 "[% SET name = 2 %][% SET foo.${name} = 3 %][% foo.2 %]" => "3" -ok 2323 - Line 329 "[% SET name = 'two' %][% SET $name.foo = 3 %][% two.foo %]" => "3" -ok 2324 - Line 330 "[% SET name = 'two' %][% SET ${name}.foo = 3 %][% two.foo %]" => "3" -ok 2325 - Line 331 "[% SET name = 'two' %][% SET foo.$name.foo = 3 %][% foo.two.foo %]" => "3" -ok 2326 - Line 332 "[% SET name = 'two' %][% SET foo.${name}.foo = 3 %][% foo.two.foo %]" => "3" -ok 2327 - Line 334 "[% SET foo = [1..10] %][% foo.6 %]" => "7" -ok 2328 - Line 335 "[% SET foo = [10..1] %][% foo.6 %]" => "" -ok 2329 - Line 336 "[% SET foo = [-10..-1] %][% foo.6 %]" => "-4" -ok 2330 - Line 337 "[% SET foo = [1..10, 21..30] %][% foo.12 %]" => "23" -ok 2331 - Line 338 "[% SET foo = [..100] bar = 7 %][% bar %][% foo.0 %]" => "" -ok 2332 - Line 339 "[% SET foo = [100..] bar = 7 %][% bar %][% foo.0 %]" => "" -ok 2333 - Line 340 "[% SET foo = ['a'..'z'] %][% foo.6 %]" => "g" -ok 2334 - Line 341 "[% SET foo = ['z'..'a'] %][% foo.6 %]" => "" -ok 2335 - Line 342 "[% SET foo = ['a'..'z'].reverse %][% foo.6 %]" => "t" -ok 2336 - Line 344 "[% foo = 1 %][% foo %]" => "1" -ok 2337 - Line 345 "[% foo = 1 ; bar = 2 %][% foo %][% bar %]" => "12" -ok 2338 - Line 346 "[% foo.bar = 2 %][% foo.bar %]" => "2" -ok 2339 - Line 348 "[% a = "a" %]|[% (b = a) %]|[% a %]|[% b %]" => "|a|a|a" -ok 2340 - Line 349 "[% a = "a" %][% (c = (b = a)) %][% a %][% b %][% c %]" => "aaaa" -ok 2341 - Line 351 "[% a = qw{Foo Bar Baz} ; a.2 %]" => "Baz" -ok 2342 - Line 353 "[% _foo = 1 %][% _foo %]2" => "2" -ok 2343 - Line 354 "[% foo._bar %]2" => "2" -### multiple statements in same tag ################# engine_option (stream) -ok 2344 - Line 359 "[% foo; %]" => "1" -ok 2345 - Line 360 "[% GET foo; %]" => "1" -ok 2346 - Line 361 "[% GET foo; GET foo %]" => "11" -ok 2347 - Line 362 "[% GET foo GET foo %]" => "11" -ok 2348 - Line 363 "[% GET foo GET foo %]" => "" -ok 2349 - Line 365 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "12" -ok 2350 - Line 366 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "232" -ok 2351 - Line 367 "[% a = 1 a = a + 2 a %]" => "3" -ok 2352 - Line 369 "[% foo = 1 bar = 2 %][% foo %][% bar %]" => "" -ok 2353 - Line 370 "[% foo = 1 bar = 2 %][% foo = 3 bar %][% foo %][% bar %]" => "" -ok 2354 - Line 371 "[% a = 1 a = a + 2 a %]" => "" -### CALL / DEFAULT ################################## engine_option (stream) -ok 2355 - Line 377 "[% DEFAULT foo = 7 %][% foo %]" => "7" -ok 2356 - Line 378 "[% SET foo = 5 %][% DEFAULT foo = 7 %][% foo %]" => "5" -ok 2357 - Line 379 "[% DEFAULT foo.bar.baz.bing = 6 %][% foo.bar.baz.bing %]" => "6" -ok 2358 - Line 382 "[% foo %]" => "hi" -ok 2359 - Line 383 "[% GET foo %]" => "hi" -ok 2360 - Line 384 "[% CALL foo %]" => "" -ok 2361 - CALL method actually called var -### scalar vmethods ################################# engine_option (stream) -ok 2362 - Line 391 "[% n.0 %]" => "7" -ok 2363 - Line 392 "[% n.abs %]" => "7" -ok 2364 - Line 393 "[% n.abs %]" => "7" -ok 2365 - Line 394 "[% n.atan2.substr(0, 6) %]" => "1.5707" -ok 2366 - Line 395 "[% (4 * n.atan2(1)).substr(0, 7) %]" => "3.14159" -ok 2367 - Line 396 "[% n.chunk(3).join %]" => "abc def g" -ok 2368 - Line 397 "[% n.chunk(-3).join %]" => "a bcd efg" -ok 2369 - Line 398 "[% n|collapse %]" => "a b" -ok 2370 - Line 399 "[% n.cos.substr(0,5) %]" => "1" -ok 2371 - Line 400 "[% n.cos.substr(0,5) %]" => "0.707" -ok 2372 - Line 401 "[% n.defined %]" => "1" -ok 2373 - Line 402 "[% n.defined %]" => "" -ok 2374 - Line 403 "[% n.defined %]" => "1" -ok 2375 - Line 404 "[% n.dquote %]" => "(\n|\\|\")" -ok 2376 - Line 405 "[% n.exp.substr(0,5) %]" => "2.718" -ok 2377 - Line 406 "[% n.exp.log.substr(0,5) %]" => "8" -ok 2378 - Line 407 "[% n.fmt %]" => "7" -ok 2379 - Line 408 "[% n.fmt('%02d') %]" => "07" -ok 2380 - Line 409 "[% n.fmt('%0*d', 3) %]" => "007" -ok 2381 - Line 410 "[% n.fmt('(%s)') %]" => "(a -# b)" -ok 2382 - Line 411 "[% n|format('%02d') %]" => "07" -ok 2383 - Line 412 "[% n|format('%0*d', 3) %]" => "007" -ok 2384 - Line 413 "[% n|format('(%s)') %]" => "(a) -# (b)" -ok 2385 - Line 414 "[% n.hash.items.1 %]" => "b" -ok 2386 - Line 415 "[% n.hex %]" => "255" -ok 2387 - Line 416 "[% n|html %]" => "&<>"'" -ok 2388 - Line 418 "[% n|xml %]" => "&<>"'" -ok 2389 - Line 419 "[% n|indent %]" => " a -# b" -ok 2390 - Line 420 "[% n|indent(2) %]" => " a -# b" -ok 2391 - Line 421 "[% n|indent('wow ') %]" => "wow a -# wow b" -ok 2392 - Line 422 "[% n.int %]" => "123" -ok 2393 - Line 423 "[% n.int %]" => "123" -ok 2394 - Line 424 "[% n.int %]" => "0" -ok 2395 - Line 425 "[% n.item %]" => "7" -ok 2396 - Line 426 "[% n.lc %]" => "abc" -ok 2397 - Line 427 "[% n|lcfirst %]" => "fOO" -ok 2398 - Line 428 "[% n.length %]" => "3" -ok 2399 - Line 429 "[% n.list.0 %]" => "abc" -ok 2400 - Line 430 "[% n.log.substr(0,5) %]" => "4.605" -ok 2401 - Line 431 "[% n|lower %]" => "abc" -ok 2402 - Line 432 "[% n.match('foo').join %]" => "" -ok 2403 - Line 433 "[% n.match('foo').join %]" => "1" -ok 2404 - Line 434 "[% n.match('foo',1).join %]" => "foo" -ok 2405 - Line 435 "[% n.match('(foo)').join %]" => "foo" -ok 2406 - Line 436 "[% n.match('(foo)').join %]" => "foo" -ok 2407 - Line 437 "[% n.match('(foo)',1).join %]" => "foo foo" -ok 2408 - Line 438 "[% n.null %]" => "" -ok 2409 - Line 439 "[% n.oct %]" => "255" -ok 2410 - Line 440 "[% n.rand %]" => "1.5264831683424" -ok 2411 - Line 441 "[% n.rand %]" => "0.335701955774084" -ok 2412 - Line 442 "[% n.remove('bc') %]" => "a" -ok 2413 - Line 443 "[% n.remove('bc') %]" => "aa" -ok 2414 - Line 444 "[% n.repeat %]" => "1" -ok 2415 - Line 445 "[% n.repeat(0) %]" => "" -ok 2416 - Line 446 "[% n.repeat(1) %]" => "1" -ok 2417 - Line 447 "[% n.repeat(2) %]" => "11" -ok 2418 - Line 448 "[% n.repeat(2,'|') %]" => "1|1" -ok 2419 - Line 449 "[% n.replace('foo', 'bar') %]" => "barbar" -ok 2420 - Line 450 "[% n.replace('(foo)', 'bar$1') %]" => "barfoobarfoo" -ok 2421 - Line 451 "[% n.replace('foo', 'bar', 0) %]" => "barfoo" -ok 2422 - Line 452 "[% n.search('foo') %]" => "" -ok 2423 - Line 453 "[% n.search('foo') %]" => "1" -ok 2424 - Line 454 "[% n.sin.substr(0,5) %]" => "0" -ok 2425 - Line 455 "[% n.sin.substr(0,5) %]" => "1" -ok 2426 - Line 456 "[% n.size %]" => "1" -ok 2427 - Line 457 "[% n.split.join('|') %]" => "abc" -ok 2428 - Line 458 "[% n.split.join('|') %]" => "a|b|c" -ok 2429 - Line 459 "[% n.split.join('|') %]" => "a|b|c" -ok 2430 - Line 460 "[% n.split(u,2).join('|') %]" => "a|b c" -ok 2431 - Line 462 "[% n.split('/').join('|') %]" => "a|b|c" -ok 2432 - Line 463 "[% n.split('/', 2).join('|') %]" => "a|b/c" -ok 2433 - Line 464 "[% n.sprintf(7) %]" => "7" -ok 2434 - Line 465 "[% n.sprintf(3, 7, 12) %]" => "007 12" -ok 2435 - Line 466 "[% n.sqrt %]" => "3" -ok 2436 - Line 467 "[% n.squote %]" => "( -# |\\|\')" -ok 2437 - Line 468 "[% n.srand; 12 %]" => "12" -ok 2438 - Line 470 "[% n.stderr %]" => "" -ok 2439 - Line 474 "[% n|trim %]" => "a b" -ok 2440 - Line 475 "[% n.uc %]" => "FOO" -ok 2441 - Line 476 "[% n|ucfirst %]" => "Foo" -ok 2442 - Line 477 "[% n|upper %]" => "FOO" -ok 2443 - Line 478 "[% n|uri %]" => "a%20b" -ok 2444 - Line 480 "[% n.fmt('%c') %]" => "B" -ok 2445 - Line 481 "[% n.fmt('%3X') %]" => " C" -ok 2446 - Line 482 "[% n.fmt('%-3X') %]" => "C " -ok 2447 - Line 483 "[% n.fmt('%03X') %]" => "00C" -ok 2448 - Line 484 "[% n.fmt('%03X') %]" => "00C" -ok 2449 - Line 485 "[% n.fmt('%\#03X') %]" => "0XC" -ok 2450 - Line 486 "[% n.fmt('%\#07X') %]" => "0X0000C" -ok 2451 - Line 488 "[% n.fmt('%o') %]" => "10" -ok 2452 - Line 489 "[% n.fmt('%\#o') %]" => "010" -ok 2453 - Line 490 "[% n.fmt('%\#o') %]" => "0" -ok 2454 - Line 492 "[% n.fmt('%02d') %]" => "07" -ok 2455 - Line 493 "[% n.fmt('%04.2d') %]" => " 07" -ok 2456 - Line 494 "[% n.fmt('%+04.2d') %]" => " +07" -ok 2457 - Line 495 "[% n.fmt('% 04.2d') %]" => " 07" -ok 2458 - Line 496 "[% n.fmt('% +04.2d') %]" => " +07" -ok 2459 - Line 497 "[% n.fmt('%02f') %]" => "7.000000" -ok 2460 - Line 498 "[% n.fmt('%04.2f') %]" => "7.00" -ok 2461 - Line 499 "[% n.fmt('%05.2f') %]" => "07.00" -ok 2462 - Line 500 "[% n.fmt('% 5.2f') %]" => " 7.00" -ok 2463 - Line 501 "[% n.fmt('%+04.2f') %]" => "+7.00" -ok 2464 - Line 502 "[% n.fmt('% 04.2f') %]" => " 7.00" -ok 2465 - Line 503 "[% n.fmt('% +6.2f') %]" => " +7.00" -ok 2466 - Line 504 "[% n.fmt('%0+6.2f') %]" => "+07.00" -ok 2467 - Line 505 "[% n.fmt('%.5g') %]" => "12345" -ok 2468 - Line 506 "[% n.fmt('%.5g') %]" => "1.2346e+06" -### list vmethods ################################### engine_option (stream) -ok 2469 - Line 511 "[% a.defined %]" => "1" -ok 2470 - Line 512 "[% a.defined(1) %]" => "1" -ok 2471 - Line 513 "[% a.defined(3) %]" => "" -ok 2472 - Line 514 "[% a.first %]" => "2" -ok 2473 - Line 515 "[% a.first(3).join %]" => "2 3 4" -ok 2474 - Line 516 "[% a.fmt %]" => "2 3" -ok 2475 - Line 517 "[% a.fmt('%02d') %]" => "02 03" -ok 2476 - Line 518 "[% a.fmt('%02d',' ') %]" => "02 03" -ok 2477 - Line 519 "[% a.fmt('%02d','|') %]" => "02|03" -ok 2478 - Line 520 "[% a.fmt('%0*d','|', 3) %]" => "002|003" -ok 2479 - Line 521 "[% a.grep.join %]" => "2 3" -ok 2480 - Line 522 "[% a.grep(2).join %]" => "2" -ok 2481 - Line 523 "[% a.grep(->(n){n % 2}).join %]" => "3 5 7" -ok 2482 - Line 524 "[% a.hash.items.join %]" => "2 3" -ok 2483 - Line 525 "[% a.hash(5).items.sort.join %]" => "2 3 5 6" -ok 2484 - Line 526 "[% a.import(5) %]|[% a.join %]" => "|2 3" -ok 2485 - Line 528 "[% a.import([5]) %]|[% a.join %]" => "|2 3 5" -ok 2486 - Line 530 "[% a.item %]" => "2" -ok 2487 - Line 531 "[% a.item(1) %]" => "3" -ok 2488 - Line 532 "[% a.join %]" => "2 3" -ok 2489 - Line 533 "[% a.join('|') %]" => "2|3" -ok 2490 - Line 534 "[% a.last %]" => "10" -ok 2491 - Line 535 "[% a.last(3).join %]" => "8 9 10" -ok 2492 - Line 536 "[% a.list.join %]" => "2 3" -ok 2493 - Line 537 "[% a.map(->(n){ n.repeat(3) }).join %]" => "222 333" -ok 2494 - Line 538 "[% a.max %]" => "1" -ok 2495 - Line 539 "[% a.merge(5).join %]" => "2 3" -ok 2496 - Line 540 "[% a.merge([5]).join %]" => "2 3 5" -ok 2497 - Line 541 "[% a.merge([5]).null %][% a.join %]" => "2 3" -ok 2498 - Line 542 "[% a.nsort.join %]" => "1 2 3" -ok 2499 - Line 543 "[% a.nsort('b').0.b %]" => "7" -ok 2500 - Line 544 "[% a.pop %][% a.join %]" => "32" -ok 2501 - Line 545 "[% a.push(3) %][% a.join %]" => "2 3 3" -ok 2502 - Line 546 "[% a.pick %]" => "2" -ok 2503 - Line 547 "[% a.pick(5).join('') %]" => "23223" -ok 2504 - Line 548 "[% a.reverse.join %]" => "3 2" -ok 2505 - Line 549 "[% a.shift %][% a.join %]" => "23" -ok 2506 - Line 550 "[% a.size %]" => "2" -ok 2507 - Line 551 "[% a.slice.join %]" => "2 3 4 5" -ok 2508 - Line 552 "[% a.slice(2).join %]" => "4 5" -ok 2509 - Line 553 "[% a.slice(0,2).join %]" => "2 3 4" -ok 2510 - Line 554 "[% a.sort.join %]" => "1 2 3" -ok 2511 - Line 555 "[% a.sort('b').0.b %]" => "wee" -ok 2512 - Line 556 "[% c.sort(->(a,b){ a.k cmp b.k }).map(->{this.k}).join %]" => "a wee wow" -ok 2513 - Line 557 "[% a.splice.join %]|[% a.join %]" => "2 3 4 5|" -ok 2514 - Line 558 "[% a.splice(2).join %]|[% a.join %]" => "4 5|2 3" -ok 2515 - Line 559 "[% a.splice(0,2).join %]|[% a.join %]" => "2 3|4 5" -ok 2516 - Line 560 "[% a.splice(0,2,'hrm').join %]|[% a.join %]" => "2 3|hrm 4 5" -ok 2517 - Line 561 "[% a.unique.join %]" => "2 3" -ok 2518 - Line 562 "[% a.unshift(3) %][% a.join %]" => "3 2 3" -### hash vmethods ################################### engine_option (stream) -ok 2519 - Line 567 "[% h.defined %]" => "1" -ok 2520 - Line 568 "[% h.defined('a') %]" => "1" -ok 2521 - Line 569 "[% h.defined('b') %]" => "" -ok 2522 - Line 570 "[% h.defined('a') %]" => "" -ok 2523 - Line 571 "[% h.delete('a') %]|[% h.keys.0 %]" => "|b" -ok 2524 - Line 572 "[% h.delete('a', 'b').join %]|[% h.keys.0 %]" => "|" -ok 2525 - Line 573 "[% h.delete('a', 'c').join %]|[% h.keys.0 %]" => "|b" -ok 2526 - Line 574 "[% h.each.sort.join %]" => "1 2 a b" -ok 2527 - Line 575 "[% h.exists('a') %]" => "1" -ok 2528 - Line 576 "[% h.exists('b') %]" => "" -ok 2529 - Line 577 "[% h.exists('a') %]" => "1" -ok 2530 - Line 578 "[% h.fmt %]" => "b B -# c C" -ok 2531 - Line 579 "[% h.fmt('%s => %s') %]" => "b => B -# c => C" -ok 2532 - Line 580 "[% h.fmt('%s => %s', '|') %]" => "b => B|c => C" -ok 2533 - Line 581 "[% h.fmt('%*s=>%s', '|', 3) %]" => " b=>B| c=>C" -ok 2534 - Line 582 "[% h.fmt('%*s=>%*s', '|', 3, 4) %]" => " b=> B| c=> C" -ok 2535 - Line 583 "[% h.hash.fmt %]" => "b B -# c C" -ok 2536 - Line 584 "[% h.import('a') %]|[% h.items.sort.join %]" => "|b B c C" -ok 2537 - Line 585 "[% h.import({'b' => 'boo'}) %]|[% h.items.sort.join %]" => "|b boo c C" -ok 2538 - Line 586 "[% h.item('a') %]" => "A" -ok 2539 - Line 587 "[% h.item('_a') %]" => "" -ok 2540 - Line 588 "[% h.items.sort.join %]" => "1 2 a b" -ok 2541 - Line 589 "[% h.keys.sort.join %]" => "a b" -ok 2542 - Line 590 "[% h.list('each').sort.join %]" => "1 2 a b" -ok 2543 - Line 591 "[% h.list('keys').sort.join %]" => "a b" -ok 2544 - Line 592 "[% h.list('pairs').0.items.sort.join %]" => "1 a key value" -ok 2545 - Line 593 "[% h.list('values').sort.join %]" => "1 2" -ok 2546 - Line 594 "[% h.null %]" => "" -ok 2547 - Line 595 "[% h.nsort.join %]" => "b a" -ok 2548 - Line 596 "[% h.pairs.0.items.sort.join %]" => "1 a key value" -ok 2549 - Line 597 "[% h.size %]" => "2" -ok 2550 - Line 598 "[% h.sort.join %]" => "b a" -ok 2551 - Line 599 "[% h.values.sort.join %]" => "1 2" -### vmethods as functions ########################### engine_option (stream) -ok 2552 - Line 604 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" -ok 2553 - Line 605 "[% sprintf('%d %d', 7, 8) %] d" => "7 8 d" -ok 2554 - Line 606 "[% sprintf('%d %d', 7, 8) %] d" => " d" -ok 2555 - Line 607 "[% int(2.234) %]" => "2" -ok 2556 - Line 609 "[% int(2.234) ; int = 44; int(2.234) ; SET int; int(2.234) %]" => "2442" -### more virtual methods / filters ################## engine_option (stream) -ok 2557 - Line 614 "[% [0 .. 10].reverse.1 %]" => "9" -ok 2558 - Line 615 "[% {a => 'A'}.a %]" => "A" -ok 2559 - Line 616 "[% 'This is a string'.length %]" => "16" -ok 2560 - Line 617 "[% 123.length %]" => "3" -ok 2561 - Line 618 "[% 123.2.length %]" => "5" -ok 2562 - Line 619 "[% -123.2.length %]" => "-5" -ok 2563 - Line 620 "[% (-123.2).length %]" => "6" -ok 2564 - Line 621 "[% a = 23; a.0 %]" => "23" -ok 2565 - Line 622 "[% 1.rand %]" => "0.15075242533052" -ok 2566 - Line 624 "[% n.size %]" => "SIZE" -ok 2567 - Line 625 "[% n|size %]" => "2" -ok 2568 - Line 627 "[% "1" | indent(2) %]" => " 1" -ok 2569 - Line 629 "[% n FILTER size %]" => "1" -ok 2570 - Line 631 "[% n FILTER repeat %]" => "1" -ok 2571 - Line 632 "[% n FILTER repeat(0) %]" => "" -ok 2572 - Line 633 "[% n FILTER repeat(1) %]" => "1" -ok 2573 - Line 634 "[% n FILTER repeat(2) %]" => "11" -ok 2574 - Line 635 "[% n FILTER repeat(2,'|') %]" => "1|1" -ok 2575 - Line 637 "[% n FILTER echo = repeat(2) %][% n FILTER echo %]" => "1111" -ok 2576 - Line 638 "[% n FILTER echo = repeat(2) %][% n | echo %]" => "1111" -ok 2577 - Line 639 "[% n FILTER echo = repeat(2) %][% n|echo.length %]" => "112" -ok 2578 - Line 640 "[% n FILTER echo = repeat(2) %][% n FILTER $foo %]" => "1111" -ok 2579 - Line 641 "[% n FILTER echo = repeat(2) %][% n | $foo %]" => "1111" -ok 2580 - Line 642 "[% n FILTER echo = repeat(2) %][% n|$foo.length %]" => "112" -ok 2581 - Line 644 "[% "hi" FILTER $foo %]" => "hihi" -ok 2582 - Line 645 "[% FILTER $foo %]hi[% END %]" => "hihi" -ok 2583 - Line 646 "[% "hi" FILTER foo %]" => "hihi" -ok 2584 - Line 647 "[% "hi" FILTER foo %]" => "hihi" -ok 2585 - Line 648 "[% "hi" FILTER foo(2) %]" => "hihi" -ok 2586 - Line 650 "[% ["0".."9"].pick %]" => "9" -ok 2587 - Line 652 "[% ' ' | uri %]" => "%20" -ok 2588 - Line 654 "[% "one".fmt %]" => "one" -ok 2589 - Line 655 "[% 2.fmt("%02d") %]" => "02" -ok 2590 - Line 657 "[% [1..3].fmt %]" => "1 2 3" -ok 2591 - Line 658 "[% [1..3].fmt("%02d") %]" => "01 02 03" -ok 2592 - Line 659 "[% [1..3].fmt("%s", ", ") %]" => "1, 2, 3" -ok 2593 - Line 661 "[% {a => "B", c => "D"}.fmt %]" => "a B -# c D" -ok 2594 - Line 662 "[% {a => "B", c => "D"}.fmt("%s:%s") %]" => "a:B -# c:D" -ok 2595 - Line 663 "[% {a => "B", c => "D"}.fmt("%s:%s", "; ") %]" => "a:B; c:D" -ok 2596 - Line 665 "[% 1|format("%s") %]" => "1" -ok 2597 - Line 666 "[% 1|format("%*s", 6) %]" => " 1" -ok 2598 - Line 667 "[% 1|format("%-*s", 6) %]" => "1 " -ok 2599 - Line 669 "[% 1.fmt("%-*s", 6) %]" => "1 " -ok 2600 - Line 670 "[% [1,2].fmt("%-*s", "|", 6) %]" => "1 |2 " -ok 2601 - Line 671 "[% {1=>2,3=>4}.fmt("%*s:%*s", "|", 3, 3) %]" => " 1: 2| 3: 4" -ok 2602 - Line 673 "[% foo %]" => "&" -ok 2603 - Line 674 "[% "&" %]" => "&" -ok 2604 - Line 675 "[% foo | none %]" => "&" -ok 2605 - Line 676 "[% foo.bar %]" => "&" -ok 2606 - Line 677 "[% foo.bar | none %]" => "&" -ok 2607 - Line 678 "[% GET foo %]" => "&" -ok 2608 - Line 679 "[% GET "&" %]" => "&" -ok 2609 - Line 680 "[% GET foo | none %]" => "&" -ok 2610 - Line 681 "[% Text.length(foo) %]" => "1" -### virtual objects ################################# engine_option (stream) -ok 2611 - Line 686 "[% a = "foobar" %][% Text.length(a) %]" => "6" -ok 2612 - Line 687 "[% a = [1 .. 10] %][% List.size(a) %]" => "10" -ok 2613 - Line 688 "[% a = {a=>"A", b=>"B"} ; Hash.size(a) %]" => "2" -ok 2614 - Line 690 "[% a = Text.new("This is a string") %][% a.length %]" => "16" -ok 2615 - Line 691 "[% a = List.new("one", "two", "three") %][% a.size %]" => "3" -ok 2616 - Line 692 "[% a = Hash.new("one", "ONE") %][% a.one %]" => "ONE" -ok 2617 - Line 693 "[% a = Hash.new(one = "ONE") %][% a.one %]" => "ONE" -ok 2618 - Line 694 "[% a = Hash.new(one => "ONE") %][% a.one %]" => "ONE" -ok 2619 - Line 696 "[% {a => 1, b => 2} | Hash.keys | List.sort | List.join(", ") %]" => "a, b" -### chomping ######################################## engine_option (stream) -ok 2620 - Line 701 " [% foo %]" => " " -ok 2621 - Line 702 " [%- foo %]" => "" -ok 2622 - Line 703 " -# [%- foo %]" => "" -ok 2623 - Line 704 " -# [%- foo %]" => "" -ok 2624 - Line 705 " -# -# [%- foo %]" => " -# " -ok 2625 - Line 706 " -# -# [%- foo %]" => " -# " -ok 2626 - Line 707 " -# [%- foo %]" => " " -ok 2627 - Line 708 " -# -# [%- foo %]" => " -# " -ok 2628 - Line 710 "[% 7 %] " => "7 " -ok 2629 - Line 711 "[% 7 -%] " => "7 " -ok 2630 - Line 712 "[% 7 -%] -# " => "7" -ok 2631 - Line 713 "[% 7 -%] -# " => "7" -ok 2632 - Line 714 "[% 7 -%] -# " => "7 " -ok 2633 - Line 715 "[% 7 -%] -# -# -# " => "7 -# -# " -ok 2634 - Line 716 "[% 7 -%] -# " => "7 " -### string operators ################################ engine_option (stream) -ok 2635 - Line 721 "[% a = "foo"; a _ "bar" %]" => "foobar" -ok 2636 - Line 722 "[% a = "foo"; a ~ "bar" %]" => "foobar" -ok 2637 - Line 723 "[% a = "foo"; a ~= "bar"; a %]" => "foobar" -ok 2638 - Line 724 "[% "b" gt "c" %]<<<" => "<<<" -ok 2639 - Line 725 "[% "b" gt "a" %]<<<" => "1<<<" -ok 2640 - Line 726 "[% "b" ge "c" %]<<<" => "<<<" -ok 2641 - Line 727 "[% "b" ge "b" %]<<<" => "1<<<" -ok 2642 - Line 728 "[% "b" lt "c" %]<<<" => "1<<<" -ok 2643 - Line 729 "[% "b" lt "a" %]<<<" => "<<<" -ok 2644 - Line 730 "[% "b" le "a" %]<<<" => "<<<" -ok 2645 - Line 731 "[% "b" le "b" %]<<<" => "1<<<" -ok 2646 - Line 732 "[% "a" cmp "b" %]<<<" => "-1<<<" -ok 2647 - Line 733 "[% "b" cmp "b" %]<<<" => "0<<<" -ok 2648 - Line 734 "[% "c" cmp "b" %]<<<" => "1<<<" -### math operators ################################## engine_option (stream) -ok 2649 - Line 739 "[% 1 + 2 %]" => "3" -ok 2650 - Line 740 "[% 1 + 2 + 3 %]" => "6" -ok 2651 - Line 741 "[% (1 + 2) %]" => "3" -ok 2652 - Line 742 "[% 2 - 1 %]" => "1" -ok 2653 - Line 743 "[% -1 + 2 %]" => "1" -ok 2654 - Line 744 "[% -1+2 %]" => "1" -ok 2655 - Line 745 "[% 2 - 1 %]" => "1" -ok 2656 - Line 746 "[% 2-1 %]" => "1" -ok 2657 - Line 747 "[% 2 - -1 %]" => "3" -ok 2658 - Line 748 "[% 4 * 2 %]" => "8" -ok 2659 - Line 749 "[% 4 / 2 %]" => "2" -ok 2660 - Line 750 "[% 10 / 3 %]" => "3.33333333333333" -ok 2661 - Line 751 "[% 10 div 3 %]" => "3" -ok 2662 - Line 752 "[% 2 ** 3 %]" => "8" -ok 2663 - Line 753 "[% 1 + 2 * 3 %]" => "7" -ok 2664 - Line 754 "[% 3 * 2 + 1 %]" => "7" -ok 2665 - Line 755 "[% (1 + 2) * 3 %]" => "9" -ok 2666 - Line 756 "[% 3 * (1 + 2) %]" => "9" -ok 2667 - Line 757 "[% 1 + 2 ** 3 %]" => "9" -ok 2668 - Line 758 "[% 2 * 2 ** 3 %]" => "16" -ok 2669 - Line 759 "[% SET foo = 1 %][% foo + 2 %]" => "3" -ok 2670 - Line 760 "[% SET foo = 1 %][% (foo + 2) %]" => "3" -ok 2671 - Line 762 "[% a = 1; (a += 2) %]" => "3" -ok 2672 - Line 763 "[% a = 1; (a -= 2) %]" => "-1" -ok 2673 - Line 764 "[% a = 4; (a /= 2) %]" => "2" -ok 2674 - Line 765 "[% a = 1; (a *= 2) %]" => "2" -ok 2675 - Line 766 "[% a = 3; (a **= 2) %]" => "9" -ok 2676 - Line 767 "[% a = 1; (a %= 2) %]" => "1" -ok 2677 - Line 768 "[% a = 1; (a += 2 + 3) %]" => "6" -ok 2678 - Line 769 "[% a = 1; b = 2; (a += b += 3) %]|[% a %]|[% b %]" => "6|6|5" -ok 2679 - Line 770 "[% a = 1; b = 2; (a += (b += 3)) %]|[% a %]|[% b %]" => "6|6|5" -ok 2680 - Line 772 "[% a += 1 %]-[% a %]-[% a += 1 %]-[% a %]" => "-1--2" -ok 2681 - Line 773 "[% (a += 1) %]-[% (a += 1) %]" => "1-2" -ok 2682 - Line 775 "[% a = 2; a -= 3; a %]" => "-1" -ok 2683 - Line 776 "[% a = 2; a *= 3; a %]" => "6" -ok 2684 - Line 777 "[% a = 2; a /= .5; a %]" => "4" -ok 2685 - Line 778 "[% a = 8; a %= 3; a %]" => "2" -ok 2686 - Line 779 "[% a = 2; a **= 3; a %]" => "8" -ok 2687 - Line 781 "[% a = 1 %][% ++a %][% a %]" => "22" -ok 2688 - Line 782 "[% a = 1 %][% a++ %][% a %]" => "12" -ok 2689 - Line 783 "[% a = 1 %][% --a %][% a %]" => "00" -ok 2690 - Line 784 "[% a = 1 %][% a-- %][% a %]" => "10" -ok 2691 - Line 785 "[% a++ FOR [1..3] %]" => "012" -ok 2692 - Line 786 "[% --a FOR [1..3] %]" => "-1-2-3" -ok 2693 - Line 788 "[% 2 > 3 %]<<<" => "<<<" -ok 2694 - Line 789 "[% 2 > 1 %]<<<" => "1<<<" -ok 2695 - Line 790 "[% 2 >= 3 %]<<<" => "<<<" -ok 2696 - Line 791 "[% 2 >= 2 %]<<<" => "1<<<" -ok 2697 - Line 792 "[% 2 < 3 %]<<<" => "1<<<" -ok 2698 - Line 793 "[% 2 < 1 %]<<<" => "<<<" -ok 2699 - Line 794 "[% 2 <= 1 %]<<<" => "<<<" -ok 2700 - Line 795 "[% 2 <= 2 %]<<<" => "1<<<" -ok 2701 - Line 796 "[% 1 <=> 2 %]<<<" => "-1<<<" -ok 2702 - Line 797 "[% 2 <=> 2 %]<<<" => "0<<<" -ok 2703 - Line 798 "[% 3 <=> 2 %]<<<" => "1<<<" -### boolean operators ############################### engine_option (stream) -ok 2704 - Line 803 "[% 5 && 6 %]" => "6" -ok 2705 - Line 804 "[% 5 || 6 %]" => "5" -ok 2706 - Line 805 "[% 0 || 6 %]" => "6" -ok 2707 - Line 806 "[% 0 && 6 %]" => "0" -ok 2708 - Line 807 "[% 0 && 0 %]" => "0" -ok 2709 - Line 808 "[% 5 && 6 && 7%]" => "7" -ok 2710 - Line 809 "[% 0 || 1 || 2 %]" => "1" -ok 2711 - Line 811 "[% 5 + (0 || 5) %]" => "10" -ok 2712 - Line 814 "[% 1 ? 2 : 3 %]" => "2" -ok 2713 - Line 815 "[% 0 ? 2 : 3 %]" => "3" -ok 2714 - Line 816 "[% 0 ? (1 ? 2 : 3) : 4 %]" => "4" -ok 2715 - Line 817 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" -ok 2716 - Line 819 "[% t = 1 || 0 ? 3 : 4 %][% t %]" => "3" -ok 2717 - Line 820 "[% t = 0 or 1 ? 3 : 4 %][% t %]" => "3" -ok 2718 - Line 821 "[% t = 1 or 0 ? 3 : 4 %][% t %]" => "1" -ok 2719 - Line 823 "[% 0 ? 2 : 3 %]" => "3" -ok 2720 - Line 824 "[% 1 ? 2 : 3 %]" => "2" -ok 2721 - Line 825 "[% 0 ? 1 ? 2 : 3 : 4 %]" => "4" -ok 2722 - Line 826 "[% t = 0 ? 1 ? [1..4] : [2..4] : [3..4] %][% t.0 %]" => "3" -ok 2723 - Line 827 "[% t = 1 || 0 ? 0 : 1 || 2 ? 2 : 3 %][% t %]" => "0" -ok 2724 - Line 828 "[% t = 0 or 0 ? 0 : 1 or 2 ? 2 : 3 %][% t %]" => "1" -ok 2725 - Line 829 "[% t = 0 or 0 ? 0 : 0 or 2 ? 2 : 3 %][% t %]" => "2" -ok 2726 - Line 831 "[% 0 ? 1 ? 1 + 2 * 3 : 1 + 2 * 4 : 1 + 2 * 5 %]" => "11" -ok 2727 - Line 833 "[% foo //= 2 ; foo %]" => "2" -ok 2728 - Line 834 "[% foo = 3; foo //= 2; foo %]" => "3" -ok 2729 - Line 835 "[% foo = 3; SET foo; foo //= 2; foo %]" => "2" -ok 2730 - Line 837 "[% 5 // 6 %]" => "5" -ok 2731 - Line 838 "[% foo // 6 %]" => "6" -ok 2732 - Line 839 "[% foo // 6 %]" => "6" -ok 2733 - Line 840 "[% foo // 6 %]" => "" -ok 2734 - Line 841 "[% foo // 6 %]" => "bar" -ok 2735 - Line 843 "[% foo err 6 %]" => "6" -ok 2736 - Line 844 "[% foo ERR 6 %]" => "6" -### regex ########################################### engine_option (stream) -ok 2737 - Line 850 "[% 'foo'.match(/foo/) ? 1 : 0 %]" => "1" -ok 2738 - Line 851 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" -ok 2739 - Line 852 "[% 'foo'.match(/fo o/x) ? 1 : 0 %]" => "1" -ok 2740 - Line 853 "[% 'foo'.match(/Foo/i) ? 1 : 0 %]" => "1" -ok 2741 - Line 854 "[% 'f -# o'.match(/f.o/s) ? 1 : 0 %]" => "1" -ok 2742 - Line 855 "[% ' -# foo'.match(/^foo/m) ? 1 : 0 %]" => "1" -ok 2743 - Line 856 "[% 'foo'.match(/foo/e) ? 1 : 0 %]" => "" -ok 2744 - Line 857 "[% 'foo'.match(/foo/g) ? 1 : 0 %]" => "" -ok 2745 - Line 858 "[% 'foo'.match(/foo) ? 1 : 0 %]" => "" -ok 2746 - Line 859 "[% 'foo'.match(/foo**/) ? 1 : 0 %]" => "" -ok 2747 - Line 860 "[% 'fo/o'.match(/fo\/o/) ? 1 : 0 %]" => "1" -ok 2748 - Line 861 "[% 'foobar'.match(/(f\w\w)/).0 %]" => "foo" -### BLOCK / PROCESS / INCLUDE / WRAPPER ############# engine_option (stream) -ok 2749 - Line 867 "[% PROCESS foo %]one" => "" -ok 2750 - Line 868 "[% BLOCK foo %]one" => "" -ok 2751 - Line 869 "[% BLOCK foo %][% END %]one" => "one" -ok 2752 - Line 870 "[% BLOCK %][% END %]one" => "one" -ok 2753 - Line 871 "[% BLOCK foo %]hi there[% END %]one" => "one" -ok 2754 - Line 872 "[% BLOCK foo %][% BLOCK foo %][% END %][% END %]" => "" -ok 2755 - Line 873 "[% BLOCK foo %]hi there[% END %][% PROCESS foo %]" => "hi there" -ok 2756 - Line 874 "[% PROCESS foo %][% BLOCK foo %]hi there[% END %]" => "hi there" -ok 2757 - Line 875 "[% BLOCK foo %]hi there[% END %][% PROCESS foo foo %]" => "hi therehi there" -ok 2758 - Line 876 "[% BLOCK foo %]hi there[% END %][% PROCESS foo, foo %]" => "hi therehi there" -ok 2759 - Line 877 "[% BLOCK foo %]hi there[% END %][% PROCESS foo + foo %]" => "hi therehi there" -ok 2760 - Line 878 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo %]" => "hi ONE there" -ok 2761 - Line 879 "[% BLOCK foo %]hi [% IF 1 %]Yes[% END %] there[% END %]<<[% PROCESS foo %]>>" => "<>" -ok 2762 - Line 880 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %]" => "hi two there" -ok 2763 - Line 881 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo one.two = 'two' %]" => "hi two there" -ok 2764 - Line 882 "[% BLOCK foo %]hi [% one.two %] there[% END %][% PROCESS foo + foo one.two = 'two' %]" => "hi two therehi two there" -ok 2765 - Line 883 "[% BLOCK foo %][% BLOCK bar %]hi [% one %] there[% END %][% END %][% PROCESS foo/bar one => 'two' %]" => "hi two there" -ok 2766 - Line 885 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% PROCESS $self.a self = 'blah' %]" => "Ta-Da" -ok 2767 - Line 886 "[% BLOCK b %]Ta-Da[% END %][% self = {a => 'b'} %][% INCLUDE $self.a self = 'blah' %]" => "Ta-Da" -ok 2768 - Line 887 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% PROCESS $self self = 'blah'; self %]" => "Ta-Dablah" -ok 2769 - Line 888 "[% BLOCK b %]Ta-Da[% END %][% self = 'b' %][% INCLUDE $self self = 'blah'; self %]" => "Ta-Dab" -ok 2770 - Line 890 "[% BLOCK foo %]hi [% one %] there[% END %][% PROCESS foo one = 'two' %][% one %]" => "hi two theretwo" -ok 2771 - Line 891 "[% BLOCK foo %]hi [% one %] there[% END %][% INCLUDE foo one = 'two' %][% one %]" => "hi two there" -ok 2772 - Line 894 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]d" => "FOOBAR" -ok 2773 - Line 895 "[% BLOCK foo %]FOO[% IF ! a ; a = 1; PROCESS bar; END %][% END %][% BLOCK bar %]BAR[% PROCESS foo %][% END %][% PROCESS foo %]" => "FOOBARFOO" -ok 2774 - Line 897 "[% BLOCK foo %]([% content %])[% END %][% WRAPPER foo %]hi there[% END %]" => "(hi there)" -ok 2775 - Line 898 "[% BLOCK foo %]([% one = 1; content %])[% END %][% WRAPPER foo %]hi there[% END %][% one %]" => "(hi there)won" -ok 2776 - Line 900 "[% a = 23; PROCESS $foo %]" => "bar 23 baz" -### IF / UNLESS / ELSIF / ELSE ###################### engine_option (stream) -ok 2777 - Line 905 "[% IF 1 %]Yes[% END %]" => "Yes" -ok 2778 - Line 906 "[% IF 0 %]Yes[% END %]" => "" -ok 2779 - Line 907 "[% IF 0 %]Yes[% ELSE %]No[% END %]" => "No" -ok 2780 - Line 908 "[% IF 0 %]Yes[% ELSIF 1 %]No[% END %]" => "No" -ok 2781 - Line 909 "[% IF 0 %]Yes[% ELSIF 0 %]No[% END %]" => "" -ok 2782 - Line 910 "[% IF 0 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" -ok 2783 - Line 912 "[% UNLESS 1 %]Yes[% END %]" => "" -ok 2784 - Line 913 "[% UNLESS 0 %]Yes[% END %]" => "Yes" -ok 2785 - Line 914 "[% UNLESS 0 %]Yes[% ELSE %]No[% END %]" => "Yes" -ok 2786 - Line 915 "[% UNLESS 1 %]Yes[% ELSIF 1 %]No[% END %]" => "No" -ok 2787 - Line 916 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% END %]" => "" -ok 2788 - Line 917 "[% UNLESS 1 %]Yes[% ELSIF 0 %]No[% ELSE %]hmm[% END %]" => "hmm" -### comments ######################################## engine_option (stream) -ok 2789 - Line 922 "[%\# one %]f" => "f" -ok 2790 - Line 923 "[%\# -# one %]f" => "f" -ok 2791 - Line 924 "[%-\# -# one %]f" => "f" -ok 2792 - Line 925 "[% \# -# one %]f" => "ONEf" -ok 2793 - Line 926 "[% \# one %] -# one %]f" => " -# one %]f" -ok 2794 - Line 928 "[%\# BLOCK one %]" => "" -ok 2795 - Line 929 "[%\# BLOCK one %]two" => "two" -ok 2796 - Line 930 "[%\# BLOCK one %]two[% END %]" => "" -ok 2797 - Line 931 "[%\# BLOCK one %]two[% END %]three" => "" -ok 2798 - Line 932 "[% %]" => "" -ok 2799 - Line 933 "[% -# # Some comment -# CALL 1 -%] -# foo" => "foo" -### FOREACH / NEXT / LAST ########################### engine_option (stream) -ok 2800 - Line 941 "[% FOREACH foo %]" => "" -ok 2801 - Line 942 "[% FOREACH foo %][% END %]" => "" -ok 2802 - Line 943 "[% FOREACH foo %]bar[% END %]" => "" -ok 2803 - Line 944 "[% FOREACH foo %]bar[% END %]" => "bar" -ok 2804 - Line 945 "[% FOREACH f IN foo %]bar[% f %][% END %]" => "bar1bar2" -ok 2805 - Line 946 "[% FOREACH f = foo %]bar[% f %][% END %]" => "bar1bar2" -ok 2806 - Line 947 "[% FOREACH f = [1,2] %]bar[% f %][% END %]" => "bar1bar2" -ok 2807 - Line 948 "[% FOREACH f = [1..3] %]bar[% f %][% END %]" => "bar1bar2bar3" -ok 2808 - Line 949 "[% FOREACH f = [{a=>'A'},{a=>'B'}] %]bar[% f.a %][% END %]" => "barAbarB" -ok 2809 - Line 950 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %]" => "barAbarB" -ok 2810 - Line 951 "[% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB" -ok 2811 - Line 952 "[% FOREACH f = [1..3] %][% loop.count %]/[% loop.size %] [% END %]" => "1/3 2/3 3/3 " -ok 2812 - Line 953 "[% FOREACH f = [1..3] %][% IF loop.first %][% f %][% END %][% END %]" => "1" -ok 2813 - Line 954 "[% FOREACH f = [1..3] %][% IF loop.last %][% f %][% END %][% END %]" => "3" -ok 2814 - Line 955 "[% FOREACH f = [1..3] %][% IF loop.first %][% NEXT %][% END %][% f %][% END %]" => "23" -ok 2815 - Line 956 "[% FOREACH f = [1..3] %][% IF loop.first %][% LAST %][% END %][% f %][% END %]" => "" -ok 2816 - Line 957 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% NEXT %][% END %][% END %]" => "123" -ok 2817 - Line 958 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% LAST %][% END %][% END %]" => "1" -ok 2818 - Line 959 "[% loop.odd FOREACH [1..5] %]" => "10101" -ok 2819 - Line 960 "[% loop.even FOREACH [1..5] %]" => "01010" -ok 2820 - Line 961 "[% loop.parity FOREACH [1..5] %]" => "oddevenoddevenodd" -ok 2821 - Line 963 "[% a = ["Red", "Blue"] ; FOR [0..3] ; a.${ loop.index % a.size } ; END %]" => "RedBlueRedBlue" -ok 2822 - Line 968 "[% foo = 1 %][% FOREACH [1..10] %][% foo %][% foo = 2 %][% END %]" => "1222222222" -ok 2823 - Line 969 "[% f = 1 %][% FOREACH i = [1..10] %][% i %][% f = 2 %][% END %][% f %]" => "123456789102" -ok 2824 - Line 970 "[% f = 1 %][% FOREACH [1..10] %][% f = 2 %][% END %][% f %]" => "1" -ok 2825 - Line 971 "[% f = 1 %][% FOREACH f = [1..10] %][% f %][% END %][% f %]" => "1234567891010" -ok 2826 - Line 972 "[% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" -ok 2827 - Line 973 "[% a %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "" -ok 2828 - Line 974 "[% a = 2 %][% FOREACH [1] %][% SET a = 1 %][% END %][% a %]" => "2" -ok 2829 - Line 975 "[% a = 2 %][% FOREACH [1] %][% a = 1 %][% END %][% a %]" => "2" -ok 2830 - Line 976 "[% a = 2 %][% FOREACH i = [1] %][% a = 1 %][% END %][% a %]" => "1" -ok 2831 - Line 977 "[% FOREACH i = [1] %][% SET a = 1 %][% END %][% a %]" => "1" -ok 2832 - Line 978 "[% f.b = 1 %][% FOREACH f.b = [1..10] %][% f.b %][% END %][% f.b %]" => "1234567891010" -ok 2833 - Line 979 "[% a = 1 %][% FOREACH [{a=>'A'},{a=>'B'}] %]bar[% a %][% END %][% a %]" => "barAbarB1" -ok 2834 - Line 980 "[% FOREACH [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" -ok 2835 - Line 981 "[% FOREACH i = [1..3] %][% loop.size %][% END %][% loop.size %]" => "333" -ok 2836 - Line 984 "[% FOREACH f = [1..3]; 1; END %]" => "111" -ok 2837 - Line 985 "[% FOREACH f = [1..3]; f; END %]" => "123" -ok 2838 - Line 986 "[% FOREACH f = [1..3]; "$f"; END %]" => "123" -ok 2839 - Line 987 "[% FOREACH f = [1..3]; f + 1; END %]" => "234" -ok 2840 - Line 988 "[% FOREACH f IN [2,3,4]; FOREACH g IN [6,7,8]; f;g;", "; END; END %]" => "26, 27, 28, 36, 37, 38, 46, 47, 48, " -ok 2841 - Line 999 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 2842 - Line 1000 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 2843 - Line 1001 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 2844 - Line 1002 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 2845 - Line 1004 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 2846 - Line 1005 "[% FOREACH i IN foo; i.n; END %]" => "1" -ok 2847 - Line 1006 "[% FOREACH i IN foo; i.n; END %]" => "123" -ok 2848 - Line 1007 "[% FOREACH i IN foo; i.n; END %]" => "1" -### LOOP ############################################ engine_option (stream) -ok 2849 - Line 1012 "[% var = [{key => 'a'}, {key => 'b'}] -%] -# [% LOOP var -%] -# ([% key %]) -# [% END %]" => " (a) -# (b) -# " -ok 2850 - Line 1021 "[% var = [{key => 'a'}, {key => 'b'}, {key => 'c'}] -%] -# [% LOOP var -%] -# ([% key; '|'; __first__; '|'; __last__; '|'; __inner__; '|'; __odd__ %]) -# [% END -%]" => "(a|1|0|0|1) -# (b|0|0|1|0) -# (c|0|1|0|1) -# " -### WHILE ########################################### engine_option (stream) -ok 2851 - Line 1033 "[% WHILE foo %]" => "" -ok 2852 - Line 1034 "[% WHILE foo %][% END %]" => "" -ok 2853 - Line 1035 "[% WHILE (foo = foo - 1) %][% END %]" => "" -ok 2854 - Line 1036 "[% WHILE (foo = foo - 1) %][% foo %][% END %]" => "21" -ok 2855 - Line 1037 "[% WHILE foo %][% foo %][% foo = foo - 1 %][% END %]" => "321" -ok 2856 - Line 1039 "[% WHILE 1 %][% foo %][% foo = foo - 1 %][% LAST IF foo == 1 %][% END %]" => "32" -ok 2857 - Line 1040 "[% f = 10; WHILE f; f = f - 1 ; f ; END %]" => "9876543210" -ok 2858 - Line 1041 "[% f = 10; WHILE f; f = f - 1 ; f ; END ; f %]" => "98765432100" -ok 2859 - Line 1042 "[% f = 10; a = 2; WHILE f; f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" -ok 2860 - Line 1044 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END %]" => "9876543210" -ok 2861 - Line 1045 "[% f = 10; WHILE (g=f); f = f - 1 ; f ; END ; f %]" => "98765432100" -ok 2862 - Line 1046 "[% f = 10; a = 2; WHILE (g=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432103" -ok 2863 - Line 1047 "[% f = 10; a = 2; WHILE (a=f); f = f - 1 ; f ; a=3; END ; a%]" => "98765432100" -### STOP / RETURN / CLEAR ########################### engine_option (stream) -ok 2864 - Line 1052 "[% STOP %]" => "" -ok 2865 - Line 1053 "One[% STOP %]Two" => "One" -ok 2866 - Line 1054 "[% BLOCK foo %]One[% STOP %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOne" -ok 2867 - Line 1055 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% STOP %][% END %][% END %]" => "1" -ok 2868 - Line 1056 "[% FOREACH f = [1..3] %][% IF loop.first %][% STOP %][% END %][% f %][% END %]" => "" -ok 2869 - Line 1058 "[% RETURN %]" => "" -ok 2870 - Line 1059 "One[% RETURN %]Two" => "One" -ok 2871 - Line 1060 "[% BLOCK foo %]One[% RETURN %]Two[% END %]First[% PROCESS foo %]Last" => "FirstOneLast" -ok 2872 - Line 1061 "[% FOREACH f = [1..3] %][% f %][% IF loop.first %][% RETURN %][% END %][% END %]" => "1" -ok 2873 - Line 1062 "[% FOREACH f = [1..3] %][% IF loop.first %][% RETURN %][% END %][% f %][% END %]" => "" -ok 2874 - Line 1064 "[% CLEAR %]" => "" -### post opererative directives ##################### engine_option (stream) -ok 2875 - Line 1075 "[% GET foo IF 1 %]" => "1" -ok 2876 - Line 1076 "[% f FOREACH f = [1..3] %]" => "123" -ok 2877 - Line 1078 "2[% GET foo IF 1 IF 2 %]" => "21" -ok 2878 - Line 1079 "2[% GET foo IF 1 IF 0 %]" => "2" -ok 2879 - Line 1080 "[% f FOREACH f = [1..3] IF 1 %]" => "123" -ok 2880 - Line 1081 "[% f FOREACH f = [1..3] IF 0 %]" => "" -ok 2881 - Line 1082 "[% f FOREACH f = g FOREACH g = [1..3] %]" => "123" -ok 2882 - Line 1083 "[% f FOREACH f = g.a FOREACH g = [{a=>1}, {a=>2}, {a=>3}] %]" => "123" -ok 2883 - Line 1084 "[% f FOREACH f = a FOREACH [{a=>1}, {a=>2}, {a=>3}] %]" => "123" -ok 2884 - Line 1086 "[% FOREACH f = [1..3] IF 1 %]([% f %])[% END %]" => "(1)(2)(3)" -ok 2885 - Line 1087 "[% FOREACH f = [1..3] IF 0 %]([% f %])[% END %]" => "" -ok 2886 - Line 1089 "[% BLOCK bar %][% foo %][% foo = foo - 1 %][% END %][% PROCESS bar WHILE foo %]" => "321" -### capturing ####################################### engine_option (stream) -ok 2887 - Line 1094 "[% foo = BLOCK %]Hi[% END %][% foo %][% foo %]" => "HiHi" -ok 2888 - Line 1095 "[% BLOCK foo %]Hi[% END %][% bar = PROCESS foo %]-[% bar %]" => "-Hi" -ok 2889 - Line 1096 "[% foo = IF 1 %]Hi[% END %][% foo %]" => "Hi" -ok 2890 - Line 1097 "[% BLOCK foo %]([% i %])[% END %][% wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" -ok 2891 - Line 1098 "[% BLOCK foo %]([% i %])[% END %][% SET wow = PROCESS foo i='bar' %][% wow %]" => "(bar)" -### TAGS ############################################ engine_option (stream) -ok 2892 - Line 1103 "[% TAGS asp %]<% 1 + 2 %>" => "3" -ok 2893 - Line 1104 "[% TAGS default %][% 1 + 2 %]" => "3" -ok 2894 - Line 1105 "[% TAGS html %]" => "3" -ok 2895 - Line 1106 "[% TAGS mason %]<% 1 + 2 >" => "3" -ok 2896 - Line 1107 "[% TAGS metatext %]%% 1 + 2 %%" => "3" -ok 2897 - Line 1108 "[% TAGS php %]" => "3" -ok 2898 - Line 1109 "[% TAGS star %][* 1 + 2 *]" => "3" -ok 2899 - Line 1110 "[% TAGS template %][% 1 + 2 %]" => "3" -ok 2900 - Line 1111 "[% TAGS template1 %][% 1 + 2 %]" => "3" -ok 2901 - Line 1112 "[% TAGS template1 %]%% 1 + 2 %%" => "3" -ok 2902 - Line 1113 "[% TAGS tt2 %][% 1 + 2 %]" => "3" -ok 2903 - Line 1115 "[% TAGS html %] " => "3" -ok 2904 - Line 1116 "[% TAGS html %]" => "3" -ok 2905 - Line 1117 "[% TAGS html %] -# " => "3" -ok 2906 - Line 1118 "[% BLOCK foo %][% TAGS html %] " => "3 3" -ok 2907 - Line 1119 "[% BLOCK foo %][% TAGS html %][% END %][% PROCESS foo %] [% 1 + 2 %]" => "" -ok 2908 - Line 1121 "[% TAGS %]" => "3" -ok 2909 - Line 1123 "[% TAGS [<] [>] %][<] 1 + 2 [>]" => "3" -ok 2910 - Line 1124 "[% TAGS '[<]' '[>]' %][<] 1 + 2 [>]" => "3" -ok 2911 - Line 1125 "[% TAGS /[<]/ /[>]/ %]< 1 + 2 >" => "3" -ok 2912 - Line 1126 "[% TAGS ** ** %]** 1 + 2 **" => "3" -ok 2913 - Line 1127 "[% TAGS '**' '**' %]** 1 + 2 **" => "3" -ok 2914 - Line 1128 "[% TAGS /**/ /**/ %]** 1 + 2 **" => "" -ok 2915 - Line 1130 "[% TAGS html -->" => "3" -ok 2916 - Line 1131 "[% TAGS html ; 7 -->" => "73" -ok 2917 - Line 1132 "[% TAGS html ; 7 %]" => "" -### SWITCH / CASE ################################### engine_option (stream) -ok 2918 - Line 1137 "[% SWITCH 1 %][% END %]hi" => "hi" -ok 2919 - Line 1138 "[% SWITCH 1 %][% CASE %]bar[% END %]hi" => "barhi" -ok 2920 - Line 1139 "[% SWITCH 1 %]Pre[% CASE %]bar[% END %]hi" => "barhi" -ok 2921 - Line 1140 "[% SWITCH 1 %][% CASE DEFAULT %]bar[% END %]hi" => "barhi" -ok 2922 - Line 1141 "[% SWITCH 1 %][% CASE 0 %]bar[% END %]hi" => "hi" -ok 2923 - Line 1142 "[% SWITCH 1 %][% CASE 1 %]bar[% END %]hi" => "barhi" -ok 2924 - Line 1143 "[% SWITCH 1 %][% CASE foo %][% CASE 1 %]bar[% END %]hi" => "barhi" -ok 2925 - Line 1144 "[% SWITCH 1 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" -ok 2926 - Line 1145 "[% SWITCH 11 %][% CASE [1..10] %]bar[% END %]hi" => "hi" -ok 2927 - Line 1147 "[% SWITCH 1.0 %][% CASE [1..10] %]bar[% END %]hi" => "barhi" -### TRY / THROW / CATCH / FINAL ##################### engine_option (stream) -ok 2928 - Line 1152 "[% TRY %][% END %]hi" => "hi" -ok 2929 - Line 1153 "[% TRY %]Foo[% END %]hi" => "Foohi" -ok 2930 - Line 1154 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% END %]hi" => "Foo" -ok 2931 - Line 1155 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %][% END %]hi" => "Foohi" -ok 2932 - Line 1156 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH %]there[% END %]hi" => "Footherehi" -ok 2933 - Line 1157 "[% TRY %]Foo[% THROW foo 'for fun' %]bar[% CATCH foo %]there[% END %]hi" => "Footherehi" -ok 2934 - Line 1158 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH %]two[% END %]hi" => "FooFootwohi" -ok 2935 - Line 1159 "[% TRY %]Foo[% TRY %]Foo[% THROW foo 'for fun' %][% CATCH bar %]one[% END %][% CATCH s %]two[% END %]hi" => "FooFoo" -ok 2936 - Line 1160 "[% TRY %]Foo[% THROW foo.bar 'for fun' %][% CATCH foo %]one[% CATCH foo.bar %]two[% END %]hi" => "Footwohi" -ok 2937 - Line 1162 "[% TRY %]Foo[% FINAL %]Bar[% END %]hi" => "FooBarhi" -ok 2938 - Line 1163 "[% TRY %]Foo[% THROW foo %][% FINAL %]Bar[% CATCH %]one[% END %]hi" => "" -ok 2939 - Line 1164 "[% TRY %]Foo[% THROW foo %][% CATCH %]one[% FINAL %]Bar[% END %]hi" => "FoooneBarhi" -ok 2940 - Line 1165 "[% TRY %]Foo[% THROW foo %][% CATCH bar %]one[% FINAL %]Bar[% END %]hi" => "Foo" -ok 2941 - Line 1167 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error %][% END %]" => "foo error - bar" -ok 2942 - Line 1168 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.type %][% END %]" => "foo" -ok 2943 - Line 1169 "[% TRY %][% THROW foo 'bar' %][% CATCH %][% error.info %][% END %]" => "bar" -ok 2944 - Line 1170 "[% TRY %][% THROW foo %][% CATCH %][% error.type %][% END %]" => "undef" -ok 2945 - Line 1171 "[% TRY %][% THROW foo %][% CATCH %][% error.info %][% END %]" => "foo" -### named args ###################################### engine_option (stream) -ok 2946 - Line 1177 "[% foo(bar = 'one', baz = 'two') %]" => "baronebaztwo" -ok 2947 - Line 1179 "[%bar='ONE'%][% foo($bar = 'one') %]" => "ONEone" -### USE ############################################# engine_option (stream) -ok 2948 - Line 1185 "[% USE son_of_gun_that_does_not_exist %]one" => "" -ok 2949 - Line 1186 "[% USE Iterator([3..6]) %]hey[% CALL Iterator.get_first; Iterator.size %]" => "hey4" -ok 2950 - Line 1187 "[% USE FooTest %]one" => "one" -ok 2951 - Line 1188 "[% USE FooTest2 %]one" => "one" -ok 2952 - Line 1189 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" -ok 2953 - Line 1190 "[% USE FooTest2(bar = 'baz') %]one[% FooTest2.bar %]" => "onebarbaz" -ok 2954 - Line 1191 "[% USE FooTest(bar = 'baz') %]one[% FooTest.bar %]" => "onebarbaz" -ok 2955 - Line 1192 "[% USE d = FooTest(bar = 'baz') %]one[% d.bar %]" => "onebarbaz" -ok 2956 - Line 1193 "[% USE d.d = FooTest(bar = 'baz') %]one[% d.d.bar %]" => "" -ok 2957 - Line 1194 "[% USE FooTest(somerand = 8) %]one[% FooTest.somerand %]" => "one8" -ok 2958 - Line 1196 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "" -ok 2959 - Line 1197 "[% USE a(bar = 'baz') %]one[% a.seven %]" => "one7" -ok 2960 - Line 1200 "[% USE FooTest %]three" => "three" -### MACRO ########################################### engine_option (stream) -ok 2961 - Line 1205 "[% MACRO foo PROCESS bar %][% BLOCK bar %]Hi[% END %][% foo %]" => "Hi" -ok 2962 - Line 1206 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" -ok 2963 - Line 1207 "[% MACRO foo BLOCK %]Hi[% END %][% foo %]" => "Hi" -ok 2964 - Line 1208 "[% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %]" => "Hi2" -ok 2965 - Line 1209 "[%n=1%][% MACRO foo(n) BLOCK %]Hi[% n %][% END %][% foo(2) %][%n%]" => "Hi21" -ok 2966 - Line 1210 "[%n=1%][% MACRO foo BLOCK %]Hi[% n = 2%][% END %][% foo %][%n%]" => "Hi1" -ok 2967 - Line 1211 "[% MACRO foo(n) FOREACH i=[1..n] %][% i %][% END %][% foo(3) %]" => "123" -ok 2968 - Line 1213 "[% MACRO f BLOCK %]>[% TRY; f ; CATCH ; "caught" ; END %][% END %][% f %]" => ">>>caught" -ok 2969 - Line 1216 "[% foo = ->{ 'Hi' } %][% foo %]" => "Hi" -ok 2970 - Line 1217 "[% foo = ->{ 'Hi'; this } %][% foo(2) %]" => "Hi2" -ok 2971 - Line 1218 "[% foo = ->(n){ 'Hi'; n } %][% foo(2) %]" => "Hi2" -ok 2972 - Line 1219 "[%n=1%][% foo = ->(n) { 'Hi' ; n } %][% foo(2) %][%n%]" => "Hi21" -ok 2973 - Line 1220 "[% foo = ->(n) { FOREACH i=[1..n]; i ; END } %][% foo(3) %]" => "123" -### DEBUG ########################################### engine_option (stream) -ok 2974 - Line 1226 " -# -# [% one %]" => " -# -# -# ## input text line 3 : [% one %] ## -# ONE" -ok 2975 - Line 1227 "[% one %]" => " -# ## input text line 1 : [% one %] ## -# ONE" -ok 2976 - Line 1228 "[% one %] -# -# " => "(1)ONE -# -# " -ok 2977 - Line 1229 "1 -# 2 -# 3[% one %]" => "1 -# 2 -# 3(3)ONE" -ok 2978 - Line 1230 "[% one; -# one %]" => "(1)ONE(2)ONE" -ok 2979 - Line 1232 "[% DEBUG format '($line)' %][% one %]" => " -# ## input text line 1 : [% DEBUG format '($line)' %] ## -# (1)ONE" -ok 2980 - Line 1234 "[% TRY %][% abc %][% CATCH %][% error %][% END %]" => "undef error - abc is undefined -# " -ok 2981 - Line 1236 "[% TRY %][% abc.def %][% CATCH %][% error %][% END %]" => "undef error - abc.def is undefined -# " -### constants ####################################### engine_option (stream) -ok 2982 - Line 1255 "[% constants.harry %]" => "do_this_once" -ok 2983 - Line 1256 "[% constants.harry.length %]" => "12" -ok 2984 - Line 1257 "[% SET constants.something = 1 %][% constants.something %]one" => "1one" -ok 2985 - Line 1258 "[% SET constants.harry = 1 %][% constants.harry %]one" => "do_this_onceone" -ok 2986 - Line 1259 "[% constants.foo.${constants.bang} %]" => "57" -ok 2987 - Line 1260 "[% constants.foo.$bam.${constants.bing} %]" => "42" -ok 2988 - Line 1261 "[% bam = 'somethingelse' %][% constants.foo.$bam.${constants.bing} %]" => "42" -ok 2989 - Line 1263 "[% constants.${"harry"} %]" => "do_this_once" -ok 2990 - Line 1264 "[% ${"constants"}.harry %]" => "foo" -ok 2991 - Line 1266 "[% ${"con${"s"}tants"}.harry %]" => "foo" -### CONTEXT ######################################### engine_option (stream) -ok 2992 - Line 1272 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 2993 - Line 1273 "[% cctx.array %]" => "ARRAY(0x55ca01421638)" -ok 2994 - Line 1274 "[% cctx.array2 %]" => "4" -ok 2995 - Line 1275 "[% cctx.list %]" => "ARRAY(0x55ca0143a368)" -ok 2996 - Line 1276 "[% cctx.scalar %]" => "8" -ok 2997 - Line 1277 "[% cctx.bang %]" => "bing" -ok 2998 - Line 1281 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 2999 - Line 1282 "[% CALL @(cctx.call_me) %][% cctx.last_context %]" => "list" -ok 3000 - Line 1283 "[% CALL $(cctx.call_me) %][% cctx.last_context %]" => "scalar" -ok 3001 - Line 1284 "[% CALL call_cctx %][% cctx.last_context %]" => "list" -ok 3002 - Line 1285 "[% CALL @(call_cctx) %][% cctx.last_context %]" => "list" -ok 3003 - Line 1286 "[% CALL $(call_cctx) %][% cctx.last_context %]" => "scalar" -ok 3004 - Line 1287 "[% CALL cctx.call_me %][% cctx.last_context %]" => "list" -ok 3005 - Line 1288 "[% CALL cctx.call_me %][% cctx.last_context.0 %]" => "list" -ok 3006 - Line 1289 "[% CALL cctx.call_me %][% cctx.last_context %]" => "scalar" -ok 3007 - Line 1290 "[% cctx.array %]" => "ARRAY(0x55ca01467be8)" -ok 3008 - Line 1291 "[% @(cctx.array) %]" => "ARRAY(0x55ca01467d98)" -ok 3009 - Line 1292 "[% $(cctx.array) %]" => "3" -ok 3010 - Line 1293 "[% cctx.array2 %]" => "4" -ok 3011 - Line 1294 "[% @(cctx.array2) %]" => "ARRAY(0x55ca0143d0e0)" -ok 3012 - Line 1295 "[% $(cctx.array2) %]" => "1" -ok 3013 - Line 1296 "[% cctx.list %]" => "ARRAY(0x55ca01425fc0)" -ok 3014 - Line 1297 "[% @(cctx.list) %]" => "ARRAY(0x55ca01468080)" -ok 3015 - Line 1298 "[% $(cctx.list) %]" => "7" -ok 3016 - Line 1299 "[% cctx.scalar %]" => "8" -ok 3017 - Line 1300 "[% @(cctx.scalar) %]" => "ARRAY(0x55ca0143a0f8)" -ok 3018 - Line 1301 "[% $(cctx.scalar) %]" => "8" -ok 3019 - Line 1302 "[% cctx.bang %] ~" => "bing ~" -ok 3020 - Line 1303 "[% @(cctx.bang) %] ~" => "bing ~" -ok 3021 - Line 1304 "[% $(cctx.bang) %] ~" => "bing ~" -ok 3022 - Line 1306 "[% CONFIG CALL_CONTEXT => "list"; CALL cctx.call_me; CONFIG CALL_CONTEXT => "smart" %][% cctx.last_context %]" => "list" -ok 3023 - Line 1308 "[% CONFIG CALL_CONTEXT => "item"; CALL cctx.call_me %][% cctx.last_context %]" => "scalar" -ok 3024 - Line 1310 "[% cctx.dataref.0.foo = 7; cctx.dataref.0.foo %]" => "7" -ok 3025 - Line 1312 "[% @(cctx.dataref).0.foo = 7; cctx.dataref.foo %]" => "7" -ok 3026 - Line 1314 "[% $(cctx.dataref).0.foo = 7; cctx.dataref.0.foo %]" => "7" -ok 3027 - Line 1316 "[% CONFIG CALL_CONTEXT => "list"; cctx.dataref.0.foo = 7; CONFIG CALL_CONTEXT => "item"; cctx.dataref.foo %]" => "7" -ok 3028 - Line 1321 "[% cctxo.bang = 1 %] ~" => " ~" -ok 3029 - Line 1322 "[% cctxo.dataref.foo = 7; cctxo.dataref.foo %]" => "7" -ok 3030 - Line 1324 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" -ok 3031 - Line 1325 "[% CALL @(cctxo.call_me) %][% cctxo.last_context %]" => "list" -ok 3032 - Line 1326 "[% CALL $(cctxo.call_me) %][% cctxo.last_context %]" => "scalar" -ok 3033 - Line 1327 "[% CALL call_cctxo %][% cctxo.last_context %]" => "list" -ok 3034 - Line 1328 "[% CALL @(call_cctxo) %][% cctxo.last_context %]" => "list" -ok 3035 - Line 1329 "[% CALL $(call_cctxo) %][% cctxo.last_context %]" => "scalar" -ok 3036 - Line 1330 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "list" -ok 3037 - Line 1331 "[% CALL cctxo.call_me %][% cctxo.last_context.0 %]" => "list" -ok 3038 - Line 1332 "[% CALL cctxo.call_me %][% cctxo.last_context %]" => "scalar" -ok 3039 - Line 1333 "[% cctxo.array %]" => "ARRAY(0x55ca01437900)" -ok 3040 - Line 1334 "[% @(cctxo.array) %]" => "ARRAY(0x55ca0143a7a0)" -ok 3041 - Line 1335 "[% $(cctxo.array) %]" => "3" -ok 3042 - Line 1336 "[% cctxo.array2 %]" => "4" -ok 3043 - Line 1337 "[% @(cctxo.array2) %]" => "ARRAY(0x55ca014526f0)" -ok 3044 - Line 1338 "[% $(cctxo.array2) %]" => "1" -ok 3045 - Line 1339 "[% cctxo.list %]" => "ARRAY(0x55ca014528d0)" -ok 3046 - Line 1340 "[% @(cctxo.list) %]" => "ARRAY(0x55ca01452240)" -ok 3047 - Line 1341 "[% $(cctxo.list) %]" => "7" -ok 3048 - Line 1342 "[% cctxo.scalar %]" => "8" -ok 3049 - Line 1343 "[% @(cctxo.scalar) %]" => "ARRAY(0x55ca014533a8)" -ok 3050 - Line 1344 "[% $(cctxo.scalar) %]" => "8" -ok 3051 - Line 1345 "[% cctxo.bang %] ~" => "bing ~" -ok 3052 - Line 1348 "[% SET cctxo.call_me = 2 %][% cctxo.last_context %]" => "list2" -ok 3053 - Line 1350 "[% CALL @(cctxo.call_me = 3) %][% cctxo.last_context %]" => "list3" -ok 3054 - Line 1352 "[% CALL $(cctxo.call_me = 4) %][% cctxo.last_context %]" => "scalar4" -### INTERPOLATE ##################################### engine_option (stream) -ok 3055 - Line 1358 "Foo $one Bar" => "Foo ONE Bar" -ok 3056 - Line 1359 "[% PERL %] my $n=7; print $n [% END %]" => "7" -ok 3057 - Line 1360 "[% TRY ; PERL %] my $n=7; print $n [% END ; END %]" => "7" -ok 3058 - Line 1364 "Foo \ Bar" => "Foo \ Bar" -ok 3059 - Line 1365 "Foo \\ Bar" => "Foo \\ Bar" -ok 3060 - Line 1366 "Foo \n Bar" => "Foo \n Bar" -ok 3061 - Line 1367 "Foo \$a Bar" => "Foo $a Bar" -ok 3062 - Line 1368 "Foo \\$a Bar" => "Foo \\7 Bar" -ok 3063 - Line 1369 "Foo \\\$a Bar" => "Foo \\$a Bar" -ok 3064 - Line 1370 "Foo $a.B Bar" => "Foo 7 Bar" -ok 3065 - Line 1371 "Foo ${ a.B } Bar" => "Foo 7 Bar" -ok 3066 - Line 1372 "Foo $a.b.c("hi") Bar" => "Foo Bar" -ok 3067 - Line 1374 "Foo ${a.b.c("hi")} Bar" => "Foo Bar" -ok 3068 - Line 1375 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 3069 - Line 1376 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 3070 - Line 1377 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 3071 - Line 1378 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 3072 - Line 1379 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" -ok 3073 - Line 1380 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" -### ANYCASE / TRIM ################################## engine_option (stream) -ok 3074 - Line 1385 "[% GET %]" => "" -ok 3075 - Line 1386 "[% GET GET %]" => "ONE" -ok 3076 - Line 1387 "[% get one %]" => "ONE" -ok 3077 - Line 1388 "[% get %]" => "" -ok 3078 - Line 1389 "[% get get %]" => "ONE" -ok 3079 - Line 1391 "[% BLOCK foo %] -# hi -# [% END %][% PROCESS foo %]" => " -# hi -# " -ok 3080 - Line 1392 "[% BLOCK foo %] -# hi[% END %][% PROCESS foo %]" => " -# hi" -ok 3081 - Line 1393 "[% BLOCK foo %]hi -# [% END %][% PROCESS foo %]" => "hi -# " -ok 3082 - Line 1394 "[% BLOCK foo %]hi[% nl %][% END %][% PROCESS foo %]" => "hi -# " -ok 3083 - Line 1395 "[% BLOCK foo %][% nl %]hi[% END %][% PROCESS foo %]" => " -# hi" -ok 3084 - Line 1396 "A[% TRY %] -# hi -# [% END %]" => "A -# hi -# " -ok 3085 - Line 1398 "[% FOO %]" => "foo" -### V1DOLLAR ######################################## engine_option (stream) -ok 3086 - Line 1403 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 3087 - Line 1404 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" -ok 3088 - Line 1407 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb||CB|bar" -ok 3089 - Line 1408 "[% a.b.c %]|[% $a.b.c %]|[% a.$b.c %]|[% ${ a.b.c } %]" => "Cb|Cb|Cb|bar" -ok 3090 - Line 1410 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" -ok 3091 - Line 1411 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/$a/A/${a}" -ok 3092 - Line 1412 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" -ok 3093 - Line 1413 "[% "$a" %]/$a/[% "${a}" %]/${a}" => "A/A/A/A" -ok 3094 - Line 1415 "[% constants.a %]|[% $constants.a %]|[% constants.$a %]" => "A|A|A" -### V2PIPE / V2EQUALS ############################### engine_option (stream) -ok 3095 - Line 1420 "[%- BLOCK a %]b is [% b %] -# [% END %] -# [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237 -# b is 237 -# " -ok 3096 - Line 1425 "[%- BLOCK a %]b is [% b %] -# [% END %] -# [%- PROCESS a b => 237 | repeat(2) %]" => "b is 237237 -# " -ok 3097 - Line 1429 "[% ('a' == 'b') || 0 %]" => "0" -ok 3098 - Line 1430 "[% ('a' != 'b') || 0 %]" => "1" -ok 3099 - Line 1431 "[% ('a' == 'b') || 0 %]" => "0" -ok 3100 - Line 1432 "[% ('a' != 'b') || 0 %]" => "1" -ok 3101 - Line 1433 "[% ('a' == 'b') || 0 %]" => "1" -ok 3102 - Line 1434 "[% ('a' != 'b') || 0 %]" => "0" -ok 3103 - Line 1435 "[% ('7' == '7.0') || 0 %]" => "0" -ok 3104 - Line 1436 "[% ('7' == '7.0') || 0 %]" => "1" -ok 3105 - Line 1437 "[% (7 == 7.0) || 0 %]" => "1" -ok 3106 - Line 1438 "[% (7 == 7.0) || 0 %]" => "1" -### configuration ################################### engine_option (stream) -ok 3107 - Line 1443 "[% a = 7 %]$a" => "7" -ok 3108 - Line 1444 "[% a = 7 %]$a" => "7" -### PERL ############################################ engine_option (stream) -ok 3109 - Line 1449 "[% TRY %][% PERL %][% END %][% CATCH ; error; END %]" => "perl error - EVAL_PERL not set" -ok 3110 - Line 1450 "[% PERL %] print "[% one %]" [% END %]" => "ONE" -ok 3111 - Line 1451 "[% PERL %] print $stash->get('one') [% END %]" => "ONE" -ok 3112 - Line 1452 "[% PERL %] print $stash->set('a.b.c', 7) [% END %][% a.b.c %]" => "77" -ok 3113 - Line 1453 "[% RAWPERL %]$output .= 'interesting'[% END %]" => "interesting" -### recursion prevention ############################ engine_option (stream) -ok 3114 - Line 1458 "[% BLOCK foo %][% PROCESS bar %][% END %][% BLOCK bar %][% PROCESS foo %][% END %][% PROCESS foo %]" => "" -### META ############################################ engine_option (stream) -ok 3115 - Line 1463 "[% template.name %]" => "input text" -ok 3116 - Line 1464 "[% META foo = 'bar' %][% template.foo %]" => "bar" -ok 3117 - Line 1465 "[% META name = 'bar' %][% template.name %]" => "bar" -ok 3118 - Line 1466 "[% META foo = 'bar' %][% component.foo %]" => "bar" -ok 3119 - Line 1467 "[% META foo = 'bar' %][% component = '' %][% component.foo %]|foo" => "|foo" -ok 3120 - Line 1468 "[% META foo = 'bar' %][% template = '' %][% template.foo %]|foo" => "|foo" -### references ###################################### engine_option (stream) -ok 3121 - Line 1473 "[% a=3; b=\a; b; a %]" => "33" -ok 3122 - Line 1474 "[% a=3; b=\a; a=7; b; a %]" => "77" -ok 3123 - Line 1476 "[% a={}; a.1=7; b=\a.1; b; a.1 %]" => "77" -ok 3124 - Line 1477 "[% a={}; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" -ok 3125 - Line 1479 "[% a=[]; a.1=7; b=\a.1; b; a.1 %]" => "77" -ok 3126 - Line 1480 "[% a=[]; a.1=7; b=\a.20; a.20=7; b; a.20 %]" => "77" -ok 3127 - Line 1482 "[% \a %]" => "CODE(0x55ca014641e8)" -ok 3128 - Line 1483 "[% b=\a; b %]" => "a sub []" -ok 3129 - Line 1484 "[% b=\a(1); b %]" => "a sub [1]" -ok 3130 - Line 1485 "[% b=\a; b(2) %]" => "a sub [2]" -ok 3131 - Line 1486 "[% b=\a(1); b(2) %]" => "a sub [1 2]" -ok 3132 - Line 1487 "[% f=\j.k; j.k=7; f %]" => "7" -ok 3133 - Line 1489 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; foo %]" => "A" -ok 3134 - Line 1490 "[% a = "a" ; f = {a=>"A",b=>"B"} ; foo = \f.$a ; a = "b" ; foo %]" => "A" -ok 3135 - Line 1491 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; a = "cd"; foo %]" => "-AB-cd" -ok 3136 - Line 1492 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; a = "cd"; foo %]" => "*cd" -ok 3137 - Line 1494 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-") ; f = "ab"; foo %]" => "-AB-cd" -ok 3138 - Line 1495 "[% a = "ab" ; f = "abcd"; foo = \f.replace(a, "-AB-").replace("-AB-", "*") ; f = "ab"; foo %]" => "*cd" -### reserved words ################################## engine_option (stream) -ok 3139 - Line 1506 "[% GET %]" => "" -ok 3140 - Line 1507 "[% GET GET %]" => "named_get" -ok 3141 - Line 1508 "[% GET get %]" => "lower_named_get" -ok 3142 - Line 1509 "[% GET ${'GET'} %]" => "bar" -ok 3143 - Line 1511 "[% GET = 1 %][% GET GET %]" => "" -ok 3144 - Line 1512 "[% SET GET = 1 %][% GET GET %]" => "1" -ok 3145 - Line 1514 "[% GET $hold_get %]" => "named_get" -ok 3146 - Line 1515 "[% GET $GET %]" => "value of named_get" -ok 3147 - Line 1516 "[% BLOCK GET %]hi[% END %][% PROCESS GET %]" => "hi" -ok 3148 - Line 1517 "[% BLOCK foo %]hi[% END %][% PROCESS foo a = GET %]" => "hi" -ok 3149 - Line 1518 "[% BLOCK foo %]hi[% END %][% PROCESS foo GET = 1 %]" => "" -ok 3150 - Line 1519 "[% BLOCK foo %]hi[% END %][% PROCESS foo IF GET %]" => "hi" -### embedded items ################################## engine_option (stream) -ok 3151 - Line 1524 "[% " \" " %]" => " " " -ok 3152 - Line 1525 "[% " \$foo " %]" => " $foo " -ok 3153 - Line 1526 "[% " \${foo} " %]" => " ${foo} " -ok 3154 - Line 1527 "[% " \n " %]" => " -# " -ok 3155 - Line 1528 "[% " \t " %]" => " " -ok 3156 - Line 1529 "[% " \r " %]" => " " -ok 3157 - Line 1531 "[% 'foo\'bar' %]" => "foo'bar" -ok 3158 - Line 1532 "[% "foo\"bar" %]" => "foo"bar" -ok 3159 - Line 1533 "[% qw(foo \)).1 %]" => ")" -ok 3160 - Line 1534 "[% qw|foo \||.1 %]" => "|" -ok 3161 - Line 1536 "[% ' \' ' %]" => " ' " -ok 3162 - Line 1537 "[% ' \r ' %]" => " \r " -ok 3163 - Line 1538 "[% ' \n ' %]" => " \n " -ok 3164 - Line 1539 "[% ' \t ' %]" => " \t " -ok 3165 - Line 1540 "[% ' $foo ' %]" => " $foo " -ok 3166 - Line 1542 "[% A = "bar" ; ${ "A" } %]" => "bar" -ok 3167 - Line 1543 "[% A = "bar" ; "(${ A })" %]" => "(bar)" -ok 3168 - Line 1544 "[% A = "bar" ; ${ {a => "A"}.a } %]" => "bar" -ok 3169 - Line 1545 "[% A = "bar" ; "(${ {a => "A"}.a })" %]" => "(A)" -ok 3170 - Line 1546 "[% A = "bar" ; "(${ ${ {a => "A"}.a } })" %]" => "(bar)" -ok 3171 - Line 1547 "[% A = "bar" %](${ {a => "A"}.a })" => "(A)" -ok 3172 - Line 1548 "[% A = "bar" %](${ ${ {a => "A"}.a } })" => "(bar)" -ok 3173 - Line 1550 "[% "[%" %]" => "[%" -ok 3174 - Line 1551 "[% "%]" %]" => "%]" -ok 3175 - Line 1552 "[% a = "[% %]" %][% a %]" => "[% %]" -ok 3176 - Line 1553 "[% qw([% 1 + 2 %]).join %]" => "[% 1 + 2 %]" -### STRICT ########################################## engine_option (stream) -ok 3177 - Line 1557 "[% TRY; foo; CATCH; error; END %]" => "var.undef error - undefined variable: foo in input text" -ok 3178 - Line 1558 "[% TRY; foo.bar(1); CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar(1) in input text" -ok 3179 - Line 1559 "[% TRY; 1 IF foo.bar.baz; CATCH; error; END %]" => "var.undef error - undefined variable: foo.bar.baz in input text" -ok 3180 - Line 1561 "[% foo.bar() %]ok" => "ok" -ok 3181 - Line 1562 "[% foo.baz() %]ok" => "" -### EVALUATE ######################################## engine_option (stream) -ok 3182 - Line 1568 "[% foo | eval %]" => "baz" -ok 3183 - Line 1570 "[% "[% 1 + 2 %]" | eval %]" => "3" -ok 3184 - Line 1571 "[% qw([% 1 + 2 %]).join.eval %]" => "3" -ok 3185 - Line 1573 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval %]" => ">>>>>caught" -ok 3186 - Line 1574 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; f.eval; f.eval %]" => ">>>>>caught>>>>>caught" -ok 3187 - Line 1575 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; f.eval;f.eval %]" => ">>foo>>foo" -ok 3188 - Line 1576 "[% '\#set($foo = 12)'|eval(syntax => 'velocity') %]|[% foo %]" => "|12" -ok 3189 - Line 1578 "[% f = ">[% TRY; f.eval ; CATCH; 'caught' ; END %]"; EVALUATE f %]" => ">>>>>caught" -ok 3190 - Line 1579 "[% f = ">[% TRY; f.eval ; CATCH; 'foo' ; END %]"; EVALUATE f; EVALUATE f %]" => ">>foo>>foo" -ok 3191 - Line 1580 "[% EVALUATE '\#set($foo = 12)' syntax => 'velocity' %]|[% foo %]" => "|12" -ok 3192 - Line 1582 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" -ok 3193 - Line 1583 "[% TRY; CONFIG STRICT => 1; '[% bar %]'.eval(STRICT => 0); CATCH; error; END %]" => "eval_strict error - Cannot disable STRICT once it is enabled" -ok 3194 - Line 1584 "[% TRY; '[% bar %]'.eval(STRICT => 1); CATCH; error.type; END; bing %] - ok" => "var.undef - ok" -### DUMP ############################################ engine_option (stream) -ok 3195 - Line 1592 "[% DUMP a %]" => "DUMP: File "input text" line 1 -# a = undef; -# " -ok 3196 - Line 1593 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = undef;" -ok 3197 - Line 1594 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = 's';" -ok 3198 - Line 1595 "[% -# p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 2 a = 's';" -ok 3199 - Line 1596 "[% p = DUMP a, b; p.collapse %]" => "DUMP: File "input text" line 1 a, b = [ 's', undef ];" -ok 3200 - Line 1597 "[% p = DUMP a Useqq => 'b'; p.collapse %]" => "DUMP: File "input text" line 1 a Useqq => 'b' = [ 's', { 'Useqq' => 'b' } ];" -ok 3201 - Line 1598 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = "s";" -ok 3202 - Line 1599 "[% p = DUMP a; p.collapse %]|foo" => "|foo" -ok 3203 - Line 1600 "[% p = DUMP _a, b; p.collapse %]" => "DUMP: File "input text" line 1 _a, b = [ undef, 'c' ];" -ok 3204 - Line 1601 "[% p = DUMP {a => 'b'}; p.collapse %]" => "DUMP: File "input text" line 1 {a => 'b'} = { 'a' => 'b' };" -ok 3205 - Line 1602 "[% p = DUMP _a; p.collapse %]" => "DUMP: File "input text" line 1 _a = undef;" -ok 3206 - Line 1603 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = { 'b' => 'c' };" -ok 3207 - Line 1604 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" -ok 3208 - Line 1605 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 a = {};" -ok 3209 - Line 1606 "[% p = DUMP a; p.collapse %]" => "DUMP: File "input text" line 1 Dump(7)" -ok 3210 - Line 1607 "[% p = DUMP a; p.collapse %]" => "a = 's';" -ok 3211 - Line 1608 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" -ok 3212 - Line 1610 "[% p = DUMP a; p.collapse %]" => "
a = 's'; 
" -ok 3213 - Line 1611 "[% p = DUMP a; p.collapse %]" => "a = 's';" -ok 3214 - Line 1613 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" -ok 3215 - Line 1614 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1 EntireStash = { 'a' => 'b', 'global' => undef };" -ok 3216 - Line 1615 "[% SET global; p = DUMP; p.collapse %]" => "DUMP: File "input text" line 1" -### SYNTAX ########################################## engine_option (stream) -ok 3217 - Line 1622 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "" -ok 3218 - Line 1623 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 3219 - Line 1624 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 3220 - Line 1625 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237237" -ok 3221 - Line 1626 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 3222 - Line 1627 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 3223 - Line 1628 "[%- BLOCK a %]b is [% b %][% END %][% PROCESS a b => 237 | repeat(2) %]" => "b is 237b is 237" -ok 3224 - Line 1631 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 3225 - Line 1632 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|bar|bar|A" -ok 3226 - Line 1633 "[% a %]|[% $a %]|[% ${ a } %]|[% ${ "a" } %]" => "A|A|bar|A" -ok 3227 - Line 1635 "" => "FOO" -ok 3228 - Line 1636 "" => "7 8" -ok 3229 - Line 1637 "" => "1" -ok 3230 - Line 1638 "" => "1" -ok 3231 - Line 1639 "d" => "" -ok 3232 - Line 1641 "[% ""|eval(syntax => 'hte') %] = [% 6 %]" => "6 = 6" -ok 3233 - Line 1642 "[% ""|eval(syntax => 'ht') %] = [% 6 %]" => "" -ok 3234 - Line 1643 "[% ""|eval(syntax => 'ht') %] = [% 12 %]" => "12 = 12" -### CONFIG ########################################## engine_option (stream) -ok 3235 - Line 1651 "[% CONFIG ANYCASE => 1 %][% get 234 %]" => "234" -ok 3236 - Line 1652 "[% CONFIG anycase => 1 %][% get 234 %]" => "234" -ok 3237 - Line 1653 "[% CONFIG PRE_CHOMP => '-' %] -# [% 234 %]" => "234" -ok 3238 - Line 1654 "[% CONFIG POST_CHOMP => '-' %][% 234 %] -# " => "234" -ok 3239 - Line 1655 "[% CONFIG INTERPOLATE => 1 %]${ 234 }" => "234" -ok 3240 - Line 1656 "[% CONFIG V1DOLLAR => 1 %][% a = 234 %][% $a %]" => "234" -ok 3241 - Line 1657 "[% CONFIG V2PIPE => 1 %][% BLOCK a %]b is [% b %][% END %][% PROCESS a b => 234 | repeat(2) %]" => "b is 234b is 234" -ok 3242 - Line 1658 "[% CONFIG V2EQUALS => 1 %][% ('7' == '7.0') || 0 %]" => "0" -ok 3243 - Line 1659 "[% CONFIG V2EQUALS => 0 %][% ('7' == '7.0') || 0 %]" => "1" -ok 3244 - Line 1661 "[% CONFIG BOGUS => 2 %]bar" => "" -ok 3245 - Line 1663 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" -ok 3246 - Line 1664 "[% CONFIG ANYCASE %]|[% CONFIG ANYCASE => 1 %][% CONFIG ANYCASE %]" => "CONFIG ANYCASE = undef|CONFIG ANYCASE = 1" -ok 3247 - Line 1666 "[% "[% GET 1+2+3 %]" | eval %] = [% get 6 %]" => "" -ok 3248 - Line 1667 "[% CONFIG ANYCASE => 1 %][% get 6 %]" => "6" -ok 3249 - Line 1668 "[% CONFIG ANYCASE => 1 %][% "[% get 1+2+3 %]" | eval %] = [% get 6 %]" => "6 = 6" -ok 3250 - Line 1669 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% get 6 %]" => "" -ok 3251 - Line 1670 "[% "[% CONFIG ANYCASE => 1 %][% get 1+2+3 %]" | eval %] = [% GET 6 %]" => "6 = 6" -ok 3252 - Line 1671 "[% CONFIG SYNTAX => 'hte' %][% ""|eval %] = [% 6 %]" => "6 = 6" -ok 3253 - Line 1672 "[% "[% get 1+2+3 %]" | eval(ANYCASE => 1) %] = [% GET 6 %]" => "6 = 6" -ok 3254 - Line 1674 "[% CONFIG DUMP %]|[% CONFIG DUMP => 0 %][% DUMP %]bar" => "CONFIG DUMP = undef|bar" -ok 3255 - Line 1675 "[% CONFIG DUMP => {Useqq=>1, header=>0, html=>0} %][% DUMP 'foo' %]" => "'foo' = "foo"; -# " -ok 3256 - Line 1676 "[% CONFIG VMETHOD_FUNCTIONS => 0 %][% sprintf('%d %d', 7, 8) %] d" => " d" -ok 3257 - Line 1677 "[% TRY; foo; CONFIG STRICT => 1; bar; CATCH; error; END %]" => "var.undef error - undefined variable: bar in input text" -ok 3258 - Line 1678 "[% TRY; foo; CONFIG STRICT => 1; CONFIG STRICT => 0; bar; CATCH; error; END %]" => "config.strict error - Cannot disable STRICT once it is enabled" -ok 3259 - Line 1679 "[% BLOCK foo; CONFIG STRICT => 1; baz; END; TRY; bam; PROCESS foo; bar; CATCH; error.type; END; bing %] - ok" => "var.undef - ok" -ok 3260 - Line 1681 "[% CONFIG AUTO_FILTER => "html"; foo %]" => "&" -### DONE ############################################ engine_option (stream) -ok -t/10_tt_includes.t ...... -1..351 -ok 1 - use Template::Alloy; -ok 2 - Got a test dir up and running -ok 3 - Got a nested test dir up and running -### INSERT ########################################## engine_option (normal) -ok 4 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" -ok 5 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" -ok 6 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" -ok 7 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" -ok 8 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" -### INCLUDE ######################################### engine_option (normal) -ok 9 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" -ok 10 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" -ok 11 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 12 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 13 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" -ok 14 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" -ok 15 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" -ok 16 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" -ok 17 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" -ok 18 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" -ok 19 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" -ok 20 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" -ok 21 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" -ok 22 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" -ok 23 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "" -ok 24 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" -ok 25 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" -ok 26 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" -ok 27 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" -### PROCESS ######################################### engine_option (normal) -ok 28 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" -ok 29 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" -ok 30 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 31 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 32 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" -ok 33 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" -ok 34 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" -ok 35 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" -ok 36 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" -ok 37 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" -ok 38 - Line 172 "([% PROCESS baz.tt %])" => "(42)" -ok 39 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" -ok 40 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" -ok 41 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" -ok 42 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" -ok 43 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" -ok 44 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" -ok 45 - Line 181 "[% PROCESS nested/foo2.tt %]" => "" -ok 46 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 47 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 48 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 49 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" -ok 50 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" -ok 51 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" -ok 52 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" -ok 53 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" -ok 54 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" -### WRAPPER ######################################### engine_option (normal) -ok 55 - Line 196 "([% WRAPPER wrap.tt %])" => "" -ok 56 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" -ok 57 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" -ok 58 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" -ok 59 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" -ok 60 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" -### CONFIG PRE_PROCESS ############################## engine_option (normal) -ok 61 - Line 206 "Foo" => "BARFoo" -ok 62 - Line 207 "Foo" => "BARFoo" -ok 63 - Line 208 "Foo" => "(BAR)BARFoo" -ok 64 - Line 209 "Foo" => "BlueBARFoo" -ok 65 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" -ok 66 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" -ok 67 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" -ok 68 - Line 214 "Foo" => "<>Foo" -### CONFIG POST_PROCESS ############################# engine_option (normal) -ok 69 - Line 219 "Foo" => "FooBAR" -ok 70 - Line 220 "Foo" => "FooBAR" -ok 71 - Line 221 "Foo" => "Foo(BAR)BAR" -ok 72 - Line 222 "Foo" => "FooBlueBAR" -ok 73 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" -ok 74 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" -ok 75 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" -ok 76 - Line 227 "Foo" => "Foo<>" -### CONFIG PROCESS ################################## engine_option (normal) -ok 77 - Line 232 "Foo" => "BAR" -ok 78 - Line 233 "Foo" => "BAR" -ok 79 - Line 234 "Foo" => "(BAR)BAR" -ok 80 - Line 235 "Foo" => "BlueBAR" -ok 81 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" -ok 82 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" -ok 83 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" -ok 84 - Line 240 "Foo" => "<>" -### CONFIG WRAPPER ################################## engine_option (normal) -ok 85 - Line 245 " one " => "Hi one there" -ok 86 - Line 246 " one " => "Hi one there" -ok 87 - Line 247 " one " => "HiwrapHi one therethere" -ok 88 - Line 248 " ([% baz %]) " => "Hi () there" -ok 89 - Line 249 " one " => "HiBAZ one there" -ok 90 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" -ok 91 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" -ok 92 - Line 253 " one " => "BARHi one there" -ok 93 - Line 254 " one " => "HiBARthere" -ok 94 - Line 255 " one " => "Hi one thereBAR" -ok 95 - Line 257 "Foo" => "<>" -### CONFIG ERRORS ################################### engine_option (normal) -ok 96 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 97 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 98 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 99 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 100 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" -ok 101 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 102 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 103 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 104 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 105 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" -ok 106 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" -ok 107 - Line 274 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" -ok 108 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" -ok 109 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" -ok 110 - Line 279 "(outer)[% PROCESS 'die.tt' %]" => "Error (bing) - (blang)" -ok 111 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " -ok 112 - Line 283 " one " => "" -ok 113 - Line 284 " one " => "" -ok 114 - Line 285 " one " => "" -### CONFIG and DUMP ################################# engine_option (normal) -ok 115 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 -# foo = 'FOO'; -# DUMP: File "config.tt" line 1
foo = 'FOO';
-# 
DUMP: File "input text" line 1 -# foo = 'FOO'; -# " -ok 116 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 -# foo = 'FOO'; -# " -### NOT FOUND CACHE ################################# engine_option (normal) -ok 117 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found (cached)) -# " -ok 118 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found) -# " -ok 119 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found) -# " -### DONE ############################################ engine_option (normal) -### INSERT ########################################## engine_option (compile_perl) -ok 120 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" -ok 121 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" -ok 122 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" -ok 123 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" -ok 124 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" -### INCLUDE ######################################### engine_option (compile_perl) -ok 125 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" -ok 126 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" -ok 127 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 128 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 129 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" -ok 130 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" -ok 131 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" -ok 132 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" -ok 133 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" -ok 134 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" -ok 135 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" -ok 136 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" -ok 137 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" -ok 138 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" -ok 139 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "" -ok 140 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" -ok 141 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" -ok 142 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" -ok 143 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "" -### PROCESS ######################################### engine_option (compile_perl) -ok 144 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" -ok 145 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" -ok 146 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 147 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 148 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" -ok 149 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" -ok 150 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" -ok 151 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" -ok 152 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" -ok 153 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" -ok 154 - Line 172 "([% PROCESS baz.tt %])" => "(42)" -ok 155 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" -ok 156 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" -ok 157 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" -ok 158 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" -ok 159 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" -ok 160 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" -ok 161 - Line 181 "[% PROCESS nested/foo2.tt %]" => "" -ok 162 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 163 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 164 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 165 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" -ok 166 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" -ok 167 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" -ok 168 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" -ok 169 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" -ok 170 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "" -### WRAPPER ######################################### engine_option (compile_perl) -ok 171 - Line 196 "([% WRAPPER wrap.tt %])" => "" -ok 172 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" -ok 173 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" -ok 174 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" -ok 175 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" -ok 176 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" -### CONFIG PRE_PROCESS ############################## engine_option (compile_perl) -ok 177 - Line 206 "Foo" => "BARFoo" -ok 178 - Line 207 "Foo" => "BARFoo" -ok 179 - Line 208 "Foo" => "(BAR)BARFoo" -ok 180 - Line 209 "Foo" => "BlueBARFoo" -ok 181 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" -ok 182 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" -ok 183 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" -ok 184 - Line 214 "Foo" => "<>Foo" -### CONFIG POST_PROCESS ############################# engine_option (compile_perl) -ok 185 - Line 219 "Foo" => "FooBAR" -ok 186 - Line 220 "Foo" => "FooBAR" -ok 187 - Line 221 "Foo" => "Foo(BAR)BAR" -ok 188 - Line 222 "Foo" => "FooBlueBAR" -ok 189 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" -ok 190 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" -ok 191 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" -ok 192 - Line 227 "Foo" => "Foo<>" -### CONFIG PROCESS ################################## engine_option (compile_perl) -ok 193 - Line 232 "Foo" => "BAR" -ok 194 - Line 233 "Foo" => "BAR" -ok 195 - Line 234 "Foo" => "(BAR)BAR" -ok 196 - Line 235 "Foo" => "BlueBAR" -ok 197 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" -ok 198 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" -ok 199 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" -ok 200 - Line 240 "Foo" => "<>" -### CONFIG WRAPPER ################################## engine_option (compile_perl) -ok 201 - Line 245 " one " => "Hi one there" -ok 202 - Line 246 " one " => "Hi one there" -ok 203 - Line 247 " one " => "HiwrapHi one therethere" -ok 204 - Line 248 " ([% baz %]) " => "Hi () there" -ok 205 - Line 249 " one " => "HiBAZ one there" -ok 206 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" -ok 207 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" -ok 208 - Line 253 " one " => "BARHi one there" -ok 209 - Line 254 " one " => "HiBARthere" -ok 210 - Line 255 " one " => "Hi one thereBAR" -ok 211 - Line 257 "Foo" => "<>" -### CONFIG ERRORS ################################### engine_option (compile_perl) -ok 212 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 213 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 214 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 215 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 216 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" -ok 217 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 218 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 219 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 220 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 221 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" -ok 222 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" -ok 223 - Line 274 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" -ok 224 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" -ok 225 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" -ok 226 - Line 279 "(outer)[% PROCESS 'die.tt' %]" => "Error (bing) - (blang)" -ok 227 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " -ok 228 - Line 283 " one " => "" -ok 229 - Line 284 " one " => "" -ok 230 - Line 285 " one " => "" -### CONFIG and DUMP ################################# engine_option (compile_perl) -ok 231 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 -# foo = 'FOO'; -# DUMP: File "config.tt" line 1
foo = 'FOO';
-# 
DUMP: File "input text" line 1 -# foo = 'FOO'; -# " -ok 232 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 -# foo = 'FOO'; -# " -### NOT FOUND CACHE ################################# engine_option (compile_perl) -ok 233 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found (cached)) -# " -ok 234 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found) -# " -ok 235 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found) -# " -### DONE ############################################ engine_option (compile_perl) -### INSERT ########################################## engine_option (stream) -ok 236 - Line 127 "([% INSERT bar.tt %])" => "([% blue %]BAR)" -ok 237 - Line 128 "([% SET file = 'bar.tt' %][% INSERT $file %])" => "([% blue %]BAR)" -ok 238 - Line 129 "([% SET file = 'bar.tt' %][% INSERT ${file} %])" => "([% blue %]BAR)" -ok 239 - Line 130 "([% SET file = 'bar.tt' %][% INSERT "$file" %])" => "([% blue %]BAR)" -ok 240 - Line 131 "([% SET file = 'bar' %][% INSERT "${file}.tt" %])" => "([% blue %]BAR)" -### INCLUDE ######################################### engine_option (stream) -ok 241 - Line 136 "([% INCLUDE bar.tt %])" => "(BAR)" -ok 242 - Line 137 "[% PROCESS foo.tt %]" => "(BAR)" -ok 243 - Line 138 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 244 - Line 139 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 245 - Line 140 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" -ok 246 - Line 141 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" -ok 247 - Line 142 "([% SET file = 'bar.tt' %][% INCLUDE $file %])" => "(BAR)" -ok 248 - Line 143 "([% SET file = 'bar.tt' %][% INCLUDE ${file} %])" => "(BAR)" -ok 249 - Line 144 "([% SET file = 'bar.tt' %][% INCLUDE "$file" %])" => "(BAR)" -ok 250 - Line 145 "([% SET file = 'bar' %][% INCLUDE "${file}.tt" %])" => "(BAR)" -ok 251 - Line 147 "([% INCLUDE baz.tt %])" => "(42)" -ok 252 - Line 148 "([% INCLUDE baz.tt %])[% baz %]" => "(42)" -ok 253 - Line 149 "[% SET baz = 21 %]([% INCLUDE baz.tt %])[% baz %]" => "(42)21" -ok 254 - Line 151 "([% META blam = 5; INCLUDE blocks.tt %])" => "()" -ok 255 - Line 152 "([% META blam = 5; INCLUDE blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(" -ok 256 - Line 153 "([% META blam = 5; INCLUDE blocks.tt %])([% foo_m('hey') %])" => "()()" -ok 257 - Line 154 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "(" -ok 258 - Line 155 "([% META blam = 5; INCLUDE blocks.tt/bar %])" => "(bar)" -ok 259 - Line 156 "([% META blam = 5; INCLUDE blocks.tt/foo text => 'bar' %])" => "(I am bar - 5" -### PROCESS ######################################### engine_option (stream) -ok 260 - Line 161 "([% PROCESS bar.tt %])" => "(BAR)" -ok 261 - Line 162 "[% PROCESS foo.tt %]" => "(BAR)" -ok 262 - Line 163 "[% PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 263 - Line 164 "[% META foo = 'string'; PROCESS meta.tt %]" => "Metafoo() Metabar(meta.tt)" -ok 264 - Line 165 "[% PROCESS meta.tt %][% template.bar %]" => "Metafoo() Metabar(meta.tt)" -ok 265 - Line 166 "[% META foo = 'meta'; PROCESS foo.tt %]" => "(metaBAR)" -ok 266 - Line 167 "([% SET file = 'bar.tt' %][% PROCESS $file %])" => "(BAR)" -ok 267 - Line 168 "([% SET file = 'bar.tt' %][% PROCESS ${file} %])" => "(BAR)" -ok 268 - Line 169 "([% SET file = 'bar.tt' %][% PROCESS "$file" %])" => "(BAR)" -ok 269 - Line 170 "([% SET file = 'bar' %][% PROCESS "${file}.tt" %])" => "(BAR)" -ok 270 - Line 172 "([% PROCESS baz.tt %])" => "(42)" -ok 271 - Line 173 "([% PROCESS baz.tt %])[% baz %]" => "(42)42" -ok 272 - Line 174 "[% SET baz = 21 %]([% PROCESS baz.tt %])[% baz %]" => "(42)42" -ok 273 - Line 176 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" -ok 274 - Line 177 "[% PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" -ok 275 - Line 178 "[% PROCESS nested/foo.tt %]" => "(Nested foo BAR)" -ok 276 - Line 179 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo.tt %]" => "(Nested foo Nested bar)" -ok 277 - Line 181 "[% PROCESS nested/foo2.tt %]" => "(Nested foo " -ok 278 - Line 182 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 279 - Line 183 "[% PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 280 - Line 184 "[% CONFIG ADD_LOCAL_PATH => 1 ; PROCESS nested/foo2.tt %]" => "(Nested foo Nested bar2)" -ok 281 - Line 186 "([% META blam = 5; PROCESS blocks.tt %])" => "()" -ok 282 - Line 187 "([% META blam = 5; PROCESS blocks.tt %])([% PROCESS foo text => 'bar' %])" => "()(I am bar - 5bar)" -ok 283 - Line 188 "([% META blam = 5; PROCESS blocks.tt %])([% foo_m('hey') %])" => "()(I am hey - 5)" -ok 284 - Line 189 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "(" -ok 285 - Line 190 "([% META blam = 5; PROCESS blocks.tt/bar %])" => "(bar)" -ok 286 - Line 191 "([% META blam = 5; PROCESS blocks.tt/foo text => 'bar' %])" => "(I am bar - 5" -### WRAPPER ######################################### engine_option (stream) -ok 287 - Line 196 "([% WRAPPER wrap.tt %])" => "" -ok 288 - Line 197 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)" -ok 289 - Line 198 "([% WRAPPER wrap.tt %] ([% baz %]) [% END %])" => "(Hi () there)" -ok 290 - Line 199 "([% WRAPPER wrap.tt %] one [% END %])" => "(HiBAZ one there)" -ok 291 - Line 200 "([% WRAPPER wrap.tt %] ([% baz; baz='-local' %]) [% END %][% baz %])" => "(Hi-local () there-local)" -ok 292 - Line 201 "([% WRAPPER wrap.tt %][% META foo='BLAM' %] [% END %])" => "(HiBLAM there)" -### CONFIG PRE_PROCESS ############################## engine_option (stream) -ok 293 - Line 206 "Foo" => "BARFoo" -ok 294 - Line 207 "Foo" => "BARFoo" -ok 295 - Line 208 "Foo" => "(BAR)BARFoo" -ok 296 - Line 209 "Foo" => "BlueBARFoo" -ok 297 - Line 210 "Foo[% blue='Blue' %]" => "BARFoo" -ok 298 - Line 211 "Foo[% META foo='meta' %]" => "(metaBAR)Foo" -ok 299 - Line 212 "([% WRAPPER wrap.tt %] one [% END %])" => "BAR(Hi one there)" -ok 300 - Line 214 "Foo" => "<>Foo" -### CONFIG POST_PROCESS ############################# engine_option (stream) -ok 301 - Line 219 "Foo" => "FooBAR" -ok 302 - Line 220 "Foo" => "FooBAR" -ok 303 - Line 221 "Foo" => "Foo(BAR)BAR" -ok 304 - Line 222 "Foo" => "FooBlueBAR" -ok 305 - Line 223 "Foo[% blue='Blue' %]" => "FooBlueBAR" -ok 306 - Line 224 "Foo[% META foo='meta' %]" => "Foo(metaBAR)" -ok 307 - Line 225 "([% WRAPPER wrap.tt %] one [% END %])" => "(Hi one there)BAR" -ok 308 - Line 227 "Foo" => "Foo<>" -### CONFIG PROCESS ################################## engine_option (stream) -ok 309 - Line 232 "Foo" => "BAR" -ok 310 - Line 233 "Foo" => "BAR" -ok 311 - Line 234 "Foo" => "(BAR)BAR" -ok 312 - Line 235 "Foo" => "BlueBAR" -ok 313 - Line 236 "Foo[% META foo='meta' %]" => "(metaBAR)" -ok 314 - Line 237 "Foo[% META foo='meta' %]" => "BAR(metaBAR)" -ok 315 - Line 238 "Foo[% META foo='meta' %]" => "(metaBAR)BAR" -ok 316 - Line 240 "Foo" => "<>" -### CONFIG WRAPPER ################################## engine_option (stream) -ok 317 - Line 245 " one " => "Hi one there" -ok 318 - Line 246 " one " => "Hi one there" -ok 319 - Line 247 " one " => "HiwrapHi one therethere" -ok 320 - Line 248 " ([% baz %]) " => "Hi () there" -ok 321 - Line 249 " one " => "HiBAZ one there" -ok 322 - Line 250 " ([% baz; baz='-local' %]) " => "Hi-local () there" -ok 323 - Line 251 "[% META foo='BLAM' %] " => "HiBLAM there" -ok 324 - Line 253 " one " => "BARHi one there" -ok 325 - Line 254 " one " => "HiBARthere" -ok 326 - Line 255 " one " => "Hi one thereBAR" -ok 327 - Line 257 "Foo" => "<>" -### CONFIG ERRORS ################################### engine_option (stream) -ok 328 - Line 262 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 329 - Line 263 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 330 - Line 264 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 331 - Line 265 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 332 - Line 266 "[% THROW foo 'bar' %]" => "Error2 (foo) - (bar)" -ok 333 - Line 267 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 334 - Line 268 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 335 - Line 269 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)" -ok 336 - Line 270 "[% THROW foo.baz 'bar' %]" => "Error2 (foo.baz) - (bar)" -ok 337 - Line 272 "[% THROW foo 'bar' %]" => "BARError (foo) - (bar)" -ok 338 - Line 273 "[% THROW foo 'bar' %]" => "Error (bing) - (blang)" -ok 339 - Line 275 "[% THROW foo 'bar' %]" => "BARError (bing) - (blang)" -ok 340 - Line 276 "[% THROW foo 'bar' %]" => "Error (foo) - (bar)BAR" -ok 341 - Line 277 "[% THROW foo 'bar' %]" => "HiError (foo) - (bar)there" -ok 342 - Line 280 "(outer)[% PROCESS 'die.tt' %]" => "(outer)Error (bing) - (blang)" -ok 343 - Line 281 "(outer)[% TRY %][% PROCESS 'die.tt' %][% CATCH %] [% END %]" => "(outer) " -ok 344 - Line 283 " one " => "" -ok 345 - Line 284 " one " => " one " -ok 346 - Line 285 " one " => "" -### CONFIG and DUMP ################################# engine_option (stream) -ok 347 - Line 290 "[% CONFIG DUMP => {html => 0}; DUMP foo; PROCESS config.tt; DUMP foo %]" => "DUMP: File "input text" line 1 -# foo = 'FOO'; -# DUMP: File "config.tt" line 1
foo = 'FOO';
-# 
DUMP: File "input text" line 1 -# foo = 'FOO'; -# " -ok 348 - Line 297 "[% PROCESS 'config2.tt' %]" => "DUMP: File "config2.tt/nested" line 1 -# foo = 'FOO'; -# " -### NOT FOUND CACHE ################################# engine_option (stream) -ok 349 - Line 304 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found (cached)) -# " -ok 350 - Line 305 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found) -# " -ok 351 - Line 306 "[% BLOCK foo; TRY; PROCESS blurty.tt; CATCH %]([% error.type %])([% error.info %]) -# [% END; END; PROCESS foo; PROCESS foo %]" => "(file)(blurty.tt: not found) -# (file)(blurty.tt: not found) -# " -### DONE ############################################ engine_option (stream) -ok -t/11_tt_input_output.t .. -1..21 -ok 1 - use Template::Alloy; -ok 2 - Got a test dir up and running -### INPUT ########################################### -ok 3 - process(\$in, {}, \$out) -ok 4 - process($filename, {}, \$out) -ok 5 - process(\&code, {}, \$out) -ok 6 - process($obj->load_template($filename), {}, \$out) -ok 7 - process(\*FH, {}, \$out) -ok 8 - process($fh, {}, \$out) -### OUTPUT ########################################## -ok 9 - new(OUTPUT=>\$out)->process(\$str) -ok 10 - process(\$str, {}, \&code) -ok 11 - process(\$str, {}, $obj) - where $obj->can("print") -ok 12 - process(\$str, {}, \$out) -ok 13 - process(\$str, {}, \@out) -ok 14 - process(\$str, {}, \*FH) -ok 15 - process(\$str, {}, $fh) -ok 16 - Skip ABSOLUTE/RELATIVE output tests -ok 17 - Skip ABSOLUTE/RELATIVE output tests -ok 18 - Skip ABSOLUTE/RELATIVE output tests -ok 19 - process(\$str, {}, $filename) - with OUTPUT_PATH -ok 20 - process(\$str, {}, $filename) - with binmode -ok 21 - process(\$str) -### DONE ############################################ -ok -t/15_tt_view.t .......... -1..105 -ok 1 - use Template::Alloy; -ok 2 # skip Template::View is not installed - skipping Template::View integration tests -ok 3 # skip Template::View is not installed - skipping Template::View integration tests -ok 4 # skip Template::View is not installed - skipping Template::View integration tests -ok 5 # skip Template::View is not installed - skipping Template::View integration tests -ok 6 # skip Template::View is not installed - skipping Template::View integration tests -ok 7 # skip Template::View is not installed - skipping Template::View integration tests -ok 8 # skip Template::View is not installed - skipping Template::View integration tests -ok 9 # skip Template::View is not installed - skipping Template::View integration tests -ok 10 # skip Template::View is not installed - skipping Template::View integration tests -ok 11 # skip Template::View is not installed - skipping Template::View integration tests -ok 12 # skip Template::View is not installed - skipping Template::View integration tests -ok 13 # skip Template::View is not installed - skipping Template::View integration tests -ok 14 # skip Template::View is not installed - skipping Template::View integration tests -ok 15 # skip Template::View is not installed - skipping Template::View integration tests -ok 16 # skip Template::View is not installed - skipping Template::View integration tests -ok 17 # skip Template::View is not installed - skipping Template::View integration tests -ok 18 # skip Template::View is not installed - skipping Template::View integration tests -ok 19 # skip Template::View is not installed - skipping Template::View integration tests -ok 20 # skip Template::View is not installed - skipping Template::View integration tests -ok 21 # skip Template::View is not installed - skipping Template::View integration tests -ok 22 # skip Template::View is not installed - skipping Template::View integration tests -ok 23 # skip Template::View is not installed - skipping Template::View integration tests -ok 24 # skip Template::View is not installed - skipping Template::View integration tests -ok 25 # skip Template::View is not installed - skipping Template::View integration tests -ok 26 # skip Template::View is not installed - skipping Template::View integration tests -ok 27 # skip Template::View is not installed - skipping Template::View integration tests -ok 28 # skip Template::View is not installed - skipping Template::View integration tests -ok 29 # skip Template::View is not installed - skipping Template::View integration tests -ok 30 # skip Template::View is not installed - skipping Template::View integration tests -ok 31 # skip Template::View is not installed - skipping Template::View integration tests -ok 32 # skip Template::View is not installed - skipping Template::View integration tests -ok 33 # skip Template::View is not installed - skipping Template::View integration tests -ok 34 # skip Template::View is not installed - skipping Template::View integration tests -ok 35 # skip Template::View is not installed - skipping Template::View integration tests -ok 36 # skip Template::View is not installed - skipping Template::View integration tests -ok 37 # skip Template::View is not installed - skipping Template::View integration tests -ok 38 # skip Template::View is not installed - skipping Template::View integration tests -ok 39 # skip Template::View is not installed - skipping Template::View integration tests -ok 40 # skip Template::View is not installed - skipping Template::View integration tests -ok 41 # skip Template::View is not installed - skipping Template::View integration tests -ok 42 # skip Template::View is not installed - skipping Template::View integration tests -ok 43 # skip Template::View is not installed - skipping Template::View integration tests -ok 44 # skip Template::View is not installed - skipping Template::View integration tests -ok 45 # skip Template::View is not installed - skipping Template::View integration tests -ok 46 # skip Template::View is not installed - skipping Template::View integration tests -ok 47 # skip Template::View is not installed - skipping Template::View integration tests -ok 48 # skip Template::View is not installed - skipping Template::View integration tests -ok 49 # skip Template::View is not installed - skipping Template::View integration tests -ok 50 # skip Template::View is not installed - skipping Template::View integration tests -ok 51 # skip Template::View is not installed - skipping Template::View integration tests -ok 52 # skip Template::View is not installed - skipping Template::View integration tests -ok 53 # skip Template::View is not installed - skipping Template::View integration tests -ok 54 # skip Template::View is not installed - skipping Template::View integration tests -ok 55 # skip Template::View is not installed - skipping Template::View integration tests -ok 56 # skip Template::View is not installed - skipping Template::View integration tests -ok 57 # skip Template::View is not installed - skipping Template::View integration tests -ok 58 # skip Template::View is not installed - skipping Template::View integration tests -ok 59 # skip Template::View is not installed - skipping Template::View integration tests -ok 60 # skip Template::View is not installed - skipping Template::View integration tests -ok 61 # skip Template::View is not installed - skipping Template::View integration tests -ok 62 # skip Template::View is not installed - skipping Template::View integration tests -ok 63 # skip Template::View is not installed - skipping Template::View integration tests -ok 64 # skip Template::View is not installed - skipping Template::View integration tests -ok 65 # skip Template::View is not installed - skipping Template::View integration tests -ok 66 # skip Template::View is not installed - skipping Template::View integration tests -ok 67 # skip Template::View is not installed - skipping Template::View integration tests -ok 68 # skip Template::View is not installed - skipping Template::View integration tests -ok 69 # skip Template::View is not installed - skipping Template::View integration tests -ok 70 # skip Template::View is not installed - skipping Template::View integration tests -ok 71 # skip Template::View is not installed - skipping Template::View integration tests -ok 72 # skip Template::View is not installed - skipping Template::View integration tests -ok 73 # skip Template::View is not installed - skipping Template::View integration tests -ok 74 # skip Template::View is not installed - skipping Template::View integration tests -ok 75 # skip Template::View is not installed - skipping Template::View integration tests -ok 76 # skip Template::View is not installed - skipping Template::View integration tests -ok 77 # skip Template::View is not installed - skipping Template::View integration tests -ok 78 # skip Template::View is not installed - skipping Template::View integration tests -ok 79 # skip Template::View is not installed - skipping Template::View integration tests -ok 80 # skip Template::View is not installed - skipping Template::View integration tests -ok 81 # skip Template::View is not installed - skipping Template::View integration tests -ok 82 # skip Template::View is not installed - skipping Template::View integration tests -ok 83 # skip Template::View is not installed - skipping Template::View integration tests -ok 84 # skip Template::View is not installed - skipping Template::View integration tests -ok 85 # skip Template::View is not installed - skipping Template::View integration tests -ok 86 # skip Template::View is not installed - skipping Template::View integration tests -ok 87 # skip Template::View is not installed - skipping Template::View integration tests -ok 88 # skip Template::View is not installed - skipping Template::View integration tests -ok 89 # skip Template::View is not installed - skipping Template::View integration tests -ok 90 # skip Template::View is not installed - skipping Template::View integration tests -ok 91 # skip Template::View is not installed - skipping Template::View integration tests -ok 92 # skip Template::View is not installed - skipping Template::View integration tests -ok 93 # skip Template::View is not installed - skipping Template::View integration tests -ok 94 # skip Template::View is not installed - skipping Template::View integration tests -ok 95 # skip Template::View is not installed - skipping Template::View integration tests -ok 96 # skip Template::View is not installed - skipping Template::View integration tests -ok 97 # skip Template::View is not installed - skipping Template::View integration tests -ok 98 # skip Template::View is not installed - skipping Template::View integration tests -ok 99 # skip Template::View is not installed - skipping Template::View integration tests -ok 100 # skip Template::View is not installed - skipping Template::View integration tests -ok 101 # skip Template::View is not installed - skipping Template::View integration tests -ok 102 # skip Template::View is not installed - skipping Template::View integration tests -ok 103 # skip Template::View is not installed - skipping Template::View integration tests -ok 104 # skip Template::View is not installed - skipping Template::View integration tests -ok 105 # skip Template::View is not installed - skipping Template::View integration tests -ok -t/20_html_template.t .... -1..250 -ok 1 - use Template::Alloy; -ok 2 - Got a test dir up and running -### VAR ############################################# compile perl (0) -ok 3 - Line 94 "Foo" => "Foo" -ok 4 - Line 96 "" => "FOO" -ok 5 - Line 97 "" => "FOO" -ok 6 - Line 98 "" => "FOO" -ok 7 - Line 99 "" => "FOO" -ok 8 - Line 100 "" => "FOO" -ok 9 - Line 101 "" => "FOO" -ok 10 - Line 102 "" => "FOO" -ok 11 - Line 103 "" => "FOO" -ok 12 - Line 104 "" => "FOO" -ok 13 - Line 105 "" => "FOO" -ok 14 - Line 106 "" => "FOO" -ok 15 - Line 107 "" => "FOO" -ok 16 - Line 108 "" => "FOO" -ok 17 - Line 110 "" => "<>" -ok 18 - Line 111 "" => "<>" -ok 19 - Line 112 "" => "<>" -ok 20 - Line 113 "" => "<>" -ok 21 - Line 114 "" => "<>" -ok 22 - Line 115 "" => "<>" -ok 23 - Line 116 "" => "<>" -ok 24 - Line 117 "" => "<>" -ok 25 - Line 118 "" => "<>" -ok 26 - Line 119 "" => "%3C%3E" -ok 27 - Line 120 "" => "<>\n\r \"\'" -ok 28 - Line 122 "" => "<>" -ok 29 - Line 123 "" => "<>" -ok 30 - Line 124 "" => "<>" -ok 31 - Line 125 "" => "<>" -ok 32 - Line 127 "" => "FOO" -ok 33 - Line 128 "" => "FOO" -ok 34 - Line 129 "" => "FOO" -ok 35 - Line 130 "d" => "bard" -ok 36 - Line 131 "d" => "bard" -ok 37 - Line 132 "d" => "bard" -ok 38 - Line 134 "" => "FOO" -ok 39 - Line 135 "" => "FOO" -ok 40 - Line 137 "" => "&" -### IF / ELSE / UNLESS ############################## compile perl (0) -ok 41 - Line 142 "bar" => "" -ok 42 - Line 143 "bar" => "bar" -ok 43 - Line 144 "barbing" => "bing" -ok 44 - Line 145 "barbing" => "bar" -ok 45 - Line 146 "barbing" => "bar" -ok 46 - Line 147 "barbing" => "bar" -ok 47 - Line 148 "barbing" => "bar" -ok 48 - Line 149 "barbing" => "bar" -ok 49 - Line 150 "barbing" => "bar" -ok 50 - Line 151 "barbing" => "bing" -ok 51 - Line 152 "barbing" => "bar" -ok 52 - Line 153 " "" -ok 53 - Line 154 "barbing" => "bar" -ok 54 - Line 155 "barbaz" => "baz" -ok 55 - Line 156 "bar" => "bar" -ok 56 - Line 157 "bar" => "" -ok 57 - Line 158 "barbaz" => "barbaz" -ok 58 - Line 159 "barbing" => "bing" -ok 59 - Line 160 "barbing" => "bar" -ok 60 - Line 162 "barbaz" => "" -ok 61 - Line 163 "barbaz" => "" -### INCLUDE ######################################### compile perl (0) -ok 62 - Line 168 "bar" => "" -ok 63 - Line 169 "" => "Good Day!" -ok 64 - Line 170 "" => "Good Day!" -ok 65 - Line 171 "" => "Good Day!" -ok 66 - Line 172 "" => "Good Day!" -ok 67 - Line 173 "" => "Good Day!" -ok 68 - Line 174 "" => "Good Day!" -ok 69 - Line 175 "" => "" -ok 70 - Line 177 "" => "" -ok 71 - Line 178 "" => "" -ok 72 - Line 180 "" => "Good Day!" -ok 73 - Line 181 "" => "Good Day!" -ok 74 - Line 182 "" => "Good Day!" -ok 75 - Line 184 "" => "()" -ok 76 - Line 185 "" => "(hi)" -### EXPR ############################################ compile perl (0) -ok 77 - Line 190 "" => "777" -ok 78 - Line 191 "" => "777" -ok 79 - Line 192 "" => "777" -ok 80 - Line 193 "" => "777" -ok 81 - Line 194 "" => "777" -ok 82 - Line 195 "" => "<>" -ok 83 - Line 196 "" => "" -ok 84 - Line 197 "" => "" -ok 85 - Line 199 "" => "FOO" -ok 86 - Line 201 "" => "&" -ok 87 - Line 202 "" => "&" -### LOOP ############################################ compile perl (0) -ok 88 - Line 207 "foo" => "foo" -ok 89 - Line 208 "Hifoo" => "foo" -ok 90 - Line 209 "Hifoo" => "Hifoo" -ok 91 - Line 210 "Hifoo" => "HiHifoo" -ok 92 - Line 211 "()foo" => "(1)(2)(3)foo" -ok 93 - Line 212 "()foo" => "(1)(2)(3)foo" -ok 94 - Line 213 "()foo" => "(1)(2)(3)foo" -ok 95 - Line 215 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" -ok 96 - Line 217 "()()foo" => "(1)()(2)()(3)()foo" -ok 97 - Line 218 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" -ok 98 - Line 220 "()foo" => "(1)()(3)foo" -ok 99 - Line 222 " -# (||||)foo" => " -# (||||) -# (||||) -# (||||)foo" -ok 100 - Line 232 " -# (||||)foo" => " -# (1|0|1|0|1) -# (0|0|0|1|2) -# (0|1|1|0|3)foo" -### TT3 DIRECTIVES ################################## compile perl (0) -ok 101 - Line 241 "" => "FOO" -ok 102 - Line 242 "" => "" -ok 103 - Line 243 "" => "" -ok 104 - Line 244 "" => "10" -ok 105 - Line 246 "barweebing" => "bar" -ok 106 - Line 248 "()" => "(foo)" -ok 107 - Line 249 "()" => "(foo)" -ok 108 - Line 250 "()" => "(1)(2)(3)" -ok 109 - Line 252 "()" => "(bar)" -ok 110 - Line 253 "()" => "(bar)" -ok 111 - Line 255 "" => "bar" -ok 112 - Line 257 "You said " => "You said hello" -ok 113 - Line 259 "" => "&" -ok 114 - Line 260 "" => "&" -### TT3 CHOMPING #################################### compile perl (0) -ok 115 - Line 265 " -# " => " -# FOO" -ok 116 - Line 266 " -# " => "FOO" -ok 117 - Line 267 " -# <-TMPL_GET foo>" => "FOO" -### TT3 INTERPOLATE ################################# compile perl (0) -ok 118 - Line 272 "$foo ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" -ok 119 - Line 273 "$foo ${ 1 + 2 }" => "FOO FOO 3" -ok 120 - Line 274 " 1>$foo ${ 1 + 2 }" => "FOO FOO 3" -ok 121 - Line 276 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 122 - Line 277 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 123 - Line 278 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 124 - Line 279 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 125 - Line 280 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" -ok 126 - Line 281 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" -### DONE ############################################ compile perl (0) -### VAR ############################################# compile perl (1) -ok 127 - Line 94 "Foo" => "Foo" -ok 128 - Line 96 "" => "FOO" -ok 129 - Line 97 "" => "FOO" -ok 130 - Line 98 "" => "FOO" -ok 131 - Line 99 "" => "FOO" -ok 132 - Line 100 "" => "FOO" -ok 133 - Line 101 "" => "FOO" -ok 134 - Line 102 "" => "FOO" -ok 135 - Line 103 "" => "FOO" -ok 136 - Line 104 "" => "FOO" -ok 137 - Line 105 "" => "FOO" -ok 138 - Line 106 "" => "FOO" -ok 139 - Line 107 "" => "FOO" -ok 140 - Line 108 "" => "FOO" -ok 141 - Line 110 "" => "<>" -ok 142 - Line 111 "" => "<>" -ok 143 - Line 112 "" => "<>" -ok 144 - Line 113 "" => "<>" -ok 145 - Line 114 "" => "<>" -ok 146 - Line 115 "" => "<>" -ok 147 - Line 116 "" => "<>" -ok 148 - Line 117 "" => "<>" -ok 149 - Line 118 "" => "<>" -ok 150 - Line 119 "" => "%3C%3E" -ok 151 - Line 120 "" => "<>\n\r \"\'" -ok 152 - Line 122 "" => "<>" -ok 153 - Line 123 "" => "<>" -ok 154 - Line 124 "" => "<>" -ok 155 - Line 125 "" => "<>" -ok 156 - Line 127 "" => "FOO" -ok 157 - Line 128 "" => "FOO" -ok 158 - Line 129 "" => "FOO" -ok 159 - Line 130 "d" => "bard" -ok 160 - Line 131 "d" => "bard" -ok 161 - Line 132 "d" => "bard" -ok 162 - Line 134 "" => "FOO" -ok 163 - Line 135 "" => "FOO" -ok 164 - Line 137 "" => "&" -### IF / ELSE / UNLESS ############################## compile perl (1) -ok 165 - Line 142 "bar" => "" -ok 166 - Line 143 "bar" => "bar" -ok 167 - Line 144 "barbing" => "bing" -ok 168 - Line 145 "barbing" => "bar" -ok 169 - Line 146 "barbing" => "bar" -ok 170 - Line 147 "barbing" => "bar" -ok 171 - Line 148 "barbing" => "bar" -ok 172 - Line 149 "barbing" => "bar" -ok 173 - Line 150 "barbing" => "bar" -ok 174 - Line 151 "barbing" => "bing" -ok 175 - Line 152 "barbing" => "bar" -ok 176 - Line 153 " "" -ok 177 - Line 154 "barbing" => "bar" -ok 178 - Line 155 "barbaz" => "baz" -ok 179 - Line 156 "bar" => "bar" -ok 180 - Line 157 "bar" => "" -ok 181 - Line 158 "barbaz" => "barbaz" -ok 182 - Line 159 "barbing" => "bing" -ok 183 - Line 160 "barbing" => "bar" -ok 184 - Line 162 "barbaz" => "" -ok 185 - Line 163 "barbaz" => "" -### INCLUDE ######################################### compile perl (1) -ok 186 - Line 168 "bar" => "" -ok 187 - Line 169 "" => "Good Day!" -ok 188 - Line 170 "" => "Good Day!" -ok 189 - Line 171 "" => "Good Day!" -ok 190 - Line 172 "" => "Good Day!" -ok 191 - Line 173 "" => "Good Day!" -ok 192 - Line 174 "" => "Good Day!" -ok 193 - Line 175 "" => "" -ok 194 - Line 177 "" => "" -ok 195 - Line 178 "" => "" -ok 196 - Line 180 "" => "Good Day!" -ok 197 - Line 181 "" => "Good Day!" -ok 198 - Line 182 "" => "Good Day!" -ok 199 - Line 184 "" => "()" -ok 200 - Line 185 "" => "(hi)" -### EXPR ############################################ compile perl (1) -ok 201 - Line 190 "" => "777" -ok 202 - Line 191 "" => "777" -ok 203 - Line 192 "" => "777" -ok 204 - Line 193 "" => "777" -ok 205 - Line 194 "" => "777" -ok 206 - Line 195 "" => "<>" -ok 207 - Line 196 "" => "" -ok 208 - Line 197 "" => "" -ok 209 - Line 199 "" => "FOO" -ok 210 - Line 201 "" => "&" -ok 211 - Line 202 "" => "&" -### LOOP ############################################ compile perl (1) -ok 212 - Line 207 "foo" => "foo" -ok 213 - Line 208 "Hifoo" => "foo" -ok 214 - Line 209 "Hifoo" => "Hifoo" -ok 215 - Line 210 "Hifoo" => "HiHifoo" -ok 216 - Line 211 "()foo" => "(1)(2)(3)foo" -ok 217 - Line 212 "()foo" => "(1)(2)(3)foo" -ok 218 - Line 213 "()foo" => "(1)(2)(3)foo" -ok 219 - Line 215 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" -ok 220 - Line 217 "()()foo" => "(1)()(2)()(3)()foo" -ok 221 - Line 218 "()()foo" => "(1)(B)(2)(B)(3)(B)foo" -ok 222 - Line 220 "()foo" => "(1)()(3)foo" -ok 223 - Line 222 " -# (||||)foo" => " -# (||||) -# (||||) -# (||||)foo" -ok 224 - Line 232 " -# (||||)foo" => " -# (1|0|1|0|1) -# (0|0|0|1|2) -# (0|1|1|0|3)foo" -### TT3 DIRECTIVES ################################## compile perl (1) -ok 225 - Line 241 "" => "FOO" -ok 226 - Line 242 "" => "" -ok 227 - Line 243 "" => "" -ok 228 - Line 244 "" => "10" -ok 229 - Line 246 "barweebing" => "bar" -ok 230 - Line 248 "()" => "(foo)" -ok 231 - Line 249 "()" => "(foo)" -ok 232 - Line 250 "()" => "(1)(2)(3)" -ok 233 - Line 252 "()" => "(bar)" -ok 234 - Line 253 "()" => "(bar)" -ok 235 - Line 255 "" => "bar" -ok 236 - Line 257 "You said " => "You said hello" -ok 237 - Line 259 "" => "&" -ok 238 - Line 260 "" => "&" -### TT3 CHOMPING #################################### compile perl (1) -ok 239 - Line 265 " -# " => " -# FOO" -ok 240 - Line 266 " -# " => "FOO" -ok 241 - Line 267 " -# <-TMPL_GET foo>" => "FOO" -### TT3 INTERPOLATE ################################# compile perl (1) -ok 242 - Line 272 "$foo ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" -ok 243 - Line 273 "$foo ${ 1 + 2 }" => "FOO FOO 3" -ok 244 - Line 274 " 1>$foo ${ 1 + 2 }" => "FOO FOO 3" -ok 245 - Line 276 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 246 - Line 277 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 247 - Line 278 "Foo $a Bar $!a Baz" => "Foo 7 Bar 7 Baz" -ok 248 - Line 279 "Foo $a Bar $!{a} Baz" => "Foo 7 Bar 7 Baz" -ok 249 - Line 280 "Foo $a Bar $!a Baz" => "Foo $a Bar Baz" -ok 250 - Line 281 "Foo ${a} Bar $!{a} Baz" => "Foo ${a} Bar Baz" -### DONE ############################################ compile perl (1) -ok -t/25_text_tmp.t ......... -1..100 -ok 1 - use Template::Alloy; -ok 2 - Got a test dir up and running -### ECHO ############################################ compile perl (0) -ok 3 - Line 99 "Foo" => "Foo" -ok 4 - Line 101 "\#[echo $foo]\#bar" => "bar" -ok 5 - Line 102 "\#[echo $foo]\#" => "FOO" -ok 6 - Line 103 "\#[echo $foo $foo]\#" => "FOOFOO" -ok 7 - Line 104 "\#[echo $foo "bar" $foo]\#" => "FOObarFOO" -ok 8 - Line 105 "\#[echo "hi"]\#" => "hi" -ok 9 - Line 106 "\#[echo 'hi']\#" => "hi" -ok 10 - Line 107 "\#[echo foo]\#" => "FOO" -### COMMENT ######################################### compile perl (0) -ok 11 - Line 112 "\#[comment]\# Hi there \#[endcomment]\#bar" => "bar" -ok 12 - Line 113 "\#[comment]\# Hi there \#[end]\#bar" => "bar" -### IF / ELSIF / ELSE / IFN ######################### compile perl (0) -ok 13 - Line 118 "\#[if $foo]\#bar\#[endif]\#bar" => "bar" -ok 14 - Line 119 "\#[if "1"]\#bar\#[endif]\#" => "bar" -ok 15 - Line 120 "\#[if $foo]\#bar\#[endif]\#" => "" -ok 16 - Line 121 "\#[if $foo]\#bar\#[endif]\#" => "bar" -ok 17 - Line 122 "\#[ifn $foo]\#bar\#[endifn]\#" => "bar" -ok 18 - Line 123 "\#[ifn $foo]\#bar\#[endifn]\#" => "" -ok 19 - Line 124 "\#[if foo]\#bar\#[endif]\#" => "" -ok 20 - Line 125 "\#[if foo]\#bar\#[endif]\#" => "bar" -ok 21 - Line 126 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bing" -ok 22 - Line 127 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bar" -ok 23 - Line 128 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bar" -ok 24 - Line 129 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "wee" -ok 25 - Line 130 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bing" -### INCLUDE ######################################### compile perl (0) -ok 26 - Line 136 "\#[include "foo.tmpl"]\#" => "Good Day!" -ok 27 - Line 137 "\#[include "t/25_text_tmp.t.test_dir/foo.tmpl"]\#" => "Good Day!" -ok 28 - Line 139 "\#[include "bar.tmpl"]\#" => "()" -ok 29 - Line 140 "\#[include "bar.tmpl"]\#" => "(hi)" -### LOOP ############################################ compile perl (0) -ok 30 - Line 145 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "foo" -ok 31 - Line 146 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "Hifoo" -ok 32 - Line 147 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" -ok 33 - Line 148 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" -ok 34 - Line 149 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingbangfoo" -ok 35 - Line 150 "\#[loop "loop1"]\#\#[echo $boop]\#\#[endloop]\#foo" => "bopfoo" -### TT3 DIRECTIVES ################################## compile perl (0) -ok 36 - Line 155 "\#[GET foo]\#" => "FOO" -ok 37 - Line 156 "\#[GET 1+2+3+4]\#" => "10" -ok 38 - Line 158 "\#[IF foo]\#bar\#[ELSIF wow]\#wee\#[ELSE]\#bing\#[ENDIF]\#" => "bar" -ok 39 - Line 160 "\#[SET i = "foo"]\#(\#[VAR i]\#)" => "(foo)" -ok 40 - Line 161 "\#[SET i = "foo"]\#(\#[GET i]\#)" => "(foo)" -ok 41 - Line 162 "\#[FOR i IN [1..3]]\#(\#[VAR i]\#)\#[END]\#" => "(1)(2)(3)" -ok 42 - Line 164 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[PROCESS foo i="bar"]\#" => "(bar)" -ok 43 - Line 165 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[SET wow = PROCESS foo i="bar"]\#\#[VAR wow]\#" => "(bar)" -ok 44 - Line 167 "\#[GET template.foo]\#\#[META foo = "bar"]\#" => "bar" -ok 45 - Line 169 "\#[MACRO bar(n) BLOCK]\#You said \#[VAR n]\#\#[END]\#\#[GET bar("hello")]\#" => "You said hello" -### TT3 CHOMPING #################################### compile perl (0) -ok 46 - Line 174 " -# #[GET foo]#" => " -# FOO" -ok 47 - Line 175 "\#[GET foo-]\# -# " => "FOO" -ok 48 - Line 176 " -# #[-GET foo]#" => "FOO" -### TT3 INTERPOLATE ################################# compile perl (0) -ok 49 - Line 181 "$foo \#[GET foo]\# ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" -ok 50 - Line 182 "$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" -ok 51 - Line 183 "\#[CONFIG INTERPOLATE => 1]\#$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" -### DONE ############################################ compile perl (0) -### ECHO ############################################ compile perl (1) -ok 52 - Line 99 "Foo" => "Foo" -ok 53 - Line 101 "\#[echo $foo]\#bar" => "bar" -ok 54 - Line 102 "\#[echo $foo]\#" => "FOO" -ok 55 - Line 103 "\#[echo $foo $foo]\#" => "FOOFOO" -ok 56 - Line 104 "\#[echo $foo "bar" $foo]\#" => "FOObarFOO" -ok 57 - Line 105 "\#[echo "hi"]\#" => "hi" -ok 58 - Line 106 "\#[echo 'hi']\#" => "hi" -ok 59 - Line 107 "\#[echo foo]\#" => "FOO" -### COMMENT ######################################### compile perl (1) -ok 60 - Line 112 "\#[comment]\# Hi there \#[endcomment]\#bar" => "bar" -ok 61 - Line 113 "\#[comment]\# Hi there \#[end]\#bar" => "bar" -### IF / ELSIF / ELSE / IFN ######################### compile perl (1) -ok 62 - Line 118 "\#[if $foo]\#bar\#[endif]\#bar" => "bar" -ok 63 - Line 119 "\#[if "1"]\#bar\#[endif]\#" => "bar" -ok 64 - Line 120 "\#[if $foo]\#bar\#[endif]\#" => "" -ok 65 - Line 121 "\#[if $foo]\#bar\#[endif]\#" => "bar" -ok 66 - Line 122 "\#[ifn $foo]\#bar\#[endifn]\#" => "bar" -ok 67 - Line 123 "\#[ifn $foo]\#bar\#[endifn]\#" => "" -ok 68 - Line 124 "\#[if foo]\#bar\#[endif]\#" => "" -ok 69 - Line 125 "\#[if foo]\#bar\#[endif]\#" => "bar" -ok 70 - Line 126 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bing" -ok 71 - Line 127 "\#[if $foo]\#bar\#[else]\#bing\#[endif]\#" => "bar" -ok 72 - Line 128 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bar" -ok 73 - Line 129 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "wee" -ok 74 - Line 130 "\#[if $foo]\#bar\#[elsif wow]\#wee\#[else]\#bing\#[endif]\#" => "bing" -### INCLUDE ######################################### compile perl (1) -ok 75 - Line 136 "\#[include "foo.tmpl"]\#" => "Good Day!" -ok 76 - Line 137 "\#[include "t/25_text_tmp.t.test_dir/foo.tmpl"]\#" => "Good Day!" -ok 77 - Line 139 "\#[include "bar.tmpl"]\#" => "()" -ok 78 - Line 140 "\#[include "bar.tmpl"]\#" => "(hi)" -### LOOP ############################################ compile perl (1) -ok 79 - Line 145 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "foo" -ok 80 - Line 146 "\#[loop "loop1"]\#Hi\#[endloop]\#foo" => "Hifoo" -ok 81 - Line 147 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" -ok 82 - Line 148 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingfoo" -ok 83 - Line 149 "\#[loop "loop1"]\#\#[echo $bar]\#\#[endloop]\#foo" => "bingbangfoo" -ok 84 - Line 150 "\#[loop "loop1"]\#\#[echo $boop]\#\#[endloop]\#foo" => "bopfoo" -### TT3 DIRECTIVES ################################## compile perl (1) -ok 85 - Line 155 "\#[GET foo]\#" => "FOO" -ok 86 - Line 156 "\#[GET 1+2+3+4]\#" => "10" -ok 87 - Line 158 "\#[IF foo]\#bar\#[ELSIF wow]\#wee\#[ELSE]\#bing\#[ENDIF]\#" => "bar" -ok 88 - Line 160 "\#[SET i = "foo"]\#(\#[VAR i]\#)" => "(foo)" -ok 89 - Line 161 "\#[SET i = "foo"]\#(\#[GET i]\#)" => "(foo)" -ok 90 - Line 162 "\#[FOR i IN [1..3]]\#(\#[VAR i]\#)\#[END]\#" => "(1)(2)(3)" -ok 91 - Line 164 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[PROCESS foo i="bar"]\#" => "(bar)" -ok 92 - Line 165 "\#[BLOCK foo]\#(\#[VAR i]\#)\#[END]\#\#[SET wow = PROCESS foo i="bar"]\#\#[VAR wow]\#" => "(bar)" -ok 93 - Line 167 "\#[GET template.foo]\#\#[META foo = "bar"]\#" => "bar" -ok 94 - Line 169 "\#[MACRO bar(n) BLOCK]\#You said \#[VAR n]\#\#[END]\#\#[GET bar("hello")]\#" => "You said hello" -### TT3 CHOMPING #################################### compile perl (1) -ok 95 - Line 174 " -# #[GET foo]#" => " -# FOO" -ok 96 - Line 175 "\#[GET foo-]\# -# " => "FOO" -ok 97 - Line 176 " -# #[-GET foo]#" => "FOO" -### TT3 INTERPOLATE ################################# compile perl (1) -ok 98 - Line 181 "$foo \#[GET foo]\# ${ 1 + 2 }" => "$foo FOO ${ 1 + 2 }" -ok 99 - Line 182 "$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" -ok 100 - Line 183 "\#[CONFIG INTERPOLATE => 1]\#$foo \#[GET foo]\# ${ 1 + 2 }" => "FOO FOO 3" -### DONE ############################################ compile perl (1) -ok -t/30_velocity.t ......... -1..202 -ok 1 - use Template::Alloy; -ok 2 - Got a test dir up and running -### VARIABLES ####################################### compile perl (0) -ok 3 - Line 78 "Foo" => "Foo" -ok 4 - Line 79 "$mud_Slinger_9" => "bar" -ok 5 - Line 80 "$!mud_Slinger_9" => "bar" -ok 6 - Line 81 "${mud_Slinger_9}" => "bar" -ok 7 - Line 82 "$!{mud_Slinger_9}" => "bar" -ok 8 - Line 83 "$mud_Slinger_9<<" => "$mud_Slinger_9<<" -ok 9 - Line 84 "$!mud_Slinger_9<<" => "<<" -ok 10 - Line 85 "${mud_Slinger_9}<<" => "${mud_Slinger_9}<<" -ok 11 - Line 86 "$!{mud_Slinger_9}<<" => "<<" -### SET ############################################# compile perl (0) -ok 12 - Line 91 "\#set($foo = "bar")$foo" => "bar" -ok 13 - Line 93 "\#set($monkey = $bill)$monkey" => "Bill" -ok 14 - Line 94 "\#set($monkey.Friend = 'monica')$monkey.Friend" => "monica" -ok 15 - Line 95 "\#set($monkey.Blame = $whitehouse.Leak)$monkey.Blame" => "from_velocity_ref_guide" -ok 16 - Line 96 "\#set($monkey.Plan = $spindoctor.weave($web))$monkey.Plan" => "(spider)" -ok 17 - Line 97 "\#set($monkey.Number = 123)$monkey.Number" => "123" -ok 18 - Line 98 "\#set($monkey.Numbers = [1..3])$monkey.Numbers.2" => "3" -ok 19 - Line 99 "\#set($monkey.Map = {"banana" : "good"})$monkey.Map.banana" => "good" -ok 20 - Line 101 "\#set($value = $foo + 1)$value" => "9" -ok 21 - Line 102 "\#set($value = $bar - 1)$value" => "3" -ok 22 - Line 103 "\#set($value = $foo * $bar)$value" => "32" -ok 23 - Line 104 "\#set($value = $foo / $bar)$value" => "2" -ok 24 - Line 105 "\#set($value = $foo % $bar)$value" => "0" -ok 25 - Line 107 "\#set($!value = $foo + 1)$value" => "" -### QUOTED STRINGS ################################## compile perl (0) -ok 26 - Line 112 "\#set($value = "($foo)")$value" => "(bar)" -ok 27 - Line 113 "\#set($value = "(\#get($foo))")$value" => "(bar)" -ok 28 - Line 114 "\#set($value = "($foo)")$value" => "(bar)" -ok 29 - Line 115 "\#set($value = "(\#get($foo))")$value" => "(\#get(bar))" -ok 30 - Line 116 "\#set($value = '($foo)')$value" => "($foo)" -ok 31 - Line 117 "\#set($value = '(\#get($foo))')$value" => "(\#get($foo))" -ok 32 - Line 119 "\#set($value = "($foo)")$value" => "($foo)" -ok 33 - Line 120 "\#set($value = "(\#get($foo))")$value" => "()" -ok 34 - Line 121 "\#set($value = "($foo)")$value" => "($foo)" -ok 35 - Line 122 "\#set($value = "(\#get($foo))")$value" => "(\#get($foo))" -ok 36 - Line 124 "\#set($value = "($!foo)")$value" => "()" -ok 37 - Line 125 "\#set($value = "(\#get($!foo))")$value" => "" -ok 38 - Line 126 "\#set($value = "($!foo)")$value" => "()" -ok 39 - Line 127 "\#set($value = "(\#get($!foo))")$value" => "(\#get())" -### COMMENTS ######################################## compile perl (0) -ok 40 - Line 132 "Foo\#\#interesting -# Bar" => "FooBar" -ok 41 - Line 133 "Foo\#\#interesting -# -# Bar" => "Foo -# Bar" -ok 42 - Line 134 "Foo\#\#interesting" => "Foo" -ok 43 - Line 135 "Foo\#*interesting -# " => "" -ok 44 - Line 136 "Foo\#*interesting -# -# -# *#" => "Foo" -ok 45 - Line 137 "Foo\#*interesting -# -# -# *#Bar" => "FooBar" -### ESCAPING ######################################## compile perl (0) -ok 46 - Line 142 "$email" => "foo" -ok 47 - Line 143 "\$email" => "$email" -ok 48 - Line 144 "\\$email" => "\foo" -ok 49 - Line 145 "\\\$email" => "\$email" -ok 50 - Line 147 "$email" => "$email" -ok 51 - Line 148 "\$email" => "$email" -ok 52 - Line 149 "\\$email" => "\$email" -ok 53 - Line 150 "\\\$email" => "\$email" -### IF / ELSEIF / ELSE ############################## compile perl (0) -ok 54 - Line 155 "\#if($foo)bar\#{end}bar" => "bar" -ok 55 - Line 156 "\#if("1")bar\#end" => "bar" -ok 56 - Line 157 "\#if($foo)bar\#end" => "" -ok 57 - Line 158 "\#if($foo)bar\#end" => "bar" -ok 58 - Line 159 "\#if($foo)bar\#{else}baz\#end" => "bar" -ok 59 - Line 160 "\#if($foo)bar\#{else}baz\#end" => "baz" -ok 60 - Line 161 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "baz" -ok 61 - Line 162 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "bang" -### FOREACH ######################################## compile perl (0) -ok 62 - Line 167 "\#foreach( foo )bar\#{end}" => "bar" -ok 63 - Line 168 "\#foreach( f IN foo )bar$f\#{end}" => "bar1bar2" -ok 64 - Line 169 "\#foreach( f = foo )bar$f\#{end}" => "bar1bar2" -ok 65 - Line 170 "\#foreach( f = [1,2] )bar$f\#{end}" => "bar1bar2" -ok 66 - Line 171 "\#foreach( f = [1..3] )bar$f\#{end}" => "bar1bar2bar3" -ok 67 - Line 172 "\#foreach( f = [{a=>'A'},{a=>'B'}] )bar$f.a\#{end}" => "barAbarB" -ok 68 - Line 173 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}" => "barAbarB" -ok 69 - Line 174 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}$!a" => "barAbarB" -ok 70 - Line 175 "\#foreach( f = [1..3] )$loop.count/$loop.size \#{end}" => "1/3 2/3 3/3 " -### INCLUDE ######################################### compile perl (0) -ok 71 - Line 181 "\#include("foo.vel")" => "Good Day!" -ok 72 - Line 182 "\#parse($foo)" => "Good Day!" -ok 73 - Line 183 "\#include("bar.vel")" => "($bar)" -ok 74 - Line 184 "\#include("bar.vel")" => "($bar)" -### PARSE ############################################ compile perl (0) -ok 75 - Line 189 "\#parse("foo.vel")" => "Good Day!" -ok 76 - Line 190 "\#parse($foo)" => "Good Day!" -ok 77 - Line 191 "\#parse("bar.vel")" => "($bar)" -ok 78 - Line 192 "\#parse("bar.vel")" => "(foo)" -### STOP ############################################ compile perl (0) -ok 79 - Line 197 "\#stop" => "" -ok 80 - Line 198 "One\#{stop}Two" => "One" -ok 81 - Line 199 "\#block('foo')One\#{stop}Two\#{end}First\#process('foo')Last" => "FirstOne" -ok 82 - Line 200 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#end$f\#end" => "112233" -ok 83 - Line 201 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#stop\#end\#end" => "1" -ok 84 - Line 202 "\#foreach( $f = [1..3] )\#if(loop.first)\#stop\#end$f\#end" => "" -### EVALUATE ######################################## compile perl (0) -ok 85 - Line 207 "\#set($f = '>\#try\#evaluate($f)\#{catch}caught\#end')\#evaluate($f)" => ">>>>>caught" -ok 86 - Line 208 "\#set($f = '>\#try\#eval($f)\#{catch}foo\#end')\#eval($f)\#EVALUATE($f)" => ">>foo>>foo" -### MACRO ########################################### compile perl (0) -ok 87 - Line 213 "\#macro(foo PROCESS bar )\#block(bar)Hi\#end$foo" => "Hi" -ok 88 - Line 214 "\#macro(foo BLOCK)Hi\#end$foo" => "Hi" -ok 89 - Line 215 "\#macro(foo $n BLOCK)Hi$n\#end$foo" => "Hi$n" -ok 90 - Line 216 "\#macro(foo $n BLOCK)Hi$n\#end$foo(2)" => "Hi2" -ok 91 - Line 217 "\#macro(foo(n) BLOCK)Hi$n\#end$foo" => "Hi$n" -ok 92 - Line 218 "\#macro(foo(n) BLOCK)Hi$n\#end$foo(2)" => "Hi2" -ok 93 - Line 219 "\#macro(foo $n)Hi$n\#end$foo" => "Hi$n" -ok 94 - Line 220 "\#macro(foo $n)Hi$n\#end$foo(2)" => "Hi2" -ok 95 - Line 221 "\#macro(foo $n)Hi$n\#end\#foo(2)" => "Hi2" -ok 96 - Line 222 "\#macro(foo $n $m)Hi($n)($m)\#end\#foo(2 3)" => "Hi(2)(3)" -ok 97 - Line 224 "\#macro( inner $foo ) -# inner : $foo -# #end -# -# #macro( outer $foo ) -# #set($bar = "outerlala") -# outer : $foo -# #end -# -# #set($bar = "calltimelala") -# #outer( "#inner($bar)" )" => " outer : inner : calltimelala" -ok 98 - Line 236 "\#macro( inner $foo ) -# inner : $foo -# #end -# -# #macro( outer $foo ) -# #set($bar = "outerlala") -# outer : $foo|eval -# #end -# -# #set($bar = "calltimelala") -# #outer( "#inner('$bar')" )" => " outer : inner : outerlala" -### TT3 CHOMPING #################################### compile perl (0) -ok 99 - Line 251 " -# #get( $foo )" => " -# FOO" -ok 100 - Line 252 "\#get( $foo -) -# " => "FOO" -ok 101 - Line 253 " -# #get(- $foo)" => "FOO" -ok 102 - Line 254 " -# #get( -$foo)" => " -# -7" -### DONE ############################################ compile perl (0) -### VARIABLES ####################################### compile perl (1) -ok 103 - Line 78 "Foo" => "Foo" -ok 104 - Line 79 "$mud_Slinger_9" => "bar" -ok 105 - Line 80 "$!mud_Slinger_9" => "bar" -ok 106 - Line 81 "${mud_Slinger_9}" => "bar" -ok 107 - Line 82 "$!{mud_Slinger_9}" => "bar" -ok 108 - Line 83 "$mud_Slinger_9<<" => "$mud_Slinger_9<<" -ok 109 - Line 84 "$!mud_Slinger_9<<" => "<<" -ok 110 - Line 85 "${mud_Slinger_9}<<" => "${mud_Slinger_9}<<" -ok 111 - Line 86 "$!{mud_Slinger_9}<<" => "<<" -### SET ############################################# compile perl (1) -ok 112 - Line 91 "\#set($foo = "bar")$foo" => "bar" -ok 113 - Line 93 "\#set($monkey = $bill)$monkey" => "Bill" -ok 114 - Line 94 "\#set($monkey.Friend = 'monica')$monkey.Friend" => "monica" -ok 115 - Line 95 "\#set($monkey.Blame = $whitehouse.Leak)$monkey.Blame" => "from_velocity_ref_guide" -ok 116 - Line 96 "\#set($monkey.Plan = $spindoctor.weave($web))$monkey.Plan" => "(spider)" -ok 117 - Line 97 "\#set($monkey.Number = 123)$monkey.Number" => "123" -ok 118 - Line 98 "\#set($monkey.Numbers = [1..3])$monkey.Numbers.2" => "3" -ok 119 - Line 99 "\#set($monkey.Map = {"banana" : "good"})$monkey.Map.banana" => "good" -ok 120 - Line 101 "\#set($value = $foo + 1)$value" => "9" -ok 121 - Line 102 "\#set($value = $bar - 1)$value" => "3" -ok 122 - Line 103 "\#set($value = $foo * $bar)$value" => "32" -ok 123 - Line 104 "\#set($value = $foo / $bar)$value" => "2" -ok 124 - Line 105 "\#set($value = $foo % $bar)$value" => "0" -ok 125 - Line 107 "\#set($!value = $foo + 1)$value" => "" -### QUOTED STRINGS ################################## compile perl (1) -ok 126 - Line 112 "\#set($value = "($foo)")$value" => "(bar)" -ok 127 - Line 113 "\#set($value = "(\#get($foo))")$value" => "(bar)" -ok 128 - Line 114 "\#set($value = "($foo)")$value" => "(bar)" -ok 129 - Line 115 "\#set($value = "(\#get($foo))")$value" => "(\#get(bar))" -ok 130 - Line 116 "\#set($value = '($foo)')$value" => "($foo)" -ok 131 - Line 117 "\#set($value = '(\#get($foo))')$value" => "(\#get($foo))" -ok 132 - Line 119 "\#set($value = "($foo)")$value" => "($foo)" -ok 133 - Line 120 "\#set($value = "(\#get($foo))")$value" => "()" -ok 134 - Line 121 "\#set($value = "($foo)")$value" => "($foo)" -ok 135 - Line 122 "\#set($value = "(\#get($foo))")$value" => "(\#get($foo))" -ok 136 - Line 124 "\#set($value = "($!foo)")$value" => "()" -ok 137 - Line 125 "\#set($value = "(\#get($!foo))")$value" => "" -ok 138 - Line 126 "\#set($value = "($!foo)")$value" => "()" -ok 139 - Line 127 "\#set($value = "(\#get($!foo))")$value" => "(\#get())" -### COMMENTS ######################################## compile perl (1) -ok 140 - Line 132 "Foo\#\#interesting -# Bar" => "FooBar" -ok 141 - Line 133 "Foo\#\#interesting -# -# Bar" => "Foo -# Bar" -ok 142 - Line 134 "Foo\#\#interesting" => "Foo" -ok 143 - Line 135 "Foo\#*interesting -# " => "" -ok 144 - Line 136 "Foo\#*interesting -# -# -# *#" => "Foo" -ok 145 - Line 137 "Foo\#*interesting -# -# -# *#Bar" => "FooBar" -### ESCAPING ######################################## compile perl (1) -ok 146 - Line 142 "$email" => "foo" -ok 147 - Line 143 "\$email" => "$email" -ok 148 - Line 144 "\\$email" => "\foo" -ok 149 - Line 145 "\\\$email" => "\$email" -ok 150 - Line 147 "$email" => "$email" -ok 151 - Line 148 "\$email" => "$email" -ok 152 - Line 149 "\\$email" => "\$email" -ok 153 - Line 150 "\\\$email" => "\$email" -### IF / ELSEIF / ELSE ############################## compile perl (1) -ok 154 - Line 155 "\#if($foo)bar\#{end}bar" => "bar" -ok 155 - Line 156 "\#if("1")bar\#end" => "bar" -ok 156 - Line 157 "\#if($foo)bar\#end" => "" -ok 157 - Line 158 "\#if($foo)bar\#end" => "bar" -ok 158 - Line 159 "\#if($foo)bar\#{else}baz\#end" => "bar" -ok 159 - Line 160 "\#if($foo)bar\#{else}baz\#end" => "baz" -ok 160 - Line 161 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "baz" -ok 161 - Line 162 "\#if($foo)bar\#elseif($bing)bang\#{else}baz\#end" => "bang" -### FOREACH ######################################## compile perl (1) -ok 162 - Line 167 "\#foreach( foo )bar\#{end}" => "bar" -ok 163 - Line 168 "\#foreach( f IN foo )bar$f\#{end}" => "bar1bar2" -ok 164 - Line 169 "\#foreach( f = foo )bar$f\#{end}" => "bar1bar2" -ok 165 - Line 170 "\#foreach( f = [1,2] )bar$f\#{end}" => "bar1bar2" -ok 166 - Line 171 "\#foreach( f = [1..3] )bar$f\#{end}" => "bar1bar2bar3" -ok 167 - Line 172 "\#foreach( f = [{a=>'A'},{a=>'B'}] )bar$f.a\#{end}" => "barAbarB" -ok 168 - Line 173 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}" => "barAbarB" -ok 169 - Line 174 "\#foreach( [{a=>'A'},{a=>'B'}] )bar$a\#{end}$!a" => "barAbarB" -ok 170 - Line 175 "\#foreach( f = [1..3] )$loop.count/$loop.size \#{end}" => "1/3 2/3 3/3 " -### INCLUDE ######################################### compile perl (1) -ok 171 - Line 181 "\#include("foo.vel")" => "Good Day!" -ok 172 - Line 182 "\#parse($foo)" => "Good Day!" -ok 173 - Line 183 "\#include("bar.vel")" => "($bar)" -ok 174 - Line 184 "\#include("bar.vel")" => "($bar)" -### PARSE ############################################ compile perl (1) -ok 175 - Line 189 "\#parse("foo.vel")" => "Good Day!" -ok 176 - Line 190 "\#parse($foo)" => "Good Day!" -ok 177 - Line 191 "\#parse("bar.vel")" => "($bar)" -ok 178 - Line 192 "\#parse("bar.vel")" => "(foo)" -### STOP ############################################ compile perl (1) -ok 179 - Line 197 "\#stop" => "" -ok 180 - Line 198 "One\#{stop}Two" => "One" -ok 181 - Line 199 "\#block('foo')One\#{stop}Two\#{end}First\#process('foo')Last" => "FirstOne" -ok 182 - Line 200 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#end$f\#end" => "112233" -ok 183 - Line 201 "\#foreach( $f = [1..3] )$f\#if(loop.first)\#stop\#end\#end" => "1" -ok 184 - Line 202 "\#foreach( $f = [1..3] )\#if(loop.first)\#stop\#end$f\#end" => "" -### EVALUATE ######################################## compile perl (1) -ok 185 - Line 207 "\#set($f = '>\#try\#evaluate($f)\#{catch}caught\#end')\#evaluate($f)" => ">>>>>caught" -ok 186 - Line 208 "\#set($f = '>\#try\#eval($f)\#{catch}foo\#end')\#eval($f)\#EVALUATE($f)" => ">>foo>>foo" -### MACRO ########################################### compile perl (1) -ok 187 - Line 213 "\#macro(foo PROCESS bar )\#block(bar)Hi\#end$foo" => "Hi" -ok 188 - Line 214 "\#macro(foo BLOCK)Hi\#end$foo" => "Hi" -ok 189 - Line 215 "\#macro(foo $n BLOCK)Hi$n\#end$foo" => "Hi$n" -ok 190 - Line 216 "\#macro(foo $n BLOCK)Hi$n\#end$foo(2)" => "Hi2" -ok 191 - Line 217 "\#macro(foo(n) BLOCK)Hi$n\#end$foo" => "Hi$n" -ok 192 - Line 218 "\#macro(foo(n) BLOCK)Hi$n\#end$foo(2)" => "Hi2" -ok 193 - Line 219 "\#macro(foo $n)Hi$n\#end$foo" => "Hi$n" -ok 194 - Line 220 "\#macro(foo $n)Hi$n\#end$foo(2)" => "Hi2" -ok 195 - Line 221 "\#macro(foo $n)Hi$n\#end\#foo(2)" => "Hi2" -ok 196 - Line 222 "\#macro(foo $n $m)Hi($n)($m)\#end\#foo(2 3)" => "Hi(2)(3)" -ok 197 - Line 224 "\#macro( inner $foo ) -# inner : $foo -# #end -# -# #macro( outer $foo ) -# #set($bar = "outerlala") -# outer : $foo -# #end -# -# #set($bar = "calltimelala") -# #outer( "#inner($bar)" )" => " outer : inner : calltimelala" -ok 198 - Line 236 "\#macro( inner $foo ) -# inner : $foo -# #end -# -# #macro( outer $foo ) -# #set($bar = "outerlala") -# outer : $foo|eval -# #end -# -# #set($bar = "calltimelala") -# #outer( "#inner('$bar')" )" => " outer : inner : outerlala" -### TT3 CHOMPING #################################### compile perl (1) -ok 199 - Line 251 " -# #get( $foo )" => " -# FOO" -ok 200 - Line 252 "\#get( $foo -) -# " => "FOO" -ok 201 - Line 253 " -# #get(- $foo)" => "FOO" -ok 202 - Line 254 " -# #get( -$foo)" => " -# -7" -### DONE ############################################ compile perl (1) -ok -All tests successful. -Files=10, Tests=4568, 9 wallclock secs ( 0.48 usr 0.05 sys + 2.81 cusr 0.32 csys = 3.66 CPU) -Result: PASS -make[1]: Leaving directory '/build/reproducible-path/libtemplate-alloy-perl-1.022' +dh: command-omitted: The call to "dh_auto_test" was omitted due to "DEB_BUILD_OPTIONS=nocheck" create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libtemplate-alloy-perl/ - make -j42 install DESTDIR=/build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr + make -j40 install DESTDIR=/build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[1]: Entering directory '/build/reproducible-path/libtemplate-alloy-perl-1.022' Manifying 14 pod documents -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy.pod Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy.pod +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Compile.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Iterator.pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Operator.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/VMethod.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Context.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Exception.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/HTE.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/TT.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Stream.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Play.pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Parse.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Stream.pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Velocity.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Compile.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Iterator.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/HTE.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/TT.pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Tmpl.pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Stream.3pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Exception.3pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Context.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/VMethod.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Exception.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/perl5/Template/Alloy/Play.pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Compile.3pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy.3pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Context.3pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Velocity.3pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::VMethod.3pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Operator.3pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::HTE.3pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::TT.3pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::VMethod.3pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Stream.3pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Iterator.3pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Play.3pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::TT.3pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Context.3pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Parse.3pm Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Tmpl.3pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::HTE.3pm -Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Compile.3pm +Installing /build/reproducible-path/libtemplate-alloy-perl-1.022/debian/libtemplate-alloy-perl/usr/share/man/man3/Template::Alloy::Exception.3pm make[1]: Leaving directory '/build/reproducible-path/libtemplate-alloy-perl-1.022' dh_installdocs dh_installchangelogs @@ -5687,12 +406,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/354240/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/3908216 and its subdirectories -I: Current time: Fri Dec 4 08:44:59 -12 2026 -I: pbuilder-time-stamp: 1796417099 +I: removing directory /srv/workspace/pbuilder/354240 and its subdirectories +I: Current time: Sun Nov 2 04:25:16 +14 2025 +I: pbuilder-time-stamp: 1762007116