fix syntax error in module use line
[p5sagit/Devel-Declare.git] / t / lines.t
CommitLineData
9bd5658a 1use strict;
2use warnings;
3use Test::More;
4
ca4e1392 5use Test::Requires 'B::Compiling';
d5a4de48 6plan tests => 5;
9bd5658a 7
8my @lines;
9
10
11sub handle_fun {
12 my $pack = shift;
13
14 push @lines, PL_compiling->line;
15
16 my $offset = Devel::Declare::get_linestr_offset();
17 $offset += Devel::Declare::toke_move_past_token($offset);
18 my $stripped = Devel::Declare::toke_skipspace($offset);
19 my $linestr = Devel::Declare::get_linestr();
20
21 push @lines, PL_compiling->line;
22}
23
24
25use Devel::Declare;
26BEGIN {
27sub fun(&) {}
28
29Devel::Declare->setup_for(
30 __PACKAGE__,
31 { fun => { const => \&handle_fun } }
32);
33}
34
35
36#line 100
b0361eef 37fun
9bd5658a 38{ };
39my $line = __LINE__;
40my $line2 = __LINE__;
41
42# Reset the line number back to what it actually is
43#line 48
44is(@lines, 2, "2 line numbers recorded");
45is $lines[0], 100, "fun starts on line 100";
2688337b 46is $lines[1], 101, "fun stops on line 101";
47is $line, 102, "next statement on line 102";
48is $line2, 103, "next statement on line 103";