File: fail.t

package info (click to toggle)
libdevel-declare-perl 0.006017-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 376 kB
  • sloc: ansic: 752; perl: 608; makefile: 2
file content (33 lines) | stat: -rw-r--r-- 909 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use strict;
use warnings;
use Test::More;

use Devel::Declare::MethodInstaller::Simple;
BEGIN {
    Devel::Declare::MethodInstaller::Simple->install_methodhandler(
        name => 'method',
        into => __PACKAGE__,
    );
}

TODO: {
    local $TODO = 'Method does not throw proper errors for bad parens yet';

    eval 'method main ( { return "foo" }';
    like($@, qr/Prototype\snot\sterminated/, 'Missing end parens');

    eval 'method main ) { return "foo" }';
    like($@, qr/Illegal\sdeclaration\sof\ssubroutine/, 'Missing start parens');
};

TODO: {
    local $TODO = 'method does not disallow invalid sub names';

    eval 'method 1main() { return "foo" }';
    like($@, qr/Illegal\sdeclaration\sof\sanonymous\ssubroutine/, 'starting with a number');

    eval 'method møø() { return "foo" }';
    like($@, qr/Illegal\sdeclaration\sof\ssubroutine\smain\:\:m/, 'with unicode');
};

done_testing;