1#============================================================= -*-perl-*- 2# 3# t/strict.t 4# 5# Test strict mode. 6# 7# Written by Andy Wardley <abw@wardley.org> 8# 9# Copyright (C) 1996-2009 Andy Wardley. All Rights Reserved. 10# 11# This is free software; you can redistribute it and/or modify it 12# under the same terms as Perl itself. 13# 14#======================================================================== 15 16use strict; 17use warnings; 18use lib qw( ../lib ); 19use Template; 20use Template::Test; 21 22my $template = Template->new( 23 STRICT => 1 24); 25 26test_expect( 27 \*DATA, 28 { STRICT => 1 }, 29 { foo => 10, bar => undef, baz => { boz => undef } } 30); 31 32__DATA__ 33-- test -- 34-- name defined variable -- 35[% foo %] 36-- expect -- 3710 38 39-- test -- 40-- name variable with undefined value -- 41[% TRY; bar; CATCH; error; END %] 42-- expect -- 43var.undef error - undefined variable: bar 44 45-- test -- 46-- name dotted variable with undefined value -- 47[% TRY; baz.boz; CATCH; error; END %] 48-- expect -- 49var.undef error - undefined variable: baz.boz 50 51-- test -- 52-- name undefined first part of dotted.variable -- 53[% TRY; wiz.bang; CATCH; error; END %] 54-- expect -- 55var.undef error - undefined variable: wiz.bang 56 57-- test -- 58-- name undefined second part of dotted.variable -- 59[% TRY; baz.booze; CATCH; error; END %] 60-- expect -- 61var.undef error - undefined variable: baz.booze 62 63-- test -- 64-- name dotted.variable with args -- 65[% TRY; baz(10).booze(20, 'blah', "Foo $foo"); CATCH; error; END %] 66-- expect -- 67var.undef error - undefined variable: baz(10).booze(20, 'blah', 'Foo 10') 68 69