sadd, srem
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 22 Mar 2009 17:02:46 +0000 (17:02 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 22 Mar 2009 17:02:46 +0000 (17:02 +0000)
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/Redis@30 447b33ff-793d-4489-8442-9bea7d161be5

lib/Redis.pm
t/01-Redis.t

index 3ac7619..b3edb6c 100644 (file)
@@ -383,7 +383,7 @@ sub lrem {
 
 sub lpop {
        my ( $self, $key ) = @_;
-       $self->_sock_result_bulk( 'lpop', $key );
+       $self->_sock_result_bulk( 'LPOP', $key );
 }
 
 =head2 rpop
@@ -394,7 +394,31 @@ sub lpop {
 
 sub rpop {
        my ( $self, $key ) = @_;
-       $self->_sock_result_bulk( 'rpop', $key );
+       $self->_sock_result_bulk( 'RPOP', $key );
+}
+
+=head1 Commands operating on sets
+
+=head2 sadd
+
+  $r->sadd( $key, $member );
+
+=cut
+
+sub sadd {
+       my ( $self, $key, $member ) = @_;
+       $self->_sock_send_bulk_number( 'SADD', $key, $member );
+}
+
+=head2 srem
+
+  $r->srem( $key, $member );
+
+=cut
+
+sub srem {
+       my ( $self, $key, $member ) = @_;
+       $self->_sock_send_bulk_number( 'SREM', $key, $member );
 }
 
 =head1 AUTHOR
index 2d13b97..f87dda9 100755 (executable)
@@ -3,7 +3,7 @@
 use warnings;
 use strict;
 
-use Test::More tests => 75;
+use Test::More tests => 80;
 
 use lib 'lib';
 
@@ -115,4 +115,17 @@ cmp_ok( $o->lpop( $list ), 'eq', 'r1', 'lpop' );
 
 ok( ! $o->rpop( $list ), 'rpop' );
 
+# Commands operating on sets
+
+my $set = 'test-set';
+$o->del($set);
+
+ok( $o->sadd( $set, 'foo' ), 'sadd' );
+ok( ! $o->sadd( $set, 'foo' ), 'sadd' );
+
+cmp_ok( $o->type( $set ), 'eq', 'set', 'type is set' );
+
+ok( $o->srem( $set, 'foo' ), 'srem' );
+ok( ! $o->srem( $set, 'foo' ), 'srem again' );
+
 ok( $o->quit, 'quit' );