Commit | Line | Data |
514bcaa6 |
1 | #!perl |
2 | use strict; |
3 | use warnings FATAL => 'all'; |
4 | use Test::More tests => 8; |
5 | |
6 | use Function::Parameters; |
7 | |
8 | eval 'fun foo ($bar) { $bar }'; |
9 | ok(!$@, 'signatures parse in eval'); |
10 | diag $@ if $@; |
11 | ok(\&foo, 'fun declared in eval'); |
12 | is(foo(42), 42, 'eval signature works'); |
13 | |
14 | no Function::Parameters; |
15 | |
16 | $SIG{__WARN__} = sub {}; |
17 | eval 'fun bar ($baz) { $baz }'; |
18 | like($@, qr/requires explicit package name/, 'string eval disabled'); |
19 | |
20 | { |
21 | use Function::Parameters; |
22 | |
23 | eval 'fun bar ($baz) { $baz }'; |
24 | ok(!$@, 'signatures parse in eval'); |
25 | diag $@ if $@; |
26 | ok(\&bar, 'fun declared in eval'); |
27 | is(bar(42), 42, 'eval signature works'); |
28 | } |
29 | |
30 | $SIG{__WARN__} = sub {}; |
31 | eval 'fun moo ($kooh) { $kooh }'; |
32 | like($@, qr/requires explicit package name/, 'string eval disabled'); |