Re-instate linestr growing using filters
[p5sagit/Devel-Declare.git] / t / early0.t
1 use strict;
2 use warnings;
3 use Test::More tests => 1;
4 BEGIN {
5     require Devel::Declare;
6     Devel::Declare->setup_for(__PACKAGE__, {
7         class => {
8             const => sub {
9                 my ($kw, $off) = @_;
10                 $off += Devel::Declare::toke_move_past_token($off);
11                 $off += Devel::Declare::toke_skipspace($off);
12                 die unless substr(Devel::Declare::get_linestr(), $off, 1) eq '{';
13                 my $l = Devel::Declare::get_linestr();
14                 substr $l, $off + 1, 0, 'pass q[injected];' . (';' x 1000);
15                 Devel::Declare::set_linestr($l);
16                 my $class = sub (&) { $_[0]->() };
17                 no strict 'refs';
18                 *{ $kw } = $class;
19             },
20         },
21     });
22 }
23 class {};