EOD
return;
}
sub test_write_report_infos {
my $self = $_[0];
my $report = $self->{'writer'}{'_report'} = new Lire::Report();
$report->date( timelocal( 13, 17, 23, 28, 03, 2004 ) );
$report->timespan_start( timelocal( 14, 15, 18, 28, 03, 2004 ) );
$report->timespan_end( timelocal( 59, 19, 18, 28, 03, 2004 ) );
my $buf = $self->{'writer'}{'_fh'}->sref();
$self->{'writer'}->write_report_infos();
$self->assert_str_equals( <<_EOD, $$buf );
Report generated on: 2004-04-28 23:17:13 UTC
Reporting on period: 2004-04-28 18:15:14 UTC - 2004-04-28 18:19:59 UTC
_EOD
$$buf = '';
$report->timespan_start( undef );
$self->{'writer'}->write_report_infos();
$self->assert_str_equals( <<_EOD, $$buf );
Report generated on: 2004-04-28 23:17:13 UTC
Reporting on period: Unknown Period
_EOD
return;
}
sub test_write_links {
my $self = $_[0];
my $report = $self->{'writer'}{'_report'} = new Lire::Report();
$report->add_section( new Lire::Report::Section( 'Section 1' ) );
$report->add_section( new Lire::Report::Section( 'Section 2' ) );
$report->add_section( new Lire::Report::Section( 'Section 3' ) );
my $buf = $self->{'writer'}{'_fh'}->sref();
$self->{'writer'}{'_one_page'} = 1;
$self->{'cfg'}{'lr_html_css'} = '/usr/share/lire/html/lire-html.css';
$self->{'writer'}->write_links();
$self->assert_str_equals( <<_EOD, $$buf );
_EOD
$$buf = '';
$self->{'writer'}{'_one_page'} = 0;
$self->{'writer'}{'_toc'} = 'index.html';
$self->{'writer'}{'_next'} = 'section-2.html';
$self->{'writer'}{'_prev'} = 'index.html';
$self->{'cfg'}{'lr_html_css'} = 'http://www.logreport.org/lire.css';
$self->{'writer'}->write_links();
$self->assert_str_equals( <<_EOD, $$buf );
_EOD
}
sub test_write_logo {
my $self = $_[0];
$self->{'cfg'}{'lr_logo'} = undef;
my $buf = $self->{'writer'}{'_fh'}->sref();
$self->{'writer'}->write_logo();
$self->assert_str_equals( '', $$buf );
$self->{'cfg'}{'lr_logo'} = '/usr/share/lire/html/lire.png';
$self->{'cfg'}{'lr_logo_url'} = 'http://www.logreport.org/';
$self->{'writer'}->write_logo();
$self->assert_str_equals( <
EOD
$$buf = '';
$self->{'cfg'}{'lr_logo'} = 'http://www.logreport.org/lire.png';
$self->{'cfg'}{'lr_logo_url'} = '';
$self->{'writer'}->write_logo();
$self->assert_str_equals( <
EOD
}
sub set_up_write_report {
my $self = $_[0];
$self->set_up_chart_types();
$self->{'keep_tmpdir'} = $ENV{'KEEP_HTML'};
my $parser = new Lire::ReportParser::ReportBuilder();
$self->{'report'} = $parser->parsefile( "$self->{'testdir'}/data/TestReport_daily_jan25_2003.xml" );
$self->{'writer'} = new Lire::ReportParser::HTMLWriter();
$self->{'cfg'}{'lr_logo'} = "$self->{'testdir'}/../html/lire.png";
$self->{'cfg'}{'lr_logo_url'} = "http://www.logreport.org/";
$self->{'cfg'}{'lr_html_css'} = "$self->{'testdir'}/../html/lire-html.css";
no warnings 'redefine';
$self->{'_or_ac_path'} = \&Lire::ReportParser::HTMLWriter::ac_path;
*Lire::ReportParser::HTMLWriter::ac_path = sub { return "$self->{'testdir'}/../" };
return;
}
sub test_write_report_multi_page {
my $self = $_[0];
$self->set_up_write_report();
$self->{'writer'}->write_report( $self->{'report'}, $self->{'tmpdir'},
'xhtml' => 1, 'one_page' => 0 );
foreach my $file ( ( 'index.html', 'section-1.html', 'toc.png',
'section-2.html', 'section-3.html', 'test.html',
'test-extended.html', 'test-derived.html',
'lire.png', 'prev.png', 'next.png',
'lire-html.css' ) )
{
$self->assert( -s "$self->{'tmpdir'}/$file",
"missing '$self->{'tmpdir'}/$file'" );
}
print "\nMulti-pages HTML report generated in $self->{'tmpdir'}/index.html\n"
if $self->{'keep_tmpdir'};
}
sub test_write_report_one_page {
my $self = $_[0];
$self->set_up_write_report();
$self->{'writer'}->write_report( $self->{'report'}, $self->{'tmpdir'},
'xhtml' => 0, 'one_page' => 1 );
foreach my $file ( ( 'index.html', 'lire.png', 'lire-html.css' ) ) {
$self->assert( -s "$self->{'tmpdir'}/$file",
"missing '$self->{'tmpdir'}/$file'" );
}
$self->assert( ! -f "$self->{'tmpdir'}/toc.png",
"file '$self->{'tmpdir'}/toc.png' exists" );
print "\nOne page HTML report generated in $self->{'tmpdir'}/index.html\n"
if $self->{'keep_tmpdir'};
}
1;