diff --git a/cmd_scripting_test.go b/cmd_scripting_test.go index a7786662..518b1b28 100644 --- a/cmd_scripting_test.go +++ b/cmd_scripting_test.go @@ -421,6 +421,16 @@ func TestCmdEvalReply(t *testing.T) { ), ) + mustOK(t, c, + "EVAL", `return redis.call("XGROUP", "CREATE", KEYS[1], ARGV[1], "$", "MKSTREAM")`, + "1", "stream", "group", + ) + mustDo(t, c, + "EVAL", `return redis.call("XPENDING", KEYS[1], ARGV[1], "-", "+", 1, ARGV[2])`, + "1", "stream", "group", "consumer", + proto.Array(), + ) + mustDo(t, c, "EVAL", `return {err="broken"}`, "0", proto.Error("broken"), diff --git a/lua.go b/lua.go index 42222dce..bc86eed7 100644 --- a/lua.go +++ b/lua.go @@ -217,6 +217,8 @@ func redisToLua(l *lua.LState, res []interface{}) *lua.LTable { v = lua.LFalse } else { switch et := e.(type) { + case int: + v = lua.LNumber(et) case int64: v = lua.LNumber(et) case []uint8: