summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/bibtex/biber/t/00-options.t
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/bibtex/biber/t/00-options.t')
-rwxr-xr-xMaster/texmf-dist/source/bibtex/biber/t/00-options.t102
1 files changed, 102 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/bibtex/biber/t/00-options.t b/Master/texmf-dist/source/bibtex/biber/t/00-options.t
new file mode 100755
index 00000000000..d9212b93e38
--- /dev/null
+++ b/Master/texmf-dist/source/bibtex/biber/t/00-options.t
@@ -0,0 +1,102 @@
+use strict;
+use warnings;
+use utf8;
+no warnings 'utf8' ;
+
+use Test::More tests => 7;
+
+use Biber;
+use Biber::Output::BBL;
+use Log::Log4perl qw(:easy);
+Log::Log4perl->easy_init($ERROR);
+chdir("t/tdata") ;
+
+# Set up Biber object
+my $biber = Biber->new(noconf => 1);
+$biber->parse_ctrlfile('options.bcf');
+$biber->set_output_obj(Biber::Output::BBL->new());
+
+# Options - we could set these in the control file but it's nice to see what we're
+# relying on here for tests
+
+# Biber options
+Biber::Config->setoption('fastsort', 1);
+Biber::Config->setoption('sortlocale', 'C');
+
+# Biblatex options
+Biber::Config->setblxoption('labelyearspec', [ 'year' ]);
+
+# Now generate the information
+$biber->prepare;
+my $out = $biber->get_output_obj;
+my $section = $biber->sections->get_section(0);
+my $main = $section->get_list('MAIN');
+my $bibentries = $section->bibentries;
+
+my $dmv = [
+ [
+ {'presort' => {}},
+ {'mm' => {}},
+ ],
+ [
+ {'sortkey' => {'final' => 1}}
+ ],
+ [
+ {'sortname' => {}},
+ {'author' => {}},
+ {'editor' => {}},
+ {'translator' => {}},
+ {'sorttitle' => {}},
+ {'title' => {}}
+ ],
+ [
+ {'sorttitle' => {}},
+ {'title' => {}}
+ ],
+ [
+ {'sortyear' => {}},
+ {'year' => {}}
+ ],
+ [
+ {'volume' => {}},
+ {'0000' => {}}
+ ]
+ ];
+
+my $bln = [ 'author', 'editor' ];
+
+my $l1 = q| \entry{L1}{book}{}
+ \name{labelname}{1}{%
+ {{Doe}{D.}{John}{J.}{}{}{}{}}%
+ }
+ \name{author}{1}{%
+ {{Doe}{D.}{John}{J.}{}{}{}{}}%
+ }
+ \list{publisher}{1}{%
+ {Oxford}%
+ }
+ \strng{namehash}{DJ1}
+ \strng{fullhash}{DJ1}
+ \field{sortinit}{D}
+ \field{labelyear}{1998}
+ \count{uniquename}{0}
+ \field{day}{05}
+ \field{month}{04}
+ \field{origday}{30}
+ \field{origmonth}{10}
+ \field{origyear}{1985}
+ \field{title}{Title 1}
+ \field{year}{1998}
+ \endentry
+
+|;
+
+ok(Biber::Config->getblxoption('uniquename') == 1, "Single-valued option") ;
+is_deeply(Biber::Config->getblxoption('labelnamespec'), [ 'author' ], "Multi-valued options");
+ok(Biber::Config->getoption('mincrossrefs') == 88, "Setting Biber options via control file");
+ok(Biber::Config->getblxoption('useprefix', 'book') == 1 , "Per-type single-valued options");
+is_deeply(Biber::Config->getblxoption('labelnamespec', 'book'), $bln, "Per-type multi-valued options");
+is($bibentries->entry('l1')->get_field('labelyearname'), 'year', 'Global labelyear setting' ) ;
+is( $out->get_output_entry($main,'l1'), $l1, 'Global labelyear setting - labelyear should be YEAR') ;
+
+unlink <*.utf8>;