Blame t/blog_hints.t

Packit 6427f8
#!/usr/bin/perl -w
Packit 6427f8
use strict;
Packit 6427f8
use warnings;
Packit 6427f8
use Test::More 'no_plan';
Packit 6427f8
Packit 6427f8
use FindBin;
Packit 6427f8
use lib "$FindBin::Bin/lib";
Packit 6427f8
Packit 6427f8
use Some::Module qw(some_sub);
Packit 6427f8
use my::autodie qw(! some_sub);
Packit 6427f8
Packit 6427f8
eval { some_sub() };
Packit 6427f8
Packit 6427f8
isnt("$@", "", "some_sub should die in void/scalar context");
Packit 6427f8
Packit 6427f8
isa_ok($@, 'autodie::exception');
Packit 6427f8
is($@->context, 'scalar');
Packit 6427f8
is($@->function, 'Some::Module::some_sub');
Packit 6427f8
like("$@", qr/can't be called in scalar context/);
Packit 6427f8
Packit 6427f8
my @returns = eval { some_sub(0); };
Packit 6427f8
is($@, "", "Good call to some_sub");
Packit 6427f8
is_deeply(\@returns, [1,2,3], "Returns unmolested");
Packit 6427f8
Packit 6427f8
@returns = eval { some_sub(1) };
Packit 6427f8
Packit 6427f8
isnt("$@","");
Packit 6427f8
is($@->return->[0], undef);
Packit 6427f8
is($@->return->[1], 'Insufficient credit');
Packit 6427f8
like("$@", qr/Insufficient credit/);