14-broken.t
2.27 KB
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
#!perl
# test apparatus for Text::Template module
use Text::Template;
print "1..5\n";
$n=1;
die "This is the test program for Text::Template version 1.46.
You are using version $Text::Template::VERSION instead.
That does not make sense.\n
Aborting"
unless $Text::Template::VERSION == 1.46;
# (1) basic error delivery
{ my $r = Text::Template->new(TYPE => 'string',
SOURCE => '{1/0}',
)->fill_in();
if ($r eq q{Program fragment delivered error ``Illegal division by zero at template line 1.''}) {
print "ok $n\n";
} else {
print "not ok $n\n# $r\n";
}
$n++;
}
# (2) BROKEN sub called in ->new?
{ my $r = Text::Template->new(TYPE => 'string',
SOURCE => '{1/0}',
BROKEN => sub {'---'},
)->fill_in();
if ($r eq q{---}) {
print "ok $n\n";
} else {
print "not ok $n\n# $r\n";
}
$n++;
}
# (3) BROKEN sub called in ->fill_in?
{ my $r = Text::Template->new(TYPE => 'string',
SOURCE => '{1/0}',
)->fill_in(BROKEN => sub {'---'});
if ($r eq q{---}) {
print "ok $n\n";
} else {
print "not ok $n\n# $r\n";
}
$n++;
}
# (4) BROKEN sub passed correct args when called in ->new?
{ my $r = Text::Template->new(TYPE => 'string',
SOURCE => '{1/0}',
BROKEN => sub { my %a = @_;
qq{$a{lineno},$a{error},$a{text}}
},
)->fill_in();
if ($r eq qq{1,Illegal division by zero at template line 1.\n,1/0}) {
print "ok $n\n";
} else {
print "not ok $n\n# $r\n";
}
$n++;
}
# (5) BROKEN sub passed correct args when called in ->fill_in?
{ my $r = Text::Template->new(TYPE => 'string',
SOURCE => '{1/0}',
)->fill_in(BROKEN =>
sub { my %a = @_;
qq{$a{lineno},$a{error},$a{text}}
});
if ($r eq qq{1,Illegal division by zero at template line 1.\n,1/0}) {
print "ok $n\n";
} else {
print "not ok $n\n# $r\n";
}
$n++;
}