/[Sack]/trunk/t/Sack-Digest.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

Annotation of /trunk/t/Sack-Digest.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 44 - (hide annotations)
Thu Sep 24 12:48:08 2009 UTC (14 years, 8 months ago) by dpavlin
File MIME type: application/x-troff
File size: 1127 byte(s)
Sack::Digest now uses md5 sum of value for btree and array, so
we store full value only once

1 dpavlin 33 #!/usr/bin/perl
2    
3 dpavlin 44 use Test::More tests => 25;
4 dpavlin 36 use Data::Dump qw(dump);
5 dpavlin 33
6     use lib 'lib';
7    
8     BEGIN {
9     use_ok( 'Sack::Digest' );
10     }
11    
12 dpavlin 34 ok( Sack::Digest->clean, 'clean' );
13    
14 dpavlin 33 ok( my $o = Sack::Digest->open( 0 ), 'open' );
15    
16 dpavlin 44 my @full = qw( foo bar baz );
17 dpavlin 33
18 dpavlin 44 foreach my $full ( @full ) {
19    
20 dpavlin 34 ok( my $nr = Sack::Digest->to_int( $full ), "to_int $full" );
21     ok( $nr =~ m/^\d+$/, 'int' );
22    
23     cmp_ok( Sack::Digest->from_int( $nr ), 'eq', $full, "from_int $nr" );
24    
25     }
26    
27     cmp_ok( Sack::Digest->from_int( 42 ), '==', 42, 'from_int missing' );
28    
29 dpavlin 44 ok( Sack::Digest->info, 'info' );
30    
31     ok( Sack::Digest->sync, 'sync' );
32    
33 dpavlin 34 ok( Sack::Digest->close, 'close' );
34 dpavlin 36
35     ok( Sack::Digest->open(0), 'open again' );
36    
37     my $out = {
38     "CR#+" => { 1=>1, 2=>1, 3=>1, 4=>1, 5=>1 }
39     };
40    
41     ok( my $full = Sack::Digest->undigest_out( $out ), 'undigest_out' );
42     diag dump $full;
43 dpavlin 43 is_deeply( $full, { "CR#+" => { 4 => 1, 5 => 1, bar => 1, baz => 1, foo => 1 } }, 'undigested' );
44 dpavlin 36
45 dpavlin 44 foreach ( 1 .. $#full + 1 ) {
46     ok( my $undigested = Sack::Digest->undigest_node_k_v( 0, 'CR#+' => $_ ), "undigest_node_k_v $_" );
47     diag "$_ -> $undigested";
48     cmp_ok( $undigested, 'eq', $full[$_-1], "undigested $_" )
49     }
50    

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26