Modified source files and compiled any and armel versions of packages
[pkg-perl] / deb-src / libtest-exception-perl / libtest-exception-perl-0.27 / t / return.t
1 #! /usr/bin/perl -Tw
2
3 use strict;
4 use warnings;
5 use Test::Builder;
6 use Test::Harness;
7 use Test::Builder::Tester tests => 13;
8 use Test::More;
9
10 BEGIN { use_ok( 'Test::Exception' ) };
11
12 sub div {
13    my ($a, $b) = @_;
14    return( $a / $b );
15 };
16
17 my $filename = sub { return (caller)[1] }->();
18
19 {
20     my $ok = dies_ok { div(1, 0) } 'dies_ok passed on die';
21     ok($ok, 'dies_ok returned true when block dies');
22 }
23
24
25 {
26     test_out('not ok 1 - dies_ok failed');
27     test_fail( +1 );
28     my $ok = dies_ok { div(1, 1) } 'dies_ok failed';
29     test_test('dies_ok fails when code does not die');
30
31     ok(!$ok, 'dies_ok returned false on failure');
32 }
33
34
35 {
36     my $ok = throws_ok { div(1, 0) } '/./', 'throws_ok succeeded';
37     ok($ok, 'throws_ok returned true on success');
38 }
39
40 {
41     test_out('not ok 1 - throws_ok failed');
42     test_fail(+3);
43     test_err('# expecting: /./');
44     test_err('# found: normal exit');
45     my $ok = throws_ok { div(1, 1) } '/./', 'throws_ok failed';
46     test_test('throws_ok fails when appropriate');
47
48     ok(!$ok, 'throws_ok returned false on failure');
49 }
50
51 {
52     my $ok = lives_ok { div(1, 1) } 'lives_ok succeeded';
53     ok($ok, 'lives_ok returned true on success');
54 }
55
56 {
57     test_out('not ok 1 - lives_ok failed');
58     test_fail(+2);
59     test_err("# died: Illegal division by zero at $filename line 14.");
60     my $ok = lives_ok { div(1, 0) } 'lives_ok failed';
61     test_test("dies_ok fails"); 
62
63     ok(!$ok, 'lives_ok returned false on failure');
64 }