Commit | Line | Data |
7195fc08 |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | #use warnings; |
5 | |
b611f396 |
6 | use Test::More tests => 11; |
7195fc08 |
7 | |
8 | BEGIN { use_ok 'Try::Tiny' }; |
9 | |
10 | try { |
11 | my $a = 1+1; |
12 | } catch { |
13 | fail('Cannot go into catch block because we did not throw an exception') |
14 | } finally { |
15 | pass('Moved into finally from try'); |
16 | }; |
17 | |
18 | try { |
19 | die('Die'); |
20 | } catch { |
21 | ok($_ =~ /Die/, 'Error text as expected'); |
22 | pass('Into catch block as we died in try'); |
23 | } finally { |
24 | pass('Moved into finally from catch'); |
25 | }; |
26 | |
27 | try { |
28 | die('Die'); |
29 | } finally { |
30 | pass('Moved into finally from catch'); |
31 | } catch { |
32 | ok($_ =~ /Die/, 'Error text as expected'); |
33 | }; |
34 | |
35 | try { |
36 | die('Die'); |
37 | } finally { |
38 | pass('Moved into finally block when try throws an exception and we have no catch block'); |
39 | }; |
40 | |
b611f396 |
41 | try { |
42 | die('Die'); |
43 | } finally { |
44 | pass('First finally clause run'); |
45 | } finally { |
46 | pass('Second finally clause run'); |
47 | }; |
48 | |
49 | try { |
50 | # do not die |
51 | } finally { |
52 | if (@_) { |
53 | fail("errors reported: @_"); |
54 | } else { |
55 | pass("no error reported") ; |
56 | } |
57 | }; |
58 | |
7195fc08 |
59 | |
60 | 1; |