Blame t/19-propagate-nonexistent-subname.t

Packit e94139
use strict;
Packit e94139
use warnings;
Packit e94139
Packit e94139
use Test::More 0.88;
Packit e94139
Packit e94139
BEGIN {
Packit e94139
    $SIG{__WARN__} = 'does_not_exist';
Packit e94139
}
Packit e94139
Packit e94139
use Test::Warnings qw(:all :no_end_test);
Packit e94139
use if "$]" >= '5.008', lib => 't/lib';
Packit e94139
use if "$]" >= '5.008', 'SilenceStderr';
Packit e94139
Packit e94139
eval { warn 'this warning is not expected to be caught' };
Packit e94139
is($@, '', 'non-existent sub in warning handler does not result in an exception');
Packit e94139
Packit e94139
SKIP: {
Packit e94139
    skip 'PadWalker required for this test', 1
Packit e94139
        if not eval 'require PadWalker';
Packit e94139
    is(
Packit e94139
        ${ PadWalker::closed_over(\&Test::Warnings::had_no_warnings)->{'$forbidden_warnings_found'} },
Packit e94139
        1,
Packit e94139
        'Test::Warnings saw the warning go by',
Packit e94139
    );
Packit e94139
}
Packit e94139
Packit e94139
done_testing;