1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
use strict;
use warnings;
use lib 't/lib';
use Test::Differences::TestUtils::Capture;
use Test::More;
use Test::Differences;
my $stderr = capture_error { system (
$^X, (map { "-I$_" } (@INC)),
qw(-Mstrict -Mwarnings -MTest::More -MTest::Differences),
'-e', '
END { done_testing(); }
eq_or_diff(sub{1}, sub{2})
'
) };
ok(
$stderr eq # perl 5.16 onwards
'# Failed test at -e line 4.
# +----+-------------------+-------------------+
# | Elt|Got |Expected |
# +----+-------------------+-------------------+
# | 0|sub { |sub { |
# | 1| use warnings; | use warnings; |
# | 2| use strict; | use strict; |
# * 3| 1; | 2; *
# | 4|} |} |
# +----+-------------------+-------------------+
# Looks like you failed 1 test of 1.
' ||
$stderr eq # perl 5.8 to 5.14
q{# Failed test at -e line 4.
# +----+------------------------+------------------------+
# | Elt|Got |Expected |
# +----+------------------------+------------------------+
# | 0|sub { |sub { |
# | 1| use warnings; | use warnings; |
# | 2| use strict 'refs'; | use strict 'refs'; |
# * 3| 1; | 2; *
# | 4|} |} |
# +----+------------------------+------------------------+
# Looks like you failed 1 test of 1.
},
"got expected error output for different sub-refs"
);
$Test::Differences::NoDeparse = 1;
eq_or_diff sub { 1 }, sub { 2 }, "different sub-refs ignored when NoDeparse turned on";
done_testing;
|