3 use warnings FATAL => 'all';
4 use Test::More tests => 8;
6 use Function::Parameters;
8 eval 'fun foo ($bar) { $bar }';
9 ok(!$@, 'signatures parse in eval');
11 ok(\&foo, 'fun declared in eval');
12 is(foo(42), 42, 'eval signature works');
14 no Function::Parameters;
16 $SIG{__WARN__} = sub {};
17 eval 'fun bar ($baz) { $baz }';
18 like($@, qr/requires explicit package name/, 'string eval disabled');
21 use Function::Parameters;
23 eval 'fun bar ($baz) { $baz }';
24 ok(!$@, 'signatures parse in eval');
26 ok(\&bar, 'fun declared in eval');
27 is(bar(42), 42, 'eval signature works');
30 $SIG{__WARN__} = sub {};
31 eval 'fun moo ($kooh) { $kooh }';
32 like($@, qr/requires explicit package name/, 'string eval disabled');