From d83b94045bd5ac5764d26319e03d1ee6c4266e63 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 22 Mar 2009 10:45:06 +0000 Subject: [PATCH] ltrim git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/Redis@22 447b33ff-793d-4489-8442-9bea7d161be5 --- lib/Redis.pm | 11 +++++++++++ t/01-Redis.t | 17 ++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/lib/Redis.pm b/lib/Redis.pm index 1df21f4..d55af09 100644 --- a/lib/Redis.pm +++ b/lib/Redis.pm @@ -315,6 +315,17 @@ sub lrange { return @list; } +=head2 ltrim + + my $ok = $r->ltrim( $key, $start, $end ); + +=cut + +sub ltrim { + my ( $self, $key, $start, $end ) = @_; + $self->_sock_send_ok( 'LTRIM', $key, $start, $end ); +} + =head1 AUTHOR Dobrica Pavlinusic, C<< >> diff --git a/t/01-Redis.t b/t/01-Redis.t index e592ca2..714c898 100755 --- a/t/01-Redis.t +++ b/t/01-Redis.t @@ -3,7 +3,7 @@ use warnings; use strict; -use Test::More tests => 56; +use Test::More tests => 62; use lib 'lib'; @@ -80,12 +80,19 @@ diag "dbsize: $nr_keys"; diag "Commands operating on lists"; -ok( $o->rpush( 'test-list' => "r$_" ), 'rpush' ) foreach ( 1 .. 3 ); +my $list = 'test-list'; -ok( $o->lpush( 'test-list' => "l$_" ), 'lpush' ) foreach ( 1 .. 2 ); +$o->del($list) && diag "cleanup $list from last run"; -cmp_ok( $o->llen('test-list'), '==', 2, 'llen' ); +ok( $o->rpush( $list => "r$_" ), 'rpush' ) foreach ( 1 .. 3 ); -is_deeply( [ $o->lrange( 'test-list', 0, 1 ) ], [ 'l2', 'l1' ], 'lrange' ); +ok( $o->lpush( $list => "l$_" ), 'lpush' ) foreach ( 1 .. 2 ); + +cmp_ok( $o->llen($list), '==', 5, 'llen' ); + +is_deeply( [ $o->lrange( $list, 0, 1 ) ], [ 'l2', 'l1' ], 'lrange' ); + +ok( $o->ltrim( $list, 2, 3 ), 'ltrim' ); +cmp_ok( $o->llen($list), '==', 2, 'llen after ltrim' ); ok( $o->quit, 'quit' ); -- 2.20.1