r12231@llin: dpavlin | 2005-12-23 23:19:04 +0100
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 23 Dec 2005 21:17:37 +0000 (21:17 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 23 Dec 2005 21:17:37 +0000 (21:17 +0000)
 fix test to show bug in parsing (not hiding first delimiter if first field
 is missing in input record)

git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@315 07558da8-63fa-0310-ba24-9fe276d99e06

t/3-normalize-xml.t

index 1324a91..aaddad7 100755 (executable)
@@ -149,18 +149,17 @@ $n->{tag} = 'isis';
 
 
 $rec = {
- '900' => [
-            {
-              'a' => '1',
-              'b' => '2',
-              'c' => '3',
-            }
-  ],
+       '900' => [ {
+               'a' => '1',
+               'b' => '2',
+               'c' => '3',
+               'txt' => 'yap',
+       } ],
 };
 
 my $import = {
        'Tag' => { 'isis' => [
-                       { content => 'v900^a + v900^b = v900^c' },
+                       { content => 'v900^a + v900^b = v900^c [txt]' },
        ] },
 };
 
@@ -169,11 +168,26 @@ sub parse_test($$$) {
        $n->{import_xml}->{indexer} = $import;
        # erase internal cache (yak!)
        delete($n->{tags_by_order});
-       push @{$rec->{'000'}}, 42;
+       push @{$rec->{'000'}}, 42 unless ($rec->{'000'});
        diag "test normalisation of: ",Dumper($n->{import_xml}->{indexer}, $rec);
        ok(my $ds = $n->data_structure( $rec ), "data_structure");
        diag Dumper($ds);
        cmp_ok($ds->{Tag}->{display}->[0], 'eq', $r, "parse $r");
 }
 
-parse_test($import, $rec, '1 + 2 = 3');
+parse_test($import, $rec, '1 + 2 = 3 [yap]');
+
+delete($rec->{'900'}->[0]->{'b'});
+parse_test($import, $rec, '1 = 3 [yap]');
+
+$rec->{'900'}->[0]->{'b'} = 5;
+$rec->{'900'}->[0]->{'c'} = 6;
+parse_test($import, $rec, '1 + 5 = 6 [yap]');
+
+delete($rec->{'900'}->[0]->{'c'});
+parse_test($import, $rec, '1 + 5');
+
+$rec->{'900'}->[0]->{'txt'} = 'nope!';
+delete($rec->{'900'}->[0]->{'a'});
+parse_test($import, $rec, '5 [nope!]');
+