#!/usr/bin/perl | |
use strict; | |
use warnings; | |
use Test::More tests => 7; | |
BEGIN { use_ok('exception_order') } | |
require_ok('exception_order'); | |
# adapted from ../python/exception_order_runme.py | |
my $a = exception_order::A->new(); | |
eval { $a->foo() }; | |
isa_ok($@, "exception_order::E1"); | |
eval { $a->bar() }; | |
isa_ok($@, "exception_order::E2"); | |
eval { $a->foobar() }; | |
like($@, qr/\bpostcatch unknown\b/); | |
eval { $a->barfoo(1) }; | |
isa_ok($@, "exception_order::E1"); | |
eval { $a->barfoo(2) }; | |
isa_ok($@, "exception_order::E2"); |