Commit | Line | Data |
c0ebfc1e |
1 | use strict; |
2 | use warnings; |
3 | use Test::More tests => 14; |
4 | |
5 | use Devel::Declare 'method' => sub {}; |
6 | |
7 | sub test_eval; |
8 | |
612c4e61 |
9 | test_eval 'qq/method/'; |
10 | test_eval '`method`'; |
11 | test_eval 'qx/method/'; |
87e03828 |
12 | test_eval 'qr/method/'; |
13 | test_eval '/method/'; |
14 | test_eval 's/method//'; |
15 | test_eval 'tr/method/METHOD/'; |
0c232d04 |
16 | test_eval 'q/method/'; |
17 | test_eval "'method'"; |
18 | test_eval '"method"'; |
19 | test_eval 'qw/method/'; |
20 | test_eval '<<method; |
c0ebfc1e |
21 | tum ti tum |
22 | method'; |
0c232d04 |
23 | test_eval 'no warnings "reserved"; open method, "</dev/null"'; |
24 | test_eval '<method>'; |
c0ebfc1e |
25 | |
26 | sub test_eval { |
27 | my $what = shift; |
28 | eval $what; |
29 | ok !$@, "$what" or d($@); |
30 | } |
31 | { |
32 | my %seen; |
33 | sub d { # diag the error the first time we get it |
34 | my $err = shift; |
35 | $err =~s/ at .*$//; |
36 | $seen{$err}++ or diag $err; |
37 | } |
38 | } |