--- trunk/t/3-normalize.t 2006/06/29 23:19:26 547 +++ trunk/t/3-normalize.t 2006/06/30 18:48:33 550 @@ -2,13 +2,13 @@ use strict; -use Test::More tests => 75; +use Test::More tests => 81; use Test::Exception; use Cwd qw/abs_path/; use blib; use File::Slurp; -use Data::Dumper; +use Data::Dump qw/dump/; my $debug = shift @ARGV; BEGIN { @@ -109,7 +109,7 @@ sub test { - print Dumper( @_ ), ("-" x 78), "\n"; + print dump( @_ ), ("-" x 78), "\n"; ok( defined(@_) ); } @@ -256,7 +256,7 @@ }); ok(my $ds = _get_ds(), "get_ds"); - diag "ds = ", Dumper($ds) if ($debug); + diag "ds = ", dump($ds) if ($debug); sub test_check_ds { @@ -264,7 +264,7 @@ my $t = shift; ok($ds = _get_ds(), 'get_ds'); - diag Dumper( $ds ) if ($debug); + diag dump( $ds ) if ($debug); ok( $ds && $ds->{something}, 'get_ds->something exists' ); ok( $ds && $ds->{something}->{$t}, 'get_ds->something->'.$t.' exists') if ($t); @@ -296,7 +296,7 @@ test_s( $n ); ok($ds = _get_ds(), "get_ds"); - diag "ds = ", Dumper($ds) if ($debug); + diag "ds = ", dump($ds) if ($debug); my $rec = { '200' => [{ @@ -346,6 +346,7 @@ test_s(qq{ marc('900','a', rec('200') ) }); my @marc; ok(@marc = WebPAC::Normalize::_get_marc_fields(), "_get_marc_fields"); + diag dump( \@marc ) if ($debug); is_deeply( \@marc, [ [ '900', 1, 2, 'a', '200a' ], @@ -356,10 +357,40 @@ test_s(qq{ marc_repeatable_subfield('900','a', rec('200') ) }); ok(@marc = WebPAC::Normalize::_get_marc_fields(), "_get_marc_fields"); + diag dump( \@marc ) if ($debug); is_deeply( \@marc, [ [ '900', 1, 2, 'a', '200a', 'a', '200-solo' ], [ '900', ' ', 9, 'a', '200a', 'a', '200-solo' ] ], 'correct marc with repetable subfield'); + + _clean_ds(); + _set_rec({ + '200' => [{ + 'a' => '200a-1', + 'b' => '200b-1', + 'c' => '200c-1', + }, { + 'a' => '200a-2', + 'b' => '200b-2', + 'c' => '200c-2', + }, { + 'a' => '200a-3', + 'c' => '200c-3', + }] + }); + test_s(qq{ marc_indicators('900',1 ,0) }); + test_s(qq{ marc_repeatable_subfield('900','a', rec('200','a') ) }); + test_s(qq{ marc('900','b', rec('200','b') ) }); + test_s(qq{ marc('900','c', rec('200','c') ) }); + + ok(@marc = WebPAC::Normalize::_get_marc_fields(), "_get_marc_fields"); + diag dump( \@marc ) if ($debug); + + is_deeply( \@marc, [ + [ '900', 1, 0, 'a', '200a-1', 'a', '200a-2', 'a', '200a-3', 'b', '200b-1', 'c', '200c-1' ], + [ '900', 1, 0, 'b', '200b-2', 'c', '200c-2' ], + [ '900', 1, 0, 'c', '200c-3' ], + ], 'correct marc with repetable subfield'); }