/[webpac2]/trunk/t/3-normalize.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.t

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

revision 912 by dpavlin, Tue Oct 30 17:40:13 2007 UTC revision 983 by dpavlin, Sun Nov 4 11:12:38 2007 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -w  #!/usr/bin/perl -w
2    
3  use strict;  use strict;
   
 use Test::More tests => 341;  
 use Test::Exception;  
 use Cwd qw/abs_path/;  
4  use blib;  use blib;
5  use File::Slurp;  
6  use Getopt::Long;  use Test::More tests => 352;
7    
8  BEGIN {  BEGIN {
9            use_ok( 'WebPAC::Test' );
10          use_ok( 'WebPAC::Normalize' );          use_ok( 'WebPAC::Normalize' );
11  }  }
12    
 use Data::Dump qw/dump/;  
   
 my $debug = 0;  
 GetOptions(  
         "debug+", \$debug  
 );  
   
13  cmp_ok(_debug(1), '==', 1, '_debug level');  cmp_ok(_debug(1), '==', 1, '_debug level');
14  cmp_ok(_debug(0), '==', 0, '_debug level');  cmp_ok(_debug(0), '==', 0, '_debug level');
15    
# Line 28  if ($debug > 2) { Line 18  if ($debug > 2) {
18          diag "debug level for WebPAC::Normalize is ", _debug( $debug - 2 );          diag "debug level for WebPAC::Normalize is ", _debug( $debug - 2 );
19  }  }
20    
 ok(my $abs_path = abs_path($0), "abs_path");  
 $abs_path =~ s#/[^/]*$#/#;  
 diag "abs_path: $abs_path" if ($debug);  
   
21  my $rec1 = {  my $rec1 = {
22          '200' => [{          '200' => [{
23                  'a' => '200a',                  'a' => '200a',
# Line 176  sub test_s { Line 162  sub test_s {
162    
163          ok(! _set_lookup( undef ), "set_lookup(undef)");          ok(! _set_lookup( undef ), "set_lookup(undef)");
164    
165          _set_rec( $rec1 );          _set_ds( $rec1 );
166    
167            is_deeply( get_ds, $rec1, 'get_ds' );
168    
169          cmp_ok( join(",", rec2('200','a') ), 'eq', '200a,200a*2', 'join rec2' );          cmp_ok( join(",", rec2('200','a') ), 'eq', '200a,200a*2', 'join rec2' );
170          cmp_ok( join(",", rec2('200','a'), rec2('200','b') ), 'eq', '200a,200a*2,200b', 'join rec2 rec2' );          cmp_ok( join(",", rec2('200','a'), rec2('200','b') ), 'eq', '200a,200a*2,200b', 'join rec2 rec2' );
# Line 372  sub test_s { Line 360  sub test_s {
360    
361          #ok(! lookup('non-existent'), 'lookup non-existant' );          #ok(! lookup('non-existent'), 'lookup non-existant' );
362    
363          _set_rec( $rec2 );          _set_ds( $rec2 );
364    
365          test_s(qq{          test_s(qq{
366                  search_display('Title',                  search_display('Title',
# Line 437  sub test_s { Line 425  sub test_s {
425          test_check_ds('display');          test_check_ds('display');
426    
427          _clean_ds();          _clean_ds();
428            test_s(qq{ sorted('something', '42'); });
429            test_s(qq{ sorted('empty', ''); });
430            test_check_ds('sorted');
431    
432            _clean_ds();
433          my $n = read_file( "$abs_path/data/normalize.pl" );          my $n = read_file( "$abs_path/data/normalize.pl" );
434          $n .= "\n1;\n";          $n .= "\n1;\n";
435          #diag "normalize code:\n$n\n";          #diag "normalize code:\n$n\n";
# Line 454  sub test_s { Line 447  sub test_s {
447          my $rules = qq{ search('mixed', rec('200') ) };          my $rules = qq{ search('mixed', rec('200') ) };
448                    
449          _clean_ds();          _clean_ds();
450          _set_rec( $rec );          _set_ds( $rec );
451          test_s( $rules );          test_s( $rules );
452          ok($ds = _get_ds(), "get_ds");          ok($ds = _get_ds(), "get_ds");
453          is_deeply( $ds, {          is_deeply( $ds, {
# Line 471  sub test_s { Line 464  sub test_s {
464    
465          # wird and non-valid structure which is supported anyway          # wird and non-valid structure which is supported anyway
466          _clean_ds();          _clean_ds();
467          _set_rec({          _set_ds({
468                  '200' => [{                  '200' => [{
469                          'a' => '200a',                          'a' => '200a',
470                  },                  },
# Line 521  sub test_s { Line 514  sub test_s {
514                  my ($msg, $rec, $rules, $struct) = @_;                  my ($msg, $rec, $rules, $struct) = @_;
515    
516                  _clean_ds();                  _clean_ds();
517                  _set_rec($rec);                  _set_ds($rec);
518    
519                  foreach my $r (split(/;/, $rules)) {                  foreach my $r (split(/;/, $rules)) {
520                          $r =~ s/[\s\n\r]+/ /gs;                          $r =~ s/[\s\n\r]+/ /gs;
# Line 630  sub test_s { Line 623  sub test_s {
623          sub test_rule {          sub test_rule {
624                  my ($msg, $rec, $rule, $struct) = @_;                  my ($msg, $rec, $rule, $struct) = @_;
625                  _clean_ds();                  _clean_ds();
626                  _set_rec( $rec );                  _set_ds( $rec );
627                  $rule =~ s/\\/\\/gs;                  $rule =~ s/\\/\\/gs;
628                  my $r = test_s( $rule );                  my $r = test_s( $rule );
629                  diag "for ", dump($rec), " got:\n", dump($r), "\nexpect:\n" if ($debug > 1);                  diag "for ", dump($rec), " got:\n", dump($r), "\nexpect:\n" if ($debug > 1);
# Line 858  sub test_s { Line 851  sub test_s {
851                          ["000", "0    5    A"]                          ["000", "0    5    A"]
852                  ]                  ]
853          );          );
854    
855            test_s(qq{ isbn_13( '1558607013', '978-1558607019' ) });
856            test_s(qq{ isbn_10( '1558607013', '978-1558607019' ) });
857    
858            is_deeply(
859                    [ isbn_13( '1558607013', '978-1558607019' ) ],
860                    [ '978-1-55860-701-9', '978-1-55860-701-9', ],
861            'isbn_13' );
862    
863            is_deeply(
864                    [ isbn_10( '1558607013', '978-1558607019' ) ],
865                    [ '1-55860-701-3', '1-55860-701-3' ],
866            'isbn_10' );
867    
868  }  }
869    

Legend:
Removed from v.912  
changed lines
  Added in v.983

  ViewVC Help
Powered by ViewVC 1.1.26