#!/usr/bin/perl -w use strict; use Test::More tests => 22; use constant SKIP => 18; ############################################################################## # Make sure that we can use the stuff that's in our local lib directory. BEGIN { if( $ENV{PERL_CORE} ) { chdir 't' if -d 't'; @INC = ('../lib', 'lib'); } else { unshift @INC, 't/lib', 'lib'; } } chdir 't'; use EventTest; ############################################################################## BEGIN { use_ok('App::Info::Lib::Expat') } # Test info events. ok( my $info = EventTest->new, "Create info EventTest" ); ok( my $expat = App::Info::Lib::Expat->new( on_info => $info ), "Got Object"); is( $info->message, "Searching for Expat libraries", "Check constructor info" ); SKIP: { # Skip tests? skip "Expat not installed", SKIP unless $expat->installed; # Check version. $expat->version; is( $info->message, "Searching for 'expat.h'", "Check version info" ); is( $info->message, "Searching for include directory", "Check version info again" ); $expat->version; ok( ! defined $info->message, "No info" ); $expat->major_version; ok( ! defined $info->message, "Still No info" ); # Check major version. ok( $expat = App::Info::Lib::Expat->new( on_info => $info ), "Got Object 2"); $info->message; $expat->major_version; is( $info->message, "Searching for 'expat.h'", "Check major info" ); is( $info->message, "Searching for include directory", "Check major info again" ); # Check minor version. ok( $expat = App::Info::Lib::Expat->new( on_info => $info ), "Got Object 3"); $info->message; # Throw away constructor message. $expat->minor_version; is( $info->message, "Searching for 'expat.h'", "Check minor info" ); is( $info->message, "Searching for include directory", "Check minor info again" ); # Check patch version. ok( $expat = App::Info::Lib::Expat->new( on_info => $info ), "Got Object 4"); $info->message; # Throw away constructor message. $expat->patch_version; is( $info->message, "Searching for 'expat.h'", "Check patch info" ); is( $info->message, "Searching for include directory", "Check patch info again" ); # Check dir methods. ok( $expat = App::Info::Lib::Expat->new( on_info => $info ), "Got Object 5"); $info->message; # Throw away constructor message. $expat->bin_dir; ok( ! defined $info->message, "Check bin info" ); $expat->inc_dir; is( $info->message, "Searching for include directory", "Check inc info" ); $expat->lib_dir; ok( ! defined $info->message, "Check lib info" ); $expat->so_lib_dir; is( $info->message, "Searching for shared object library directory", "Check so lib info" ); } __END__