Skip to content

Commit 6babcaf

Browse files
committed
check: SPOP foo -1
1 parent 2a1f642 commit 6babcaf

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

cmd_set.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,11 @@ func (m *Miniredis) cmdSpop(c *server.Peer, cmd string, args []string) {
364364
c.WriteError(msgInvalidInt)
365365
return
366366
}
367+
if v < 0 {
368+
setDirty(c)
369+
c.WriteError(msgOutOfRange)
370+
return
371+
}
367372
count = v
368373
withCount = true
369374
args = args[1:]

cmd_set_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ func TestSpop(t *testing.T) {
305305
members, err := s.Members("s")
306306
ok(t, err)
307307
assert(t, len(members) == 2, "SPOP s 2")
308+
309+
_, err = c.Do("SPOP", "str", -12)
310+
mustFail(t, err, msgOutOfRange)
308311
})
309312
}
310313

integration/set_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ func TestSetSpop(t *testing.T) {
154154

155155
// failure cases
156156
fail("SPOP", "foo", "one"),
157+
fail("SPOP", "foo", -4),
157158
)
158159
}
159160

0 commit comments

Comments
 (0)