Browse Source

Merge pull request #822 from fintura/hmset

Accept hmset being used without a callback. Closes #694
greenkeeper-update-all
Ruben Bridgewater 9 years ago
parent
commit
75b3fdb495
  1. 2
      index.js
  2. 36
      test/commands/hmset.spec.js

2
index.js

@ -996,7 +996,7 @@ RedisClient.prototype.HMGET = RedisClient.prototype.hmget;
RedisClient.prototype.hmset = function (args, callback) {
var tmp_args, tmp_keys, i, il, key;
if (Array.isArray(args) && typeof callback === "function") {
if (Array.isArray(args)) {
return this.send_command("hmset", args, callback);
}

36
test/commands/hmset.spec.js

@ -45,6 +45,42 @@ describe("The 'hmset' method", function () {
});
});
it('allows a numeric key without callback', function (done) {
client.HMSET(hash, 99, 'banana', 'test', 25);
client.HGETALL(hash, function (err, obj) {
assert.equal(obj['99'], 'banana');
assert.equal(obj['test'], '25');
return done(err);
});
});
it('allows an array without callback', function (done) {
client.HMSET([hash, 99, 'banana', 'test', 25]);
client.HGETALL(hash, function (err, obj) {
assert.equal(obj['99'], 'banana');
assert.equal(obj['test'], '25');
return done(err);
});
});
it('allows an array and a callback', function (done) {
client.HMSET([hash, 99, 'banana', 'test', 25], helper.isString('OK'));
client.HGETALL(hash, function (err, obj) {
assert.equal(obj['99'], 'banana');
assert.equal(obj['test'], '25');
return done(err);
});
});
it('handles object-style syntax without callback', function (done) {
client.HMSET(hash, {"0123456789": "abcdefghij", "some manner of key": "a type of value"});
client.HGETALL(hash, function (err, obj) {
assert.equal(obj['0123456789'], 'abcdefghij');
assert.equal(obj['some manner of key'], 'a type of value');
return done(err);
})
});
afterEach(function () {
client.end();
});

Loading…
Cancel
Save