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

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

revision 468 by dpavlin, Sat May 13 09:48:15 2006 UTC revision 471 by dpavlin, Sat May 13 12:07:37 2006 UTC
# Line 113  sub test { Line 113  sub test {
113          ok( defined(@_) );          ok( defined(@_) );
114  }  }
115    
116    # how much of string evaled to display?
117    my $max_eval_output = 170;
118    
119    sub dump_error {
120            my ($msg,$code) = @_;
121    
122            my @l = split(/[\n\r]/, $code);
123            my $out = "$msg\n";
124    
125            foreach my $i ( 0 .. $#l ) {
126                    $out .= sprintf("%2d: %s\n", $i, $l[$i]);
127            }
128    
129            return $out;
130    }
131    
132  sub test_s {  sub test_s {
133          my $t = shift || die;          my $t = shift || die;
134          $t =~ s/[\n\r\s]+/ /gs;  
135          ok(my $v = eval "$t", "eval: $t");          my $eval_t = $t;
136          ok(! $@, $@ ? "error: $@" : "no error");          $eval_t =~ s/[\n\r\s]+/ /gs;
137            $eval_t = substr($eval_t,0,$max_eval_output) . '...' if (length($eval_t) > $max_eval_output);
138    
139            eval "$t";
140            ok(! $@, $@ ? dump_error($@, $t) : "eval: $eval_t");
141  }  }
142    
143  {  {
# Line 126  sub test_s { Line 146  sub test_s {
146    
147          set_rec( $rec1 );          set_rec( $rec1 );
148    
149          cmp_ok( join(",", rec2('200','a') ), 'eq', '200a,200a*2' );          cmp_ok( join(",", rec2('200','a') ), 'eq', '200a,200a*2', 'join rec2' );
150          cmp_ok( join(",", rec2('200','a'), rec2('200','b') ), 'eq', '200a,200a*2,200b' );          cmp_ok( join(",", rec2('200','a'), rec2('200','b') ), 'eq', '200a,200a*2,200b', 'join rec2 rec2' );
151          cmp_ok( join(" * ", sort(rec1('200'), rec1('201') )), 'eq', '200a * 200a*2 * 200b * 200c * 200d * 200d*2 * 201x * 201y' );          cmp_ok( join(" * ", sort(rec1('200'), rec1('201') )), 'eq', '200a * 200a*2 * 200b * 200c * 200d * 200d*2 * 201x * 201y', 'join sort rec1 rec1' );
152            diag "is_deeply checks\n";
153          is_deeply( \[ rec1('200') ], \[ qw/200a 200b 200c 200d 200a*2 200d*2/ ] );          is_deeply( \[ rec1('200') ], \[ qw/200a 200b 200c 200d 200a*2 200d*2/ ] );
154          is_deeply( \[ regex( 's/0/o/g', rec1('200') ) ],  \[ qw/2ooa 2oob 2ooc 2ood 2ooa*2 2ood*2/ ]);          is_deeply( \[ regex( 's/0/o/g', rec1('200') ) ],  \[ qw/2ooa 2oob 2ooc 2ood 2ooa*2 2ood*2/ ]);
155          is_deeply( \[ grep { /\*/ } regex( 's/0/o/g', rec1('200') ) ], \[ qw/2ooa*2 2ood*2/ ]);          is_deeply( \[ grep { /\*/ } regex( 's/0/o/g', rec1('200') ) ], \[ qw/2ooa*2 2ood*2/ ]);
156          is_deeply( \[ rec('902') ], \[ '900' ] );          is_deeply( \[ rec('902') ], \[ '900' ] );
157          cmp_ok( rec('902'), 'eq', rec('902','z') );  
158            cmp_ok( rec('902'), 'eq', rec('902','z'), 'rec sf' );
159    
160          set_lookup( $lookup1 );          set_lookup( $lookup1 );
161                    
# Line 145  sub test_s { Line 167  sub test_s {
167                                  )                                  )
168                          )                          )
169                  ),                  ),
170          'eq', 'lookup 1 i lookup 2');          'eq', 'lookup 1 i lookup 2', 'join lookup regex rec2');
171    
172          set_lookup( $lookup2 );          set_lookup( $lookup2 );
173    
174          is_deeply( \[ lookup( prefix( '00', rec('902') ) ) ], \[ 'lookup' ] );          is_deeply( \[ lookup( prefix( '00', rec('902') ) ) ], \[ 'lookup' ], 'lookup prefix' );
175    
176          ok(! lookup('non-existent') );          ok(! lookup('non-existent'), 'lookup non-existant' );
177    
178          set_rec( $rec2 );          set_rec( $rec2 );
179    
# Line 188  sub test_s { Line 210  sub test_s {
210    
211          clean_ds();          clean_ds();
212    
213            test_s(qq{ search('something', '42'); });
214            test_s(qq{ search('empty', ''); });
215    
216            ok($ds = get_ds(), 'get_ds');
217            diag Dumper( $ds ) if ($debug);
218    
219            ok( $ds && $ds->{something}, 'get_ds->something' );
220            ok( $ds && !$ds->{empty}, 'get_ds->empty' );
221    
222            clean_ds();
223    
224          my $n = read_file( "$abs_path/data/normalize.pl" );          my $n = read_file( "$abs_path/data/normalize.pl" );
225          $n .= "\n1;\n";          $n .= "\n1;\n";
226          #diag "normalize code:\n$n\n";          #diag "normalize code:\n$n\n";

Legend:
Removed from v.468  
changed lines
  Added in v.471

  ViewVC Help
Powered by ViewVC 1.1.26