1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
#!/bin/perl -W
#******************************************************************************
# $Id: extract_file.t,v 1.2 2012-04-02 13:18:52 gene Exp $
# =============================================================================
#
# This file is part of BibTool.
# It is distributed under the GNU General Public License.
# See the file COPYING for details.
#
# (c) 2011-2012 Gerd Neugebauer
#
# Net: gene@gerd-neugebauer.de
#
#*=============================================================================
=head1 NAME
extract_file.t - Test suite for BibTool extract.file.
=head1 SYNOPSIS
extract_file.t
=head1 DESCRIPTION
This module contains some test cases. Running this module as program
will run all test cases and print a summary for each. Optionally files
*.out and *.err are left if the expected result does not match the
actual result.
=head1 OPTIONS
none
=head1 AUTHOR
Gerd Neugebauer
=cut
use strict;
use BUnit;
#------------------------------------------------------------------------------
BUnit::run(name => '_x_1',
args => '-x xyzzy',
expected_out => '',
expected_err => <<__EOF__,
*** BibTool ERROR: aux file xyzzy not found.
__EOF__
);
#------------------------------------------------------------------------------
BUnit::run(name => '_x_2',
args => '-x _xyzzy.aux',
prepare => sub {
my $fd = new FileHandle("_xyzzy.aux",'w') || die "_xyzzy.aux: $!\n";
print $fd <<__EOF__;
\\citation{whole-collection}
\\bibstyle{alpha}
\\bibdata{bib/xampl_s.bib}
__EOF__
$fd->close();
},
post => sub {
unlink('_xyzzy.aux');
},
expected_err => '',
expected_out => <<__EOF__,
\@Book{ whole-collection,
title = ""
}
__EOF__
);
#------------------------------------------------------------------------------
BUnit::run(name => 'extract_file_1',
args => '-- \'extract.file={xyzzy}\'',
expected_out => '',
expected_err => <<__EOF__,
*** BibTool ERROR: aux file xyzzy not found.
__EOF__
);
#------------------------------------------------------------------------------
BUnit::run(name => 'extract_file_2',
args => '-- \'extract.file={_xyzzy.aux}\'',
prepare => sub {
my $fd = new FileHandle("_xyzzy.aux",'w') || die "_xyzzy.aux: $!\n";
print $fd <<__EOF__;
\\citation{whole-collection}
\\bibstyle{alpha}
\\bibdata{bib/xampl_s.bib}
__EOF__
$fd->close();
},
post => sub {
unlink('_xyzzy.aux');
},
expected_err => '',
expected_out => <<__EOF__,
\@STRING{acm = "The OX Association for Computing Machinery" }
\@STRING{stoc = " Symposium on the Theory of Computing" }
\@STRING{stoc-key= "OX" }
\@Book{ whole-collection,
title = ""
}
__EOF__
);
#------------------------------------------------------------------------------
BUnit::run(name => 'extract_file_3',
args => '-- \'extract.file={_xyzzy.aux}\'',
prepare => sub {
my $fd = new FileHandle("_xyzzy.aux",'w') || die "_xyzzy.aux: $!\n";
print $fd <<__EOF__;
\\citation{a}
\\bibstyle{alpha}
\\bibdata{_test.bib}
__EOF__
$fd->close();
$fd = new FileHandle("_test.bib",'w') || die "_test.bib: $!\n";
print $fd <<__EOF__;
\@string{sss="T" # t}
\@string{t="ttt"#t2}
\@string{t2="ttt"}
\@Article{ a,
author = sss,
}
__EOF__
$fd->close();
},
post => sub {
unlink('_xyzzy.aux');
unlink('_test.aux');
},
expected_err => '',
expected_out => <<__EOF__,
\@STRING{t = "ttt" # t2 }
\@STRING{t2 = "ttt" }
\@STRING{sss = "T" # t }
\@Article{ a,
author = sss
}
__EOF__
);
1;
#------------------------------------------------------------------------------
# Local Variables:
# mode: perl
# End:
|