@@ -272,6 +272,24 @@ def test_lindex(self):
272
272
self .assertEquals (self .client .lindex ('a' , '1' ), 'b' )
273
273
self .assertEquals (self .client .lindex ('a' , '2' ), 'c' )
274
274
275
+ def test_linsert (self ):
276
+ # no key
277
+ self .assertEquals (self .client .linsert ('a' , 'after' , 'x' , 'y' ), 0 )
278
+ # key is not a list
279
+ self .client ['a' ] = 'b'
280
+ self .assertRaises (
281
+ redis .ResponseError , self .client .linsert , 'a' , 'after' , 'x' , 'y'
282
+ )
283
+ del self .client ['a' ]
284
+ # real logic
285
+ self .make_list ('a' , 'abc' )
286
+ self .assertEquals (self .client .linsert ('a' , 'after' , 'b' , 'b1' ), 4 )
287
+ self .assertEquals (self .client .lrange ('a' , 0 , - 1 ),
288
+ ['a' , 'b' , 'b1' , 'c' ])
289
+ self .assertEquals (self .client .linsert ('a' , 'before' , 'b' , 'a1' ), 5 )
290
+ self .assertEquals (self .client .lrange ('a' , 0 , - 1 ),
291
+ ['a' , 'a1' , 'b' , 'b1' , 'c' ])
292
+
275
293
def test_llen (self ):
276
294
# no key
277
295
self .assertEquals (self .client .llen ('a' ), 0 )
@@ -313,6 +331,18 @@ def test_lpush(self):
313
331
self .assertEquals (self .client .lindex ('a' , 0 ), 'a' )
314
332
self .assertEquals (self .client .lindex ('a' , 1 ), 'b' )
315
333
334
+ def test_lpushx (self ):
335
+ # key is not a list
336
+ self .client ['a' ] = 'b'
337
+ self .assertRaises (redis .ResponseError , self .client .lpushx , 'a' , 'a' )
338
+ del self .client ['a' ]
339
+ # real logic
340
+ self .assertEquals (self .client .lpushx ('a' , 'b' ), 0 )
341
+ self .assertEquals (self .client .lrange ('a' , 0 , - 1 ), [])
342
+ self .make_list ('a' , 'abc' )
343
+ self .assertEquals (self .client .lpushx ('a' , 'd' ), 4 )
344
+ self .assertEquals (self .client .lrange ('a' , 0 , - 1 ), ['d' , 'a' , 'b' , 'c' ])
345
+
316
346
def test_lrange (self ):
317
347
# no key
318
348
self .assertEquals (self .client .lrange ('a' , 0 , 1 ), [])
@@ -436,6 +466,18 @@ def test_rpush(self):
436
466
self .assertEquals (self .client .lindex ('a' , 0 ), 'a' )
437
467
self .assertEquals (self .client .lindex ('a' , 1 ), 'b' )
438
468
469
+ def test_rpushx (self ):
470
+ # key is not a list
471
+ self .client ['a' ] = 'b'
472
+ self .assertRaises (redis .ResponseError , self .client .rpushx , 'a' , 'a' )
473
+ del self .client ['a' ]
474
+ # real logic
475
+ self .assertEquals (self .client .rpushx ('a' , 'b' ), 0 )
476
+ self .assertEquals (self .client .lrange ('a' , 0 , - 1 ), [])
477
+ self .make_list ('a' , 'abc' )
478
+ self .assertEquals (self .client .rpushx ('a' , 'd' ), 4 )
479
+ self .assertEquals (self .client .lrange ('a' , 0 , - 1 ), ['a' , 'b' , 'c' , 'd' ])
480
+
439
481
# Set commands
440
482
def make_set (self , name , l ):
441
483
for i in l :
0 commit comments