fix test: don't care which quotes are dumpered
[p5sagit/Function-Parameters.git] / t / foreign / Fun / name.t
1 #!perl
2 use strict;
3 use warnings FATAL => 'all';
4 use Test::More;
5
6 use Carp;
7
8 my $file = __FILE__;
9 my $line = __LINE__;
10
11 {
12     package Foo;
13     use Function::Parameters;
14     fun foo ($x, $y) {
15         Carp::confess "$x $y";
16     }
17
18     eval {
19         foo("abc", "123");
20     };
21
22     my $line_confess = $line + 6;
23     my $line_foo = $line + 10;
24
25     ::like($@, qr/^abc 123 at $file line $line_confess\.?\n\tFoo::foo\((["'])abc\1, 123\) called at $file line $line_foo/);
26 }
27
28 SKIP: { skip "Sub::Name required", 1 unless eval { require Sub::Name };
29
30 {
31     package Bar;
32     use Function::Parameters;
33     *bar = Sub::Name::subname(bar => fun ($a, $b) { Carp::confess($a + $b) });
34
35     eval {
36         bar(4, 5);
37     };
38
39     my $line_confess = $line + 24;
40     my $line_bar = $line + 27;
41
42     ::like($@, qr/^9 at $file line $line_confess\.?\n\tBar::bar\(4, 5\) called at $file line $line_bar/);
43 }
44
45 }
46
47 done_testing;