ltrim
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 22 Mar 2009 10:45:06 +0000 (10:45 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 22 Mar 2009 10:45:06 +0000 (10:45 +0000)
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/Redis@22 447b33ff-793d-4489-8442-9bea7d161be5

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

index 1df21f4..d55af09 100644 (file)
@@ -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<< <dpavlin at rot13.org> >>
index e592ca2..714c898 100755 (executable)
@@ -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' );