aboutsummaryrefslogtreecommitdiff
path: root/openssl-1.1.0h/external/perl/Text-Template-1.46/t/14-broken.t
blob: d362395cfbc7fd73ceb8646a11b3d89e0a95845b (plain)
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++;
}