#!/usr/bin/perl
# $Id: 20-complexdoc.t 79 2009-01-19 13:42:09Z andrew $
use strict;
use blib;
use FindBin qw($Bin);
use File::Spec;
use lib ("$Bin/../lib", "$Bin/lib");
use Data::Dumper;
use Test::More tests => 12;
use Test::LaTeX::Driver;
use LaTeX::Driver;
tidy_directory($basedir, $docname, $debug);
my $drv = LaTeX::Driver->new( source => $docpath,
format => 'dvi',
TEXINPUTS => [ "$Bin/testdata/00-common"],
@DEBUGOPTS );
diag("Checking the formatting of a complex LaTeX document with references, a bibliography, an index, etc");
isa_ok($drv, 'LaTeX::Driver');
is($drv->basedir, $basedir, "checking basedir");
is($drv->basename, $docname, "checking basename");
is($drv->basepath, File::Spec->catpath('', $basedir, $docname), "checking basepath");
is($drv->formatter, 'latex', "formatter");
ok($drv->run, "formatting $docname");
is($drv->stats->{pages}, 12, "should have 12 pages of output");
cmp_ok($drv->stats->{runs}{latex}, '>=', 5, "should have run latex at least five times");
cmp_ok($drv->stats->{runs}{latex}, '<=', 8, "should have run latex not more than eight times");
is($drv->stats->{runs}{bibtex}, 1, "should have run bibtex once");
is($drv->stats->{runs}{makeindex}, 2, "should have run makeindex twice");
test_dvifile($drv, [ "Complex Test Document $testno", # title
'A.N. Other', # author
'20 September 2007', # date
'^Contents$', # table of contents header
'This is a test document with all features.',
'The document has 12 pages.',
'Forward Reference', # section title
'Here is a reference to page 9.',
'File Inclusion',
'Here we include another file.',
'Included File', # section title
'This is text from an included file.',
'Bibliographic Citations',
'We reference the Badger book\\[',
'^WCC03$',
'\\] and the Camel book\\[',
'^Wal03$',
'Index Term',
'Here is the definition of the index term .xyzzy.',
'^References$', # bibliography section heading
'^\\s*\\[WCC03\\]$', # the bibiographic key
'Andy Wardley, Darren Chamberlain, and Dave Cross.',
'^Index$', # Index section heading
'\\bxyzzy, 8$', # the index term
'\\bxyzzy2, 12$', # index term from the colophon
'11$', # page number 11
'Colophon$' ] );
tidy_directory($basedir, $docname, $debug)
unless $no_cleanup;
exit(0);