/[webpac2]/trunk/t/3-normalize-xml.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/t/3-normalize-xml.t

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 361 by dpavlin, Sun Jan 8 20:26:57 2006 UTC revision 362 by dpavlin, Sun Jan 8 20:27:01 2006 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -w  #!/usr/bin/perl -w
2    
3  use Test::More tests => 92;  use Test::More tests => 124;
4  use Test::Exception;  use Test::Exception;
5  use Cwd qw/abs_path/;  use Cwd qw/abs_path/;
6  use blib;  use blib;
# Line 163  my $import = { Line 163  my $import = {
163          ] },          ] },
164  };  };
165    
166  sub parse_test($$$$) {  sub parse_test($$$$$) {
167          my ($import,$rec,$i,$r) = @_;          my ($import,$tag,$rec,$i,$r) = @_;
168          $n->{import_xml}->{indexer} = $import;          $n->{import_xml}->{indexer} = $import;
169          # erase internal cache (yak!)          # erase internal cache (yak!)
170          delete($n->{tags_by_order});          delete($n->{tags_by_order});
# Line 172  sub parse_test($$$$) { Line 172  sub parse_test($$$$) {
172          #diag "test normalisation of: ",Dumper($n->{import_xml}->{indexer}, $rec);          #diag "test normalisation of: ",Dumper($n->{import_xml}->{indexer}, $rec);
173          ok(my $ds = $n->data_structure( $rec ), "data_structure");          ok(my $ds = $n->data_structure( $rec ), "data_structure");
174          #diag Dumper($ds);          #diag Dumper($ds);
175          cmp_ok($ds->{Tag}->{display}->[$i], 'eq', $r, "parse $i: $r");          cmp_ok($ds->{$tag}->{display}->[$i], 'eq', $r, "parse $tag/$i - $r");
176  }  }
177    
178  parse_test($import, $rec, 0, '1 + 2 = 3 [yap]');  parse_test($import, 'Tag', $rec, 0, '1 + 2 = 3 [yap]');
179    
180  delete($rec->{'900'}->[0]->{'b'});  delete($rec->{'900'}->[0]->{'b'});
181  parse_test($import, $rec, 0, '1 = 3 [yap]');  parse_test($import, 'Tag', $rec, 0, '1 = 3 [yap]');
182    
183  $rec->{'900'}->[0]->{'b'} = 5;  $rec->{'900'}->[0]->{'b'} = 5;
184  $rec->{'900'}->[0]->{'c'} = 6;  $rec->{'900'}->[0]->{'c'} = 6;
185  parse_test($import, $rec, 0, '1 + 5 = 6 [yap]');  parse_test($import, 'Tag', $rec, 0, '1 + 5 = 6 [yap]');
186    
187  delete($rec->{'900'}->[0]->{'c'});  delete($rec->{'900'}->[0]->{'c'});
188  $rec->{'900'}->[0]->{'x'} = 'hmmm';  $rec->{'900'}->[0]->{'x'} = 'hmmm';
189  parse_test($import, $rec, 0, '1 + 5 [hmmm]');  parse_test($import, 'Tag', $rec, 0, '1 + 5 [hmmm]');
190    
191  $rec->{'900'}->[0]->{'x'} = 'nope!';  $rec->{'900'}->[0]->{'x'} = 'nope!';
192  delete($rec->{'900'}->[0]->{'a'});  delete($rec->{'900'}->[0]->{'a'});
193  parse_test($import, $rec, 0, '5 [nope!]');  parse_test($import, 'Tag', $rec, 0, '5 [nope!]');
194    
195  $rec = {  $rec = {
196          '900' => [ {          '900' => [ {
# Line 218  my $import = { Line 218  my $import = {
218          ] },          ] },
219  };  };
220    
221  parse_test($import, $rec, 0, '0 b1 3 b1 4');  parse_test($import, 'Tag', $rec, 0, '0 b1 3 b1 4');
222  parse_test($import, $rec, 1, '0 a1 1 b2 3 a1_b2 4');  parse_test($import, 'Tag', $rec, 1, '0 a1 1 b2 3 a1_b2 4');
223  parse_test($import, $rec, 2, '0 b3 2 c1 3 b3_c1 4');  parse_test($import, 'Tag', $rec, 2, '0 b3 2 c1 3 b3_c1 4');
224  parse_test($import, $rec, 3, '0 a2 1 b4 2 c2 3 a2_b4_c2 4');  parse_test($import, 'Tag', $rec, 3, '0 a2 1 b4 2 c2 3 a2_b4_c2 4');
225    
226    sub parse_test_arr($$$$) {
227            my ($import, $tag, $rec, $arr) = @_;
228            my $i = 0;
229            foreach my $res (@{$arr}) {
230                    parse_test($import, $tag, $rec, $i, $res);
231                    $i++;
232            }
233    }
234    
235    my $import = {
236            'Tag_a' => { 'isis' => [
237                    { content => 'v900^a' },
238            ] },
239            'Tag_b' => { 'isis' => [
240                    { content => 'v900^b' },
241            ] },
242            'Tag_c' => { 'isis' => [
243                    { content => 'v900^c' },
244            ] },
245            'Tag_x' => { 'isis' => [
246                    { content => 'v900^x' },
247            ] },
248    };
249    
250    parse_test_arr($import, 'Tag_a', $rec, [ '','a1','','a2' ] );
251    parse_test_arr($import, 'Tag_b', $rec, [ 'b1','b2','b3','b4' ] );
252    parse_test_arr($import, 'Tag_c', $rec, [ '','','c1','c2' ] );
253    parse_test_arr($import, 'Tag_x', $rec, [ 'b1','a1_b2','b3_c1','a2_b4_c2' ] );
254    

Legend:
Removed from v.361  
changed lines
  Added in v.362

  ViewVC Help
Powered by ViewVC 1.1.26