1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
#============================================================= -*-perl-*-
#
# t/assert.t
#
# Test the assert plugin which throws error if undefined values are
# returned.
#
# Written by Andy Wardley <abw@wardley.org>
#
# Copyright (C) 1996-2008 Andy Wardley. All Rights Reserved.
#
# This is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
#========================================================================
use strict;
use warnings;
use lib qw( ./lib ../lib ../blib/lib ../blib/arch );
use Template::Test;
#------------------------------------------------------------------------
# definition of test object class
#------------------------------------------------------------------------
package Template::Test::Object;
sub new {
bless {}, shift;
}
sub nil {
return undef;
}
#-----------------------------------------------------------------------
# main
#-----------------------------------------------------------------------
package main;
my $vars = {
object => Template::Test::Object->new,
hash => { foo => 10, bar => undef },
list => [ undef ],
subref => sub { return undef },
nothing => undef,
};
test_expect(\*DATA, undef, $vars);
#------------------------------------------------------------------------
# test input
#------------------------------------------------------------------------
__DATA__
-- test --
([% object.nil %])
-- expect --
()
-- test --
[% USE assert;
TRY; object.assert.nil; CATCH; error; END; "\n";
TRY; object.assert.zip; CATCH; error; END;
%]
-- expect --
assert error - undefined value for nil
assert error - undefined value for zip
-- test --
[% USE assert;
TRY; hash.assert.bar; CATCH; error; END; "\n";
TRY; hash.assert.bam; CATCH; error; END;
%]
-- expect --
assert error - undefined value for bar
assert error - undefined value for bam
-- test --
[% USE assert;
TRY; list.assert.0; CATCH; error; END; "\n";
TRY; list.assert.first; CATCH; error; END;
%]
-- expect --
assert error - undefined value for 0
assert error - undefined value for first
-- test --
[% USE assert;
TRY; list.assert.0; CATCH; error; END; "\n";
TRY; list.assert.first; CATCH; error; END;
%]
-- expect --
assert error - undefined value for 0
assert error - undefined value for first
-- test --
[% USE assert;
TRY; assert.nothing; CATCH; error; END;
%]
-- expect --
assert error - undefined value for nothing
-- test --
[% USE assert;
TRY; assert.subref; CATCH; error; END;
%]
-- expect --
assert error - undefined value for subref
|