/[Biblio-Isis]/trunk/t/2_isis.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/2_isis.t

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

revision 58 by dpavlin, Sun Jul 9 12:18:44 2006 UTC revision 69 by dpavlin, Sun Oct 29 15:37:43 2006 UTC
# Line 3  Line 3 
3  use strict;  use strict;
4  use blib;  use blib;
5    
6  use Test::More tests => 134;  use Test::More tests => 181;
7  use File::Spec;  use File::Spec;
8    
9  BEGIN {  BEGIN {
# Line 192  diag "record = ",Dumper($isis->{record}) Line 192  diag "record = ",Dumper($isis->{record})
192  $isis = Biblio::Isis->new (  $isis = Biblio::Isis->new (
193          isisdb => $path_winisis,          isisdb => $path_winisis,
194          debug => $debug,          debug => $debug,
195            hash_filter => sub {
196                    my ($l,$nr) = @_;
197                    ok(grep(/$nr/, keys %{ $isis->{record} }), "hash_filter $nr in record");
198                    ok(grep(/\Q$l\E/, @{ $isis->{record}->{$nr} }), "hash_filter line $l found");
199                    return($l);
200            },
201  );  );
202    
203  ok(! $isis->fetch(3), "deleted not found");  ok(! $isis->fetch(3), "deleted not found");
# Line 240  __END_OF_ASCII__ Line 246  __END_OF_ASCII__
246  ok(my $hash2 = $isis->to_hash({ mfn => $isis->mfn }), 'to_hash(mfn)');  ok(my $hash2 = $isis->to_hash({ mfn => $isis->mfn }), 'to_hash(mfn)');
247  is_deeply( $hash2, $hash, 'same hash' );  is_deeply( $hash2, $hash, 'same hash' );
248    
249    # test to_hash( include_subfields )
250  ok($hash = $isis->to_hash({ mfn => $isis->mfn, include_subfields => 1 }), 'to_hash(mfn,include_subfields)');  ok($hash = $isis->to_hash({ mfn => $isis->mfn, include_subfields => 1 }), 'to_hash(mfn,include_subfields)');
251  diag "to_hash = ",Dumper( $hash ) if ($debug);  diag "to_hash = ",Dumper( $hash ) if ($debug);
252  is_deeply( $hash, {  is_deeply( $hash, {
# Line 259  is_deeply( $hash, { Line 266  is_deeply( $hash, {
266    ],    ],
267  }, 'hash is_deeply');  }, 'hash is_deeply');
268    
269    # test to_hash( join_subfields_with )
270  ok($hash = $isis->to_hash({ mfn => $isis->mfn, join_subfields_with => ' ; ' }), 'to_hash(mfn,join_subfields_with)');  ok($hash = $isis->to_hash({ mfn => $isis->mfn, join_subfields_with => ' ; ' }), 'to_hash(mfn,join_subfields_with)');
271  diag "to_hash = ",Dumper( $hash ) if ($debug);  diag "to_hash = ",Dumper( $hash ) if ($debug);
272  is_deeply( $hash, {  is_deeply( $hash, {
# Line 271  is_deeply( $hash, { Line 279  is_deeply( $hash, {
279              ],              ],
280     902   => [{ a => "a1 ; a2 ; a3 ; a4 ; a5", b => "b1 ; b2", c => "c1" }],     902   => [{ a => "a1 ; a2 ; a3 ; a4 ; a5", b => "b1 ; b2", c => "c1" }],
281  }, 'hash is_deeply');  }, 'hash is_deeply');
282    
283    my $isis2;
284    ok($isis2 = Biblio::Isis->new (
285            isisdb => $path_winisis,
286            join_subfields_with => ' ; ',
287    ),"new( join_subfields_with )");
288    ok($isis2->{record} = $isis->{record}, "copy record");
289    ok($isis2->{current_mfn} = $isis->{current_mfn}, "copy current_mfn");
290    
291    ok($hash = $isis2->to_hash( $isis->mfn ), 'to_hash(mfn)');
292    diag "to_hash = ",Dumper( $hash ) if ($debug);
293    is_deeply( $hash, {
294       "000" => [42],
295       900   => [{ a => "900a", b => "900b", c => "900c" }],
296       901   => [
297                  { a => "901a-1", b => "901b-1", c => "901c-1" },
298                  { a => "901a-2", b => "901b-2" },
299                  { a => "901a-3" },
300                ],
301       902   => [{ a => "a1 ; a2 ; a3 ; a4 ; a5", b => "b1 ; b2", c => "c1" }],
302    }, 'hash is_deeply');
303    
304    # test to_hash( hash_filter )
305    ok($hash = $isis->to_hash({ mfn => $isis->mfn, hash_filter => sub {
306            my ($l,$f) = @_;
307            if ($f == 900) {
308                    $l =~ s/0/o/g;
309            } elsif ($f == 901) {
310                    $l =~ s/1/i/g;
311            } elsif ($f == 902) {
312                    $l =~ s/2/s/g;
313            }
314            return $l;
315    }}), 'to_hash(mfn,hash_filter)');
316    diag "to_hash = ",Dumper( $hash ) if ($debug);
317    is_deeply( $hash, {
318       "000" => [42],
319       900   => [{ a => "9ooa", b => "9oob", c => "9ooc" }],
320       901   => [
321                  { a => "90ia-i", b => "90ib-i", c => "90ic-i" },
322                  { a => "90ia-2", b => "90ib-2" },
323                  { a => "90ia-3" },
324                ],
325       902   => [{ a => ["a1", "as", "a3", "a4", "a5"], b => ["b1", "bs"], c => "c1" }],
326    }, 'hash is_deeply');
327    

Legend:
Removed from v.58  
changed lines
  Added in v.69

  ViewVC Help
Powered by ViewVC 1.1.26