2 |
|
|
3 |
use strict; |
use strict; |
4 |
|
|
5 |
use Test::More tests => 150; |
use Test::More tests => 157; |
6 |
use Test::Exception; |
use Test::Exception; |
7 |
use Cwd qw/abs_path/; |
use Cwd qw/abs_path/; |
8 |
use blib; |
use blib; |
644 |
); |
); |
645 |
$i++; |
$i++; |
646 |
} |
} |
647 |
|
|
648 |
|
test_rec_rules( |
649 |
|
'marc_original_order', |
650 |
|
{ |
651 |
|
'200' => [ { |
652 |
|
a => [ 'a1', 'a2' ], b => [ 'b1', 'b2' ], c => [ 'c1', 'c2' ], |
653 |
|
subfields => [ qw/a 0 b 0 a 1 b 1 c 0 c 1/ ], |
654 |
|
}, { |
655 |
|
a => [ 'a3', 'a4', 'a5' ], b => 'b3', c => 'c3', |
656 |
|
subfields => [ qw/a 0 a 1 b 0 c 0 a 2/ ], |
657 |
|
} ], |
658 |
|
}, |
659 |
|
qq{ |
660 |
|
marc_original_order(900,200); |
661 |
|
}, |
662 |
|
[ |
663 |
|
[ '900', ' ', ' ', 'a', 'a1', 'b', 'b1', 'a', 'a2', 'b', 'b2', 'c', 'c1', 'c', 'c2', ], |
664 |
|
[ '900', ' ', ' ', 'a', 'a3', 'a', 'a4', 'b', 'b3', 'c', 'c3', 'a', 'a5', ], |
665 |
|
], |
666 |
|
); |
667 |
|
|
668 |
|
test_rule( |
669 |
|
'rec1 skips subfields', |
670 |
|
{ |
671 |
|
'200' => [ { |
672 |
|
a => [ 'a1', 'a2' ], b => [ 'b1', 'b2' ], c => [ 'c1', 'c2' ], |
673 |
|
subfields => [ qw/a 0 b 0 a 1 b 1 c 0 c 1/ ], |
674 |
|
}, { |
675 |
|
a => [ 'a3', 'a4', 'a5' ], b => 'b3', c => 'c3', |
676 |
|
subfields => [ qw/a 0 a 1 b 0 c 0 a 2/ ], |
677 |
|
} ], |
678 |
|
}, |
679 |
|
qq{ |
680 |
|
rec1(200); |
681 |
|
}, |
682 |
|
['a1', 'b1', 'a2', 'b2', 'c1', 'c2', 'a3', 'a4', 'b3', 'c3', 'a5' ], |
683 |
|
); |
684 |
|
|
685 |
|
is_deeply( |
686 |
|
[ _pack_subfields_hash({ |
687 |
|
a => [ 'a1', 'a2' ], b => [ 'b1', 'b2' ], c => [ 'c1', 'c2' ], |
688 |
|
subfields => [ qw/a 0 b 0 a 1 b 1 c 0 c 1/ ], |
689 |
|
}) ], |
690 |
|
['a1', 'b1', 'a2', 'b2', 'c1', 'c2'], |
691 |
|
'_pack_subfields_hash( $h )' |
692 |
|
); |
693 |
|
|
694 |
|
cmp_ok( |
695 |
|
_pack_subfields_hash({ |
696 |
|
a => [ 'a1', 'a2' ], b => [ 'b1', 'b2' ], c => [ 'c1', 'c2' ], |
697 |
|
subfields => [ qw/a 0 b 0 a 1 b 1 c 0 c 1/ ], |
698 |
|
}, 1), |
699 |
|
'eq', |
700 |
|
'^aa1^bb1^aa2^bb2^cc1^cc2', |
701 |
|
'_pack_subfields_hash( $h, 1 )' |
702 |
|
); |
703 |
} |
} |
704 |
|
|