|
Packit Service |
fe88c8 |
use strict;
|
|
Packit Service |
fe88c8 |
use warnings;
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
use Test::More 0.88;
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
use constant NON_EXISTENT_OS => 'titanix'; #the system they said could not go down...
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
#--------------------------------------------------------------------------#
|
|
Packit Service |
fe88c8 |
# API tests
|
|
Packit Service |
fe88c8 |
#--------------------------------------------------------------------------#
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
require_ok('Perl::OSType');
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
can_ok( 'Perl::OSType', 'os_type' );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
my @functions = qw/os_type is_os_type/;
|
|
Packit Service |
fe88c8 |
for my $sub (@functions) {
|
|
Packit Service |
fe88c8 |
ok( eval { Perl::OSType->import($sub); 1 }, "importing $sub()" );
|
|
Packit Service |
fe88c8 |
can_ok( 'main', $sub );
|
|
Packit Service |
fe88c8 |
}
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
my $test_pkg = "testpackage$$";
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
ok( eval "package $test_pkg; use Perl::OSType ':all'; 1",
|
|
Packit Service |
fe88c8 |
"Testing 'use Perl::OSType qw/:all/'" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
can_ok( $test_pkg, @functions );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
#--------------------------------------------------------------------------#
|
|
Packit Service |
fe88c8 |
# os_type
|
|
Packit Service |
fe88c8 |
#--------------------------------------------------------------------------#
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
{
|
|
Packit Service |
fe88c8 |
my $fcn = 'os_type()';
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
ok( my $current_type = os_type(), "$fcn: without arguments" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
is( $current_type, os_type($^O), "... matches os_type($^O)" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
is( os_type(NON_EXISTENT_OS), '', "$fcn: unknown OS returns empty string" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
is( os_type(''), '', "$fcn: empty string returns empty string" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
local $^O = 'linux';
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
is( os_type(undef), 'Unix', "$fcn: explicit undef uses $^O" );
|
|
Packit Service |
fe88c8 |
}
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
#--------------------------------------------------------------------------#
|
|
Packit Service |
fe88c8 |
# is_os_type
|
|
Packit Service |
fe88c8 |
#--------------------------------------------------------------------------#
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
{
|
|
Packit Service |
fe88c8 |
my $fcn = 'is_os_type()';
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
is( is_os_type(NON_EXISTENT_OS), '', "$fcn: non-existent type is false" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
is( is_os_type(''), undef, "$fcn: empty string type is false" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
is( is_os_type( 'Unix', NON_EXISTENT_OS ), '', "$fcn: non-existent OS is false" );
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
local $^O = 'vos';
|
|
Packit Service |
fe88c8 |
ok( !is_os_type('Unix'), "$fcn: false" );
|
|
Packit Service |
fe88c8 |
ok( is_os_type('VOS'), "$fcn: true" );
|
|
Packit Service |
fe88c8 |
ok( !is_os_type(), "$fcn: false if no type provided" );
|
|
Packit Service |
fe88c8 |
}
|
|
Packit Service |
fe88c8 |
|
|
Packit Service |
fe88c8 |
done_testing;
|
|
Packit Service |
fe88c8 |
|