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