3 use Test::More tests => 25;
5 use warnings FATAL => 'all';
8 use Function::Parameters { pŕöç => 'function_strict' };
10 pŕöç hörps($x) { $x * 2 }
11 pŕöç drau($spın̈al_tap) { $spın̈al_tap * 3 }
12 pŕöç ääää($éééééé) { $éééééé * 4 }
18 is eval('pŕöç á(){} 1'), 1;
21 is eval('pŕöç ́(){} 1'), undef;
22 like $@, qr/pŕöç.* function body/s;
24 is eval(q<pŕöç 'hi(){} 1>), undef;
25 like $@, qr/pŕöç.* function body/s;
27 is eval('pŕöç ::hi($z){} 1'), 1;
30 is eval('pŕöç 123(){} 1'), undef;
31 like $@, qr/pŕöç.* function body/s;
33 is eval('pŕöç main::234(){} 1'), undef;
34 like $@, qr/pŕöç.* function body/s;
36 is eval('pŕöç m123($z){} 1'), 1;
39 is eval('pŕöç ::m234($z){} 1'), 1;
42 is eval { ääää }, undef;
43 like $@, qr/pŕöç.*ääää/s;
46 eval { require Moo } or skip "info requires Moo", 4;
48 for my $info (Function::Parameters::info \&ääää) {
49 is $info->keyword, 'pŕöç';
50 is join(' ', $info->positional_required), '$éééééé';
53 for my $info (Function::Parameters::info \&drau) {
54 is $info->keyword, 'pŕöç';
55 is join(' ', $info->positional_required), '$spın̈al_tap';