/[Redis.pre-github]/t/01-Redis.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 /t/01-Redis.t

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

revision 20 by dpavlin, Sun Mar 22 09:51:34 2009 UTC revision 40 by dpavlin, Sun Mar 22 18:39:06 2009 UTC
# Line 3  Line 3 
3  use warnings;  use warnings;
4  use strict;  use strict;
5    
6  use Test::More tests => 56;  use Test::More tests => 92;
7    
8  use lib 'lib';  use lib 'lib';
9    
# Line 15  ok( my $o = Redis->new(), 'new' ); Line 15  ok( my $o = Redis->new(), 'new' );
15    
16  ok( $o->ping, 'ping' );  ok( $o->ping, 'ping' );
17    
18    diag "Commands operating on string values";
19    
20  ok( $o->set( foo => 'bar' ), 'set foo => bar' );  ok( $o->set( foo => 'bar' ), 'set foo => bar' );
21    
22  eval { $o->set( foo => 'bar', 1 ) };  eval { $o->set( foo => 'bar', 1 ) };
# Line 26  ok( $o->set( foo => 'baz' ), 'set foo => Line 28  ok( $o->set( foo => 'baz' ), 'set foo =>
28    
29  cmp_ok( $o->get( 'foo' ), 'eq', 'baz', 'get foo = baz' );  cmp_ok( $o->get( 'foo' ), 'eq', 'baz', 'get foo = baz' );
30    
31    ok( $o->set( 'test-undef' => 42 ), 'set test-undef' );
32    ok( $o->set( 'test-undef' => undef ), 'set undef' );
33    ok( ! defined $o->get( 'test-undef' ), 'get undef' );
34    diag $o->exists( 'test-undef' );
35    ok( $o->exists( 'test-undef' ), 'exists undef' );
36    
37  $o->del('non-existant');  $o->del('non-existant');
38    
39  ok( ! $o->exists( 'non-existant' ), 'exists non-existant' );  ok( ! $o->exists( 'non-existant' ), 'exists non-existant' );
# Line 80  diag "dbsize: $nr_keys"; Line 88  diag "dbsize: $nr_keys";
88    
89  diag "Commands operating on lists";  diag "Commands operating on lists";
90    
91  ok( $o->rpush( 'test-list' => 'foo' ), 'rpush' );  my $list = 'test-list';
92    
93    $o->del($list) && diag "cleanup $list from last run";
94    
95    ok( $o->rpush( $list => "r$_" ), 'rpush' ) foreach ( 1 .. 3 );
96    
97    ok( $o->lpush( $list => "l$_" ), 'lpush' ) foreach ( 1 .. 2 );
98    
99    cmp_ok( $o->type($list), 'eq', 'list', 'type' );
100    cmp_ok( $o->llen($list), '==', 5, 'llen' );
101    
102    is_deeply( [ $o->lrange( $list, 0, 1 ) ], [ 'l2', 'l1' ], 'lrange' );
103    
104    ok( $o->ltrim( $list, 1, 2 ), 'ltrim' );
105    cmp_ok( $o->llen($list), '==', 2, 'llen after ltrim' );
106    
107    cmp_ok( $o->lindex( $list, 0 ), 'eq', 'l1', 'lindex' );
108    cmp_ok( $o->lindex( $list, 1 ), 'eq', 'r1', 'lindex' );
109    
110    ok( $o->lset( $list, 0, 'foo' ), 'lset' );
111    cmp_ok( $o->lindex( $list, 0 ), 'eq', 'foo', 'verified' );
112    
113    ok( $o->lrem( $list, 1, 'foo' ), 'lrem' );
114    cmp_ok( $o->llen( $list ), '==', 1, 'llen after lrem' );
115    
116    cmp_ok( $o->lpop( $list ), 'eq', 'r1', 'lpop' );
117    
118    ok( ! $o->rpop( $list ), 'rpop' );
119    
120    
121    diag "Commands operating on sets";
122    
123    my $set = 'test-set';
124    $o->del($set);
125    
126    ok( $o->sadd( $set, 'foo' ), 'sadd' );
127    ok( ! $o->sadd( $set, 'foo' ), 'sadd' );
128    cmp_ok( $o->scard( $set ), '==', 1, 'scard' );
129    ok( $o->sismember( $set, 'foo' ), 'sismember' );
130    
131    cmp_ok( $o->type( $set ), 'eq', 'set', 'type is set' );
132    
133    ok( $o->srem( $set, 'foo' ), 'srem' );
134    ok( ! $o->srem( $set, 'foo' ), 'srem again' );
135    cmp_ok( $o->scard( $set ), '==', 0, 'scard' );
136    
137    $o->sadd( 'test-set1', $_ ) foreach ( 'foo', 'bar', 'baz' );
138    $o->sadd( 'test-set2', $_ ) foreach ( 'foo', 'baz', 'xxx' );
139    
140    my $inter = [ 'baz', 'foo' ];
141    
142    is_deeply( [ $o->sinter( 'test-set1', 'test-set2' ) ], $inter, 'siter' );
143    
144    ok( $o->sinterstore( 'test-set-inter', 'test-set1', 'test-set2' ), 'sinterstore' );
145    
146    cmp_ok( $o->scard( 'test-set-inter' ), '==', $#$inter + 1, 'cardinality of intersection' );
147    
148    
149    diag "Multiple databases handling commands";
150    
151    ok( $o->select( 1 ), 'select' );
152    ok( $o->select( 0 ), 'select' );
153    
154  ok( $o->lpush( 'test-list' => 'foo' ), 'lpush' );  ok( $o->move( 'foo', 1 ), 'move' );
155    ok( ! $o->exists( 'foo' ), 'gone' );
156    
157  cmp_ok( $o->llen('test-list'), '==', 2, 'llen' );  ok( $o->select( 1 ), 'select' );
158    ok( $o->exists( 'foo' ), 'exists' );
159    
160    diag "Connection handling";
161    
162  ok( $o->quit, 'quit' );  ok( $o->quit, 'quit' );

Legend:
Removed from v.20  
changed lines
  Added in v.40

  ViewVC Help
Powered by ViewVC 1.1.26