test invalid prototype detection
[p5sagit/Function-Parameters.git] / t / prototype.t
CommitLineData
b4f770c1 1#!perl
2use Test::More tests => 27;
3
4use warnings FATAL => 'all';
5use strict;
6
7use Function::Parameters;
8
9is eval 'fun :([) {}', undef;
10like $@, qr/Illegal character in prototype/;
11
12is eval 'fun :([) {}', undef;
13like $@, qr/Illegal character in prototype/;
14
15is eval 'fun :(][[[[[[) {}', undef;
16like $@, qr/Illegal character in prototype/;
17
18is eval 'fun :(\;) {}', undef;
19like $@, qr/Illegal character after '\\' in prototype/;
20
21is eval 'fun :(\[_;@]) {}', undef;
22like $@, qr/Illegal character after '\\' in prototype/;
23
24is eval 'fun :(\+) {}', undef;
25like $@, qr/Illegal character after '\\' in prototype/;
26
27is eval 'fun :(\\\\) {}', undef;
28like $@, qr/Illegal character after '\\' in prototype/;
29
30is eval 'fun :([$]) {}', undef;
31like $@, qr/Illegal character in prototype/;
32
33is eval 'fun :(\[_$]) {}', undef;
34like $@, qr/Illegal character after '\\' in prototype/;
35
36{
37 no warnings qw(illegalproto);
38
39 ok eval 'fun :([) {}';
40 ok eval 'fun :([) {}';
41 ok eval 'fun :(][[[[[[) {}';
42 ok eval 'fun :(\;) {}';
43 ok eval 'fun :(\[_;@]) {}';
44 ok eval 'fun :(\+) {}';
45 ok eval 'fun :(\\\\) {}';
46 ok eval 'fun :([$]) {}';
47 ok eval 'fun :(\[_$]) {}';
48}