Commit | Line | Data |
8ec78a85 |
1 | use strict; |
2 | use warnings; |
3 | use Test::More tests => 2; |
4 | |
5 | use Devel::Declare; |
6 | eval q[ |
7 | BEGIN { |
8 | *class = sub (&) { $_[0]->() }; |
9 | Devel::Declare->setup_for(__PACKAGE__, { |
10 | class => { |
11 | const => sub { |
12 | my ($kw, $off) = @_; |
13 | $off += Devel::Declare::toke_move_past_token($off); |
14 | $off += Devel::Declare::toke_skipspace($off); |
15 | die unless substr(Devel::Declare::get_linestr(), $off, 1) eq '{'; |
16 | my $l = Devel::Declare::get_linestr(); |
17 | substr $l, $off + 1, 0, 'pass q[injected];' . (';' x 1000); |
18 | Devel::Declare::set_linestr($l); |
19 | }, |
20 | }, |
21 | }); |
22 | } |
23 | class {}; |
24 | ]; |
25 | is $@, ""; |
26 | |
27 | 1; |