You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Add test for HSET that exposes 0 length bug.
This commit is contained in:
25
test.js
25
test.js
@@ -63,6 +63,8 @@ function reportRPS() {
|
||||
sys.print(" \x1b[33m" + (iterations / ((Date.now() - cur_start)/1000)).toFixed(2) + "\x1b[0m reqs/sec,");
|
||||
}
|
||||
|
||||
// Tests are run in the order they are defined. So FLUSHDB should be stay first.
|
||||
|
||||
tests.FLUSHDB = function () {
|
||||
var name = "FLUSHDB";
|
||||
client.mset("flush keys 1", "flush val 1", "flush keys 2", "flush val 2", require_string("OK", name));
|
||||
@@ -70,6 +72,29 @@ tests.FLUSHDB = function () {
|
||||
client.dbsize(last(name, require_number(0, name)));
|
||||
};
|
||||
|
||||
tests.HSET = function () {
|
||||
var key = "test hash",
|
||||
field1 = new Buffer(10),
|
||||
value1 = new Buffer(10),
|
||||
field2 = new Buffer(0),
|
||||
value2 = new Buffer(0),
|
||||
name = "HSET";
|
||||
|
||||
field1.write("0123456789");
|
||||
value1.write("abcdefghij");
|
||||
|
||||
client.HSET(key, field1, value1, require_number(1, name));
|
||||
client.HGET(key, field1, last(name, require_string(value1.toString(), name)));
|
||||
|
||||
// TODO - this triggers a bug in the reply parser for 0 length bulk data
|
||||
|
||||
// client.HSET(key, field1, value2, require_number(0, name));
|
||||
// client.HGET(key, field1, require_string("", name));
|
||||
//
|
||||
// client.HSET(key, field2, value1, require_number(1, name)); // empty key is valid
|
||||
// client.HSET(key, field2, value2, require_number(11, name)); // empty key empty val
|
||||
};
|
||||
|
||||
tests.PING_10K = function () {
|
||||
var name = "PING_10K", i = iterations;
|
||||
|
||||
|
Reference in New Issue
Block a user