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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
#!/usr/bin/perl
# Unit testing for PPI, generated by Test::Inline
use strict;
use File::Spec::Functions ':ALL';
BEGIN {
$| = 1;
$^W = 1;
no warnings 'once';
$PPI::XS_DISABLE = 1;
$PPI::Lexer::X_TOKENIZER ||= $ENV{X_TOKENIZER};
}
use PPI;
# Execute the tests
use Test::More tests => 52;
# =begin testing type 52
{
my $Document = PPI::Document->new(\<<'END_PERL');
while (1) { }
until (1) { }
LABEL: while (1) { }
LABEL: until (1) { }
if (1) { }
unless (1) { }
for (@foo) { }
foreach (@foo) { }
for $x (@foo) { }
foreach $x (@foo) { }
for my $x (@foo) { }
foreach my $x (@foo) { }
for state $x (@foo) { }
foreach state $x (@foo) { }
LABEL: for (@foo) { }
LABEL: foreach (@foo) { }
LABEL: for $x (@foo) { }
LABEL: foreach $x (@foo) { }
LABEL: for my $x (@foo) { }
LABEL: foreach my $x (@foo) { }
LABEL: for state $x (@foo) { }
LABEL: foreach state $x (@foo) { }
for qw{foo} { }
foreach qw{foo} { }
for $x qw{foo} { }
foreach $x qw{foo} { }
for my $x qw{foo} { }
foreach my $x qw{foo} { }
for state $x qw{foo} { }
foreach state $x qw{foo} { }
LABEL: for qw{foo} { }
LABEL: foreach qw{foo} { }
LABEL: for $x qw{foo} { }
LABEL: foreach $x qw{foo} { }
LABEL: for my $x qw{foo} { }
LABEL: foreach my $x qw{foo} { }
LABEL: for state $x qw{foo} { }
LABEL: foreach state $x qw{foo} { }
for ( ; ; ) { }
foreach ( ; ; ) { }
for ($x = 0 ; $x < 1; $x++) { }
foreach ($x = 0 ; $x < 1; $x++) { }
for (my $x = 0 ; $x < 1; $x++) { }
foreach (my $x = 0 ; $x < 1; $x++) { }
LABEL: for ( ; ; ) { }
LABEL: foreach ( ; ; ) { }
LABEL: for ($x = 0 ; $x < 1; $x++) { }
LABEL: foreach ($x = 0 ; $x < 1; $x++) { }
LABEL: for (my $x = 0 ; $x < 1; $x++) { }
LABEL: foreach (my $x = 0 ; $x < 1; $x++) { }
END_PERL
isa_ok( $Document, 'PPI::Document' );
my $statements = $Document->find('Statement::Compound');
is( scalar @{$statements}, 50, 'Found the 50 test statements' );
is( $statements->[0]->type, 'while', q<Type of while is "while"> );
is( $statements->[1]->type, 'while', q<Type of until is "while"> );
is( $statements->[2]->type, 'while', q<Type of while with label is "while"> );
is( $statements->[3]->type, 'while', q<Type of until with label is "while"> );
is( $statements->[4]->type, 'if', q<Type of if is "if"> );
is( $statements->[5]->type, 'if', q<Type of unless is "if"> );
foreach my $index (6..37) {
my $statement = $statements->[$index];
is( $statement->type, 'foreach', qq<Type is "foreach": $statement> );
}
foreach my $index (38..49) {
my $statement = $statements->[$index];
is( $statement->type, 'for', qq<Type is "for": $statement> );
}
}
1;
|