X-Git-Url: http://git.rot13.org/?p=Biblio-Isis;a=blobdiff_plain;f=t%2F2_isis.t;h=2d23c2a0a3e6563273492b3e71fea7e9c2122748;hp=1ebebe1fda0c6c19d5ca0c3fb89f59b5c9c0581a;hb=a82f5a36ffcbeaf8a8150b326ff77cb4301e0878;hpb=86563804a4162533ea711d3a9a4c053dc8574baf diff --git a/t/2_isis.t b/t/2_isis.t index 1ebebe1..2d23c2a 100755 --- a/t/2_isis.t +++ b/t/2_isis.t @@ -3,7 +3,7 @@ use strict; use blib; -use Test::More tests => 174; +use Test::More tests => 176; use File::Spec; BEGIN { @@ -246,6 +246,7 @@ __END_OF_ASCII__ ok(my $hash2 = $isis->to_hash({ mfn => $isis->mfn }), 'to_hash(mfn)'); is_deeply( $hash2, $hash, 'same hash' ); +# test to_hash( include_subfields ) ok($hash = $isis->to_hash({ mfn => $isis->mfn, include_subfields => 1 }), 'to_hash(mfn,include_subfields)'); diag "to_hash = ",Dumper( $hash ) if ($debug); is_deeply( $hash, { @@ -265,6 +266,7 @@ is_deeply( $hash, { ], }, 'hash is_deeply'); +# test to_hash( join_subfields_with ) ok($hash = $isis->to_hash({ mfn => $isis->mfn, join_subfields_with => ' ; ' }), 'to_hash(mfn,join_subfields_with)'); diag "to_hash = ",Dumper( $hash ) if ($debug); is_deeply( $hash, { @@ -278,3 +280,27 @@ is_deeply( $hash, { 902 => [{ a => "a1 ; a2 ; a3 ; a4 ; a5", b => "b1 ; b2", c => "c1" }], }, 'hash is_deeply'); +# test to_hash( hash_filter ) +ok($hash = $isis->to_hash({ mfn => $isis->mfn, hash_filter => sub { + my ($l,$f) = @_; + if ($f == 900) { + $l =~ s/0/o/g; + } elsif ($f == 901) { + $l =~ s/1/i/g; + } elsif ($f == 902) { + $l =~ s/2/s/g; + } + return $l; +}}), 'to_hash(mfn,hash_filter)'); +diag "to_hash = ",Dumper( $hash ) if ($debug); +is_deeply( $hash, { + "000" => [42], + 900 => [{ a => "9ooa", b => "9oob", c => "9ooc" }], + 901 => [ + { a => "90ia-i", b => "90ib-i", c => "90ic-i" }, + { a => "90ia-2", b => "90ib-2" }, + { a => "90ia-3" }, + ], + 902 => [{ a => ["a1", "as", "a3", "a4", "a5"], b => ["b1", "bs"], c => "c1" }], +}, 'hash is_deeply'); +