1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

Implemented alternate MULTI syntax

Usage:

  client
    .multi
    .set(foo, bar)
    .set(counter, 1)
    .incr(counter)
    .exec(function(err, replies){});
This commit is contained in:
Tj Holowaychuk
2010-09-22 18:38:55 -07:00
parent 76ecd927cd
commit 91ebe64dae
2 changed files with 58 additions and 58 deletions

49
test.js
View File

@@ -339,30 +339,33 @@ tests.MSETNX = function () {
tests.MULTI = function () {
var name = "MULTI";
client.multi([
["mset", ["multifoo", "10", "multibar", "20"], require_string("OK", name)],
["set", ["foo2"], require_error(name)],
["incr", ["multifoo"], require_number(11, name)],
["incr", ["multibar"], require_number(21, name)]
]);
client.multi([
["incr", ["multibar"], require_number(22, name)],
["incr", ["multifoo"], require_number(12, name)]
]);
client.multi([
["mget", ["multifoo", "multibar"], function (err, res) {
assert.strictEqual(2, res.length, name);
assert.strictEqual("12", res[0].toString(), name);
assert.strictEqual("22", res[1].toString(), name);
}],
["set", ["foo2"], require_error(name)],
["incr", ["multifoo"], require_number(13, name)],
["incr", ["multibar"], require_number(23, name)]
], function (reply) {
next(name);
});
client
.multi
.mset('some', '10', 'keys', '20')
.incr('some')
.incr('keys')
.exec(function(err, replies){
assert.strictEqual(null, err);
assert.equal('OK', replies[0]);
assert.equal(11, replies[1]);
assert.equal(21, replies[2]);
next(name);
});
};
tests.MULTI_ERROR = function () {
var name = "MULTI_ERROR";
client
.multi
.set('something', 'amazing')
.set('invalid')
.exec(function(err, replies){
assert.equal("ERR wrong number of arguments for 'set' command", err.message);
assert.strictEqual(undefined, replies);
next(name);
});
};
tests.HGETALL = function () {