--- trunk/t/3-normalize-marc.t 2007/11/12 12:13:57 1039 +++ trunk/t/3-normalize-marc.t 2008/08/31 09:14:18 1108 @@ -3,7 +3,7 @@ use strict; use blib; -use Test::More tests => 188; +use Test::More tests => 325; BEGIN { use_ok( 'WebPAC::Test' ); @@ -49,6 +49,8 @@ 'v' => 'v-8-1', },{ 'v' => 'v-9-1', + },{ + 'v' => '0', }], }; @@ -58,6 +60,8 @@ ok( _clean_ds(), '_clean_ds' ); ok( _set_ds( $rec ), '_set_ds' ); + ok( marc_indicators( 440, '0', '1' ), 'marc_indicators' ); + ok( marc_template( from => 225, to => 440, subfields_rename => [ @@ -85,19 +89,22 @@ ok(my $marc = WebPAC::Normalize::MARC::_get_marc_fields(), "_get_marc_fields"); diag " _get_marc_fields = ",dump( $marc ) if $debug; + ok( marc_indicators( 440, 'x', 'y' ), 'marc_indicators' ); + return $marc; } my $marc_out = [ - [440, " ", " ", "a", "a-1-1, ", "x", "x-1-1 ; ", "v", "v-1-1. ", "n", "h-1-1, ", "p", "i-1-1 ; ", "v", "w-1-1"], - [440, " ", " ", "a", "a-2-1 ; ", "v", "v-2-1. ", "p", "i-2-1"], - [440, " ", " ", "a", "a-3-1 ; ", "v", "v-3-1. ", "p", "i-3-1"], - [440, " ", " ", "a", "a-4-1 ; ", "v", "v-4-1. ", "p", "i-4-1 ; ", "v", "w-4-1"], - [440, " ", " ", "a", "a-5-1 ; ", "v", "v-5-1. ", "p", "i-5-1"], - [440, " ", " ", "a", "a-6-1. ", "p", "i-6-1 ; ", "v", "w-6-1"], - [440, " ", " ", "a", "a-7-1"], - [440, " ", " ", "a", "a-8-1 ;", "v", "v-8-1"], - [440, " ", " ", "v", "v-9-1"], + [440, "0", "1", "a", "a-1-1, ", "x", "x-1-1 ; ", "v", "v-1-1. ", "n", "h-1-1, ", "p", "i-1-1 ; ", "v", "w-1-1"], + [440, "0", "1", "a", "a-2-1 ; ", "v", "v-2-1. ", "p", "i-2-1"], + [440, "0", "1", "a", "a-3-1 ; ", "v", "v-3-1. ", "p", "i-3-1"], + [440, "0", "1", "a", "a-4-1 ; ", "v", "v-4-1. ", "p", "i-4-1 ; ", "v", "w-4-1"], + [440, "0", "1", "a", "a-5-1 ; ", "v", "v-5-1. ", "p", "i-5-1"], + [440, "0", "1", "a", "a-6-1. ", "p", "i-6-1 ; ", "v", "w-6-1"], + [440, "0", "1", "a", "a-7-1"], + [440, "0", "1", "a", "a-8-1 ;", "v", "v-8-1"], + [440, "0", "1", "v", "v-9-1"], + [440, 0, 1, "v", 0], ]; is_deeply( test_marc_template($rec), $marc_out , 'is_deeply'); @@ -120,3 +127,25 @@ } } + +sub test_marc_clone { + my $rec = shift; + + ok( _clean_ds(), '_clean_ds' ); + ok( _set_ds( $rec ), '_set_ds' ); + + ok( marc_clone, 'marc_clone' ); + + ok(my $marc = WebPAC::Normalize::MARC::_get_marc_fields(), "_get_marc_fields"); + diag "rec = ",dump( $rec ); + diag "marc = ",dump( $marc ); + + is_deeply( $rec, $marc, 'same' ); + +} + +test_marc_clone( { + '900' => [{ 'a' => '900a', 'b' => '900b', subfields => [ qw/a 0 b 0/ ] }], + '901' => [{ 'c' => '901c', subfields => [ qw/c 0/ ] }], +} ); +