Commit | Line | Data |
78ac150e |
1 | use strict; |
2 | use warnings; |
faaf0544 |
3 | use Test::More 0.88; |
70570efc |
4 | |
5 | use Devel::Declare::MethodInstaller::Simple; |
78ac150e |
6 | BEGIN { |
7 | Devel::Declare::MethodInstaller::Simple->install_methodhandler( |
8 | name => 'method', |
9 | into => __PACKAGE__, |
10 | ); |
11 | } |
70570efc |
12 | |
13 | TODO: { |
78ac150e |
14 | local $TODO = 'Method does not throw proper errors for bad parens yet'; |
15 | |
70570efc |
16 | eval 'method main ( { return "foo" }'; |
78ac150e |
17 | like($@, qr/Prototype\snot\sterminated/, 'Missing end parens'); |
70570efc |
18 | |
19 | eval 'method main ) { return "foo" }'; |
78ac150e |
20 | like($@, qr/Illegal\sdeclaration\sof\ssubroutine/, 'Missing start parens'); |
390ce4e8 |
21 | }; |
22 | |
23 | TODO: { |
78ac150e |
24 | local $TODO = 'method does not disallow invalid sub names'; |
25 | |
26 | eval 'method 1main() { return "foo" }'; |
27 | like($@, qr/Illegal\sdeclaration\sof\sanonymous\ssubroutine/, 'starting with a number'); |
28 | |
29 | eval 'method møø() { return "foo" }'; |
30 | like($@, qr/Illegal\sdeclaration\sof\ssubroutine\smain\:\:m/, 'with unicode'); |
31 | }; |
b52072dc |
32 | |
33 | done_testing; |