From 27b1d5b5fae2c6f2bd2a193f626bfbd8103d24e6 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 22 Mar 2009 17:02:46 +0000 Subject: [PATCH] sadd, srem git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/Redis@30 447b33ff-793d-4489-8442-9bea7d161be5 --- lib/Redis.pm | 28 ++++++++++++++++++++++++++-- t/01-Redis.t | 15 ++++++++++++++- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/lib/Redis.pm b/lib/Redis.pm index 3ac7619..b3edb6c 100644 --- a/lib/Redis.pm +++ b/lib/Redis.pm @@ -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 diff --git a/t/01-Redis.t b/t/01-Redis.t index 2d13b97..f87dda9 100755 --- a/t/01-Redis.t +++ b/t/01-Redis.t @@ -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' ); -- 2.20.1