#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 16;
use TAP::Harness::Env;
sub _has_module {
my $module = shift;
eval "use $module";
return $@ ? 0 : 1;
}
{
# Should add a fake home dir? to test the rc stuff..
local $ENV{HARNESS_OPTIONS} = 'j4:c';
ok my $harness = TAP::Harness::Env->create, 'made harness';
is( $harness->color, 1, "set color correctly" );
is( $harness->jobs, 4, "set jobs correctly" );
}
SKIP: {
skip "requires TAP::Formatter::HTML", 4
unless _has_module('TAP::Formatter::HTML');
skip "requires TAP::Formatter::HTML 0.10 or higher", 4
unless TAP::Formatter::HTML->VERSION >= .10;
local $ENV{HARNESS_OPTIONS} = 'j4:c:fTAP-Formatter-HTML';
ok my $harness = TAP::Harness::Env->create, 'made harness';
is( $harness->color, 1, "set color correctly" );
is( $harness->jobs, 4, "set jobs correctly" );
is( $harness->formatter_class, "TAP::Formatter::HTML",
"correct formatter" );
}
SKIP: {
skip "requires TAP::Harness::Archive", 5
unless _has_module('TAP::Harness::Archive');
# Test archive
local $ENV{HARNESS_OPTIONS} = 'j4:c:a/archive.tgz';
ok my $harness = TAP::Harness::Env->create, 'made harness';
is( $harness->color, 1, "set color correctly" );
is( $harness->jobs, 4, "set jobs correctly" );
isa_ok( $harness, "TAP::Harness::Archive", "correct harness subclass" );
# XXX: this is nasty :(
is( $harness->{__archive_file}, "/archive.tgz", "correct archive found" );
}
{
local $ENV{HARNESS_TIMER} = 0;
ok my $harness = TAP::Harness::Env->create, 'made harness';
ok !$harness->timer, 'timer set via HARNESS_TIMER';
}
{
local $ENV{HARNESS_TIMER} = 1;
ok my $harness = TAP::Harness::Env->create, 'made harness';
ok $harness->timer, 'timer set via HARNESS_TIMER';
}