X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=t%2F3-normalize.t;h=363797f85a18063efb0e10deb08a3824eb10859f;hb=5c610e9b594e5a295a2dfad9b24ead59eda74990;hp=8f0df0163948a773a5f742b37c3b1e8694ddba4f;hpb=3671af0146856725a03120c3772c824ba72c1354;p=webpac2 diff --git a/t/3-normalize.t b/t/3-normalize.t index 8f0df01..363797f 100755 --- a/t/3-normalize.t +++ b/t/3-normalize.t @@ -2,7 +2,7 @@ use strict; -use Test::More tests => 322; +use Test::More tests => 347; use Test::Exception; use Cwd qw/abs_path/; use blib; @@ -191,8 +191,16 @@ sub test_s { # simple list manipulatons cmp_ok( join('', prefix('ab', 'cd') ), 'eq', 'abcd', 'prefix'); + cmp_ok( join('-', prefix('', 'x', 'y') ), 'eq', 'x-y', 'prefix empty'); + cmp_ok( join('-', prefix(0, 'x', 'y') ), 'eq', '0x-0y', 'prefix 0'); + cmp_ok( join('', suffix('xy', 'cd') ), 'eq', 'cdxy', 'suffix'); + cmp_ok( join('-', suffix('', 'x', 'y' ) ), 'eq', 'x-y', 'suffix empty'); + cmp_ok( join('-', suffix(0, 'x', 'y' ) ), 'eq', 'x0-y0', 'suffix 0'); + cmp_ok( join('', surround('->', '<-', 'a','b','c') ), 'eq', '->a<-->b<-->c<-', 'surround'); + cmp_ok( join('-', surround('', '', 'x','y','z') ), 'eq', 'x-y-z', 'surround empty'); + cmp_ok( join('-', surround(0, 0, 'x','y','z') ), 'eq', '0x0-0y0-0z0', 'surround 0 0'); # count my @el; @@ -367,12 +375,12 @@ sub test_s { _set_rec( $rec2 ); test_s(qq{ - tag('Title', + search_display('Title', rec('200','a') ); }); test_s(qq{ - tag('Who', + search_display('Who', join_with(" ", rec('702','a'), rec('702','b') @@ -423,11 +431,16 @@ sub test_s { test_check_ds('display'); _clean_ds(); - test_s(qq{ tag('something', '42'); }); - test_s(qq{ tag('empty', ''); }); + test_s(qq{ search_display('something', '42'); }); + test_s(qq{ search_display('empty', ''); }); test_check_ds('search'); test_check_ds('display'); + _clean_ds(); + test_s(qq{ sorted('something', '42'); }); + test_s(qq{ sorted('empty', ''); }); + test_check_ds('sorted'); + _clean_ds(); my $n = read_file( "$abs_path/data/normalize.pl" ); $n .= "\n1;\n"; @@ -452,7 +465,6 @@ sub test_s { is_deeply( $ds, { 'mixed' => { 'search' => [ '200a', '200b' ], - 'tag' => 'mixed' } }, 'correct get_ds'); @@ -476,7 +488,6 @@ sub test_s { is_deeply( $ds, { 'mixed' => { 'search' => [ '200a', '200-solo' ], - 'tag' => 'mixed' } }, 'correct get_ds'); @@ -740,15 +751,20 @@ sub test_s { 'marc_duplicate', { '200' => [{ a => 42, b => 'bar', c => 'baz', d => 'bing', e => 'bong' }] }, qq{ + marc_leader('06',42); + marc_leader('11',0); marc('900', 'a', rec('200','a') ); marc('900', 'b', rec('200','b') ); marc_duplicate; + marc_leader('11',1); marc_remove('900','b'); marc('900', 'b', rec('200','c') ); marc_duplicate; + marc_leader('11',2); marc_remove('900','b'); marc('900', 'b', rec('200','d') ); marc_duplicate; + marc_leader('11',3); marc_remove('900','b'); marc('900', 'b', rec('200','e') ); }, @@ -758,6 +774,8 @@ sub test_s { ], ); + cmp_ok( marc_count(), '==', 3, 'marc_count' ); + my $i = 0; foreach my $v ( qw/bar baz bing bong/ ) { @@ -769,6 +787,7 @@ sub test_s { [ [ '900', ' ', ' ', 'a', 42, 'b', $v ] ], "MARC copy $i has $v", ); + is_deeply(WebPAC::Normalize::_get_marc_leader(), { '06' => 42, 11 => $i }, "_get_marc_leader copy $i"); $i++; } @@ -827,5 +846,22 @@ sub test_s { '^aa1^bb1^aa2^bb2^cc1^cc2', '_pack_subfields_hash( $h, 1 )' ); + + _clean_ds(); + test_s(qq{ + marc_fixed('008', 0, 'abcdef'); + marc_fixed('000', 5, '5'); + marc_fixed('000', 10, 'A'); + marc_fixed('000', 0, '0'); + }); + ok( my $m = WebPAC::Normalize::_get_marc_fields(), '_get_marc_fields'); + diag dump( $m ); + is_deeply( WebPAC::Normalize::_get_marc_fields(), + [ + ["008", "abcdef"], + # 0....5....10 + ["000", "0 5 A"] + ] + ); }