File: sub-refs.t

package info (click to toggle)
libtest-differences-perl 0.72-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 192 kB
  • sloc: perl: 498; makefile: 2
file content (51 lines) | stat: -rw-r--r-- 1,740 bytes parent folder | download | duplicates (3)
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;