add begin.t from Method::Signatures
[p5sagit/Function-Parameters.git] / t / prototype.t
CommitLineData
b4f770c1 1#!perl
a04e810d 2use Test::More tests => 24;
b4f770c1 3
4use warnings FATAL => 'all';
5use strict;
6
7use Function::Parameters;
8
9is eval 'fun :([) {}', undef;
10like $@, qr/Illegal character in prototype/;
11
b4f770c1 12is eval 'fun :(][[[[[[) {}', undef;
13like $@, qr/Illegal character in prototype/;
14
15is eval 'fun :(\;) {}', undef;
16like $@, qr/Illegal character after '\\' 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 in prototype/;
29
30is eval 'fun :(\[_$]) {}', undef;
31like $@, qr/Illegal character after '\\' in prototype/;
32
33{
34 no warnings qw(illegalproto);
35
36 ok eval 'fun :([) {}';
b4f770c1 37 ok eval 'fun :(][[[[[[) {}';
38 ok eval 'fun :(\;) {}';
39 ok eval 'fun :(\[_;@]) {}';
40 ok eval 'fun :(\+) {}';
41 ok eval 'fun :(\\\\) {}';
42 ok eval 'fun :([$]) {}';
43 ok eval 'fun :(\[_$]) {}';
44}