Test-Expander/t/Test/Expander/_error.t

29 lines
1012 B
Perl

#!/usr/bin/env perl
## no critic (ProtectPrivateSubs RequireLocalizedPunctuationVars)
use v5.14;
use warnings
FATAL => qw(all),
NONFATAL => qw(deprecated exec internal malloc newline once portable redefine recursion uninitialized);
use Test::Expander::Constants qw($ERROR_WAS);
use constant TEST_CASES => {
'no exception' => { exception => '', args => [], output => '' },
'exception raised, no replacement required' => { exception => 'ABC', args => [], output => "${ERROR_WAS}ABC" },
'exception raised, replacement required' => { exception => 'ABC', args => [qw(B b)], output => "${ERROR_WAS}AbC" },
};
use Test::Builder::Tester tests => scalar(keys(%{TEST_CASES()}));
use Test::Expander;
foreach my $title (keys(%{TEST_CASES()})) {
test_out("ok 1 - $title");
$@ = TEST_CASES->{$title}->{exception};
is(
Test::Expander::_error(@{TEST_CASES->{$title}->{args}}),
TEST_CASES->{$title}->{output},
$title
);
test_test($title);
}