#!perl -Tw use Test::More tests=>9; ## methods should croak when called wrong so that MARC::Record users can ## identify the location of their mistakes. BEGIN { use_ok( "MARC::Record" ); use_ok( "MARC::Field" ); } my $record = MARC::Record->new(); isa_ok( $record, "MARC::Record" ); my $f100 = MARC::Field->new( '100', '', '', 'a' => 'author' ); isa_ok( $f100, "MARC::Field", "F100 ok" ); my $f200 = MARC::Field->new( '245', '', '', 'b' => 'title' ); isa_ok( $f200, "MARC::Field", "F200 ok" ); INSERT_FIELDS_AFTER: { eval { $n = $record->insert_fields_after( $f100, 'blah' ); }; like( $@, qr/All arguments must be MARC::Field objects/, 'insert_fields_after() croaks appropriately' ); } INSERT_FIELDS_BEFORE: { eval { $record->insert_fields_before( $f100, 'blah' ); }; like( $@, qr/All arguments must be MARC::Field objects/, 'insert_fields_before() croaks appropriately' ); } INSERT_GROUPED_FIELD: { eval { $n = $record->insert_grouped_field( 'blah' ); }; like( $@, qr/Argument must be MARC::Field object/, 'insert_grouped_field() croaks appropriately' ); } APPEND_FIELDS: { eval { $record->append_fields( 'blah' ); }; like( $@, qr/Arguments must be MARC::Field objects/, 'append_fields() croaks appropriately' ); }