#!/usr/bin/perl ## make sure all repeated fields are processed when ## one of them have problems. use strict; use warnings; use Test::More qw( no_plan ); use MARC::Record; use_ok( 'MARC::Detrans' ); use_ok( 'MARC::Detrans::Rules' ); use_ok( 'MARC::Detrans::Rule' ); use_ok( 'MARC::Detrans::Config' ); my $engine = MARC::Detrans->new( config => 't/testconfig.xml' ); OK: { my $r = MARC::Record->new(); $r->append_fields( MARC::Field->new( '008', ' ' x 35 . 'rus' ), MARC::Field->new( '440', ' ', ' ', a => 'a' ), MARC::Field->new( '440', ' ', ' ', a => 'b' ) ); $r = $engine->convert( $r ); is( $engine->errors(), 0, 'errors()' ); is( $r->fields(), 6, 'expected amt of fields' ); } NOT_OK: { my $r = MARC::Record->new(); $r->append_fields( MARC::Field->new( '008', ' ' x 35 . 'rus' ), MARC::Field->new( '440', ' ', ' ', a => 'j' ), MARC::Field->new( '440', ' ', ' ', a => 'a' ) ); $r = $engine->convert( $r ); is( $engine->errors(), 1, 'errors()' ); is( $r->fields(), 5, 'expected amount of fields' ); }