1#!/usr/bin/perl -w 2use strict; 3use warnings; 4use Test::More 'no_plan'; 5 6use FindBin; 7use lib "$FindBin::Bin/lib"; 8 9use Some::Module qw(some_sub); 10use my::autodie qw(! some_sub); 11 12eval { some_sub() }; 13 14isnt("$@", "", "some_sub should die in void/scalar context"); 15 16isa_ok($@, 'autodie::exception'); 17is($@->context, 'scalar'); 18is($@->function, 'Some::Module::some_sub'); 19like("$@", qr/can't be called in scalar context/); 20 21my @returns = eval { some_sub(0); }; 22is($@, "", "Good call to some_sub"); 23is_deeply(\@returns, [1,2,3], "Returns unmolested"); 24 25@returns = eval { some_sub(1) }; 26 27isnt("$@",""); 28is($@->return->[0], undef); 29is($@->return->[1], 'Insufficient credit'); 30like("$@", qr/Insufficient credit/); 31