diff options
Diffstat (limited to 'tests/unit/type/list.tcl')
-rw-r--r-- | tests/unit/type/list.tcl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/unit/type/list.tcl b/tests/unit/type/list.tcl index 61ca23377..9be5dd93b 100644 --- a/tests/unit/type/list.tcl +++ b/tests/unit/type/list.tcl @@ -123,6 +123,17 @@ start_server { test {R/LPOP against empty list} { r lpop non-existing-list } {} + + test {R/LPOP with the optional count argument} { + assert_equal 7 [r lpush listcount aa bb cc dd ee ff gg] + assert_equal {} [r lpop listcount 0] + assert_equal {gg} [r lpop listcount 1] + assert_equal {ff ee} [r lpop listcount 2] + assert_equal {aa bb} [r rpop listcount 2] + assert_equal {cc} [r rpop listcount 1] + assert_equal {dd} [r rpop listcount 123] + assert_error "*ERR*range*" {r lpop forbarqaz -123} + } test {Variadic RPUSH/LPUSH} { r del mylist @@ -947,6 +958,12 @@ start_server { assert_equal {} [r lrange nosuchkey 0 1] } + test {LRANGE with start > end yields an empty array for backward compatibility} { + create_list mylist "1 2 3" + assert_equal {} [r lrange mylist 1 0] + assert_equal {} [r lrange mylist -1 -2] + } + foreach {type large} [array get largevalue] { proc trim_list {type min max} { upvar 1 large large |