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
|
#!/usr/bin/perl
# Formal testing for PPI
# This test script only tests that the tree compiles
use strict;
use File::Spec::Functions ':ALL';
BEGIN {
no warnings 'once';
$| = 1;
$PPI::XS_DISABLE = 1;
$PPI::Lexer::X_TOKENIZER ||= $ENV{X_TOKENIZER};
}
use Test::More tests => 19;
use Test::NoWarnings;
# Check their perl version
ok( $] >= 5.006, "Your perl is new enough" );
# Does the module load
use_all_ok( qw{
PPI
PPI::Tokenizer
PPI::Lexer
PPI::Dumper
PPI::Find
PPI::Normal
PPI::Util
PPI::Cache
} );
sub use_all_ok {
my @modules = @_;
# Load each of the classes
foreach my $module ( @modules ) {
use_ok( $module );
}
# Check that all of the versions match
my $main_module = shift(@modules);
my $expected = $main_module->VERSION;
ok( $expected, "Found a version for the main module ($expected)" );
foreach my $module ( @modules ) {
is( $module->VERSION, $expected, "$main_module->VERSION matches $module->VERSION ($expected)" );
}
}
ok( ! $PPI::XS::VERSION, 'PPI::XS is correctly NOT loaded' );
|