use strict;
use warnings;
use lib 'lib';
use lib 't/lib';
use Test::More 'no_plan';
use FileTempTFH;
use TAP::Harness;
use_ok( 'TAP::Formatter::HTML' );
my $tmp = FileTempTFH->new;
$ENV{TAP_FORMATTER_HTML_OUTFILE} = "$tmp";
$ENV{TAP_FORMATTER_HTML_FORCE_INLINE_CSS} = "0";
$ENV{TAP_FORMATTER_HTML_CSS_URIS} = "/foo/bar.css:/bar/baz.css";
$ENV{TAP_FORMATTER_HTML_JS_URIS} = "/foo/bar.js:/bar/baz.js";
$ENV{TAP_FORMATTER_HTML_TEMPLATE} = "/foo/bar/baz.tt";
my $f = TAP::Formatter::HTML->new({ really_quiet => 1 });
isnt( $f->output_fh, $f->stdout, 'TAP_FORMATTER_HTML_OUTFILE sets output_fh' );
is( $f->force_inline_css, 0, 'TAP_FORMATTER_HTML_FORCE_INLINE_CSS' );
is( $f->template, '/foo/bar/baz.tt', 'TAP_FORMATTER_HTML_TEMPLATE' );
is_deeply( $f->css_uris,
[qw( /foo/bar.css /bar/baz.css )],
'TAP_FORMATTER_HTML_CSS_URIS' );
is_deeply( $f->js_uris,
[qw( /foo/bar.js /bar/baz.js )],
'TAP_FORMATTER_HTML_JS_URIS' );
# Test #2 - make sure OUTFILE works...
delete @ENV{qw(TAP_FORMATTER_HTML_CSS_URIS
TAP_FORMATTER_HTML_JS_URIS
TAP_FORMATTER_HTML_TEMPLATE)};
my $h = TAP::Harness->new({ merge => 1, verbosity => -3, formatter_class => 'TAP::Formatter::HTML' });
$h->runtests( 't/data/01_pass.pl' );
my $html = $tmp->get_all_output;
ok( $html, 'TAP_FORMATTER_HTML_OUTFILE generates file' );
like( $html, qr|01_pass|, 'file contains expected output' );