Add test case for checking titles that have a diacritical in the title.
authordjfiander <djfiander>
Fri, 25 Aug 2006 01:23:11 +0000 (01:23 +0000)
committerdjfiander <djfiander>
Fri, 25 Aug 2006 01:23:11 +0000 (01:23 +0000)
t/03checkout.t
t/SIPtest.pm

index 1d4c1f1..af05b68 100644 (file)
@@ -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);
 
index aa9b87b..03a9d3e 100644 (file)
@@ -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