From de0cbd3956ed58d0c8714a2eb44cfeffe590fa45 Mon Sep 17 00:00:00 2001 From: djfiander Date: Fri, 25 Aug 2006 01:23:11 +0000 Subject: [PATCH] Add test case for checking titles that have a diacritical in the title. --- t/03checkout.t | 28 +++++++++++++++++++++++++++- t/SIPtest.pm | 9 ++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/t/03checkout.t b/t/03checkout.t index 1d4c1f1..af05b68 100644 --- a/t/03checkout.t +++ b/t/03checkout.t @@ -8,7 +8,9 @@ use Clone qw(clone); use Sip::Constants qw(:all); use SIPtest qw($datepat $textpat $instid $currency $user_barcode - $item_barcode $item_title); + $item_barcode $item_title + $item_diacritic_barcode $item_diacritic_title + $item_diacritic_owner); my $patron_enable_template = { id => 'Renew All: prep: enable patron permissions', @@ -97,6 +99,30 @@ my $test; push @tests, $checkin_template; +# Valid Patron, item with diacritical in the title +$test = clone($checkout_test_template); + +$test->{id} = 'Checkout: valid patron, diacritical character in title'; +$test->{msg} =~ s/AB$item_barcode/AB$item_diacritic_barcode/; + +foreach my $i (0 .. (scalar @{$test->{fields}})-1) { + my $field = $test->{fields}[$i]; + + if ($field->{field} eq FID_ITEM_ID) { + $field->{pat} = qr/^$item_diacritic_barcode$/; + } elsif ($field->{field} eq FID_TITLE_ID) { + $field->{pat} = qr/^$item_diacritic_title$/; + } elsif ($field->{field} eq FID_OWNER) { + $field->{pat} = qr/^$item_diacritic_owner$/; + } +} + +push @tests, $test; + +$test = clone($checkin_template); +$test->{msg} =~ s/AB$item_barcode/AB$item_diacritic_barcode/; +push @tests, $test; + # Valid Patron, Invalid Item_id $test = clone($checkout_test_template); diff --git a/t/SIPtest.pm b/t/SIPtest.pm index aa9b87b..03a9d3e 100644 --- a/t/SIPtest.pm +++ b/t/SIPtest.pm @@ -17,7 +17,9 @@ our @EXPORT_OK = qw(run_sip_tests no_tagged_fields $user_email $user_phone $user_birthday $user_ptype $user_inet $item_barcode $item_title $item_owner - $item2_barcode $item2_title $item2_owner); + $item2_barcode $item2_title $item2_owner + $item_diacritic_barcode $item_diacritic_title + $item_diacritic_owner); #use Data::Dumper; # The number of tests is set in run_sip_tests() below, based @@ -64,6 +66,11 @@ our $item2_barcode = '0440242746'; our $item2_title = 'The deep blue alibi'; our $item2_owner = 'UWOLS'; +# An item with a diacritical in the title +our $item_diacritic_barcode = '660'; +our $item_diacritic_title = 'Harry Potter y el cáliz de fuego'; +our $item_diacritic_owner = 'UWOLS'; + # End configuration # Pattern for a SIP datestamp, to be used by individual tests to -- 2.11.0