File: early2.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 (27 lines) | stat: -rw-r--r-- 617 bytes parent folder | download | duplicates (6)
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
use strict;
use warnings;
use Test::More tests => 2;

use Devel::Declare;
eval q[
    BEGIN {
	*class = sub (&) { $_[0]->() };
	Devel::Declare->setup_for(__PACKAGE__, {
	    class => {
		const => sub {
		    my ($kw, $off) = @_;
		    $off += Devel::Declare::toke_move_past_token($off);
		    $off += Devel::Declare::toke_skipspace($off);
		    die unless substr(Devel::Declare::get_linestr(), $off, 1) eq '{';
		    my $l = Devel::Declare::get_linestr();
		    substr $l, $off + 1, 0, 'pass q[injected];' . (';' x 1000);
		    Devel::Declare::set_linestr($l);
		},
	    },
	});
    }
    class {};
];
is $@, "";

1;