3db5812b40124620e3ac0d0fb4b23605ce375d5b
[perl.git] / ext / XS-APItest / t / peep.t
1 #!perl
2
3 use strict;
4 use warnings;
5 use Test::More tests => 9;
6
7 use XS::APItest;
8
9 use Devel::Peek;
10
11 my $record = XS::APItest::peep_record;
12 my $rrecord = XS::APItest::rpeep_record;
13
14 # our peep got called and remembered the string constant
15 XS::APItest::peep_enable;
16 eval q[my $foo = q/affe/];
17 XS::APItest::peep_disable;
18
19 is(scalar @{ $record }, 1);
20 is(scalar @{ $rrecord }, 1);
21 is($record->[0], 'affe');
22 is($rrecord->[0], 'affe');
23
24
25 # peep got called for each root op of the branch
26 $::moo = $::moo = 0;
27 XS::APItest::peep_enable;
28 eval q[my $foo = $::moo ? q/x/ : q/y/];
29 XS::APItest::peep_disable;
30
31 is(scalar @{ $record }, 1);
32 is(scalar @{ $rrecord }, 2);
33 is($record->[0], 'y');
34 is($rrecord->[0], 'x');
35 is($rrecord->[1], 'y');