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

Add test for BLPOP.

This commit is contained in:
Matt Ranney
2010-09-22 10:33:53 -07:00
parent b22a81ba80
commit 58e620058f

39
test.js
View File

@@ -10,7 +10,7 @@ redis.debug_mode = false;
function require_number(expected, label) {
return function (err, results) {
assert.strictEqual(null, err, "result sent back unexpected error");
assert.strictEqual(null, err, "result sent back unexpected error: " + err);
assert.strictEqual(expected, results, label + " " + expected + " !== " + results);
assert.strictEqual(typeof results, "number", label);
return true;
@@ -19,7 +19,7 @@ function require_number(expected, label) {
function require_number_any(label) {
return function (err, results) {
assert.strictEqual(null, err, "result sent back unexpected error");
assert.strictEqual(null, err, "result sent back unexpected error: " + err);
assert.strictEqual(typeof results, "number", label + " " + results + " is not a number");
return true;
};
@@ -27,7 +27,7 @@ function require_number_any(label) {
function require_number_pos(label) {
return function (err, results) {
assert.strictEqual(null, err, "result sent back unexpected error");
assert.strictEqual(null, err, "result sent back unexpected error: " + err);
assert.strictEqual(true, (results > 0), label + " " + results + " is not a positive number");
return true;
};
@@ -35,7 +35,7 @@ function require_number_pos(label) {
function require_string(str, label) {
return function (err, results) {
assert.strictEqual(null, err, "result sent back unexpected error");
assert.strictEqual(null, err, "result sent back unexpected error: " + err);
assert.equal(str, results, label + " " + str + " does not match " + results);
return true;
};
@@ -89,6 +89,25 @@ tests.HSET = function () {
client.HSET(key, field2, value2, require_number(0, name));
};
tests.BLPOP = function () {
var name = "BLPOP";
client.rpush("blocking list", "initial value", function (err, res) {
client2.BLPOP("blocking list", 0, function (err, res) {
assert.strictEqual("blocking list", res[0].toString());
assert.strictEqual("initial value", res[1].toString());
});
client2.BLPOP("blocking list", 0, function (err, res) {
assert.strictEqual("blocking list", res[0].toString());
assert.strictEqual("wait for this value", res[1].toString());
next(name);
});
});
setTimeout(function () {
client.rpush("blocking list", "wait for this value");
}, 500);
};
tests.HMGET = function () {
var key = "test hash", name = "HMGET";
@@ -177,7 +196,7 @@ tests.KEYS = function () {
var name = "KEYS";
client.mset(["test keys 1", "test val 1", "test keys 2", "test val 2"], require_string("OK", name));
client.KEYS(["test keys*"], function (err, results) {
assert.strictEqual(null, err, "result sent back unexpected error");
assert.strictEqual(null, err, "result sent back unexpected error: " + err);
assert.strictEqual(2, results.length, name);
assert.strictEqual("test keys 1", results[0].toString(), name);
assert.strictEqual("test keys 2", results[1].toString(), name);
@@ -198,7 +217,7 @@ tests.RANDOMKEY = function () {
var name = "RANDOMKEY";
client.mset(["test keys 1", "test val 1", "test keys 2", "test val 2"], require_string("OK", name));
client.RANDOMKEY([], function (err, results) {
assert.strictEqual(null, err, name + " result sent back unexpected error");
assert.strictEqual(null, err, name + " result sent back unexpected error: " + err);
assert.strictEqual(true, /\w+/.test(results), name);
next(name);
});
@@ -272,14 +291,14 @@ tests.MGET = function () {
var name = "MGET";
client.mset(["mget keys 1", "mget val 1", "mget keys 2", "mget val 2", "mget keys 3", "mget val 3"], require_string("OK", name));
client.MGET(["mget keys 1", "mget keys 2", "mget keys 3"], function (err, results) {
assert.strictEqual(null, err, "result sent back unexpected error");
assert.strictEqual(null, err, "result sent back unexpected error: " + err);
assert.strictEqual(3, results.length, name);
assert.strictEqual("mget val 1", results[0].toString(), name);
assert.strictEqual("mget val 2", results[1].toString(), name);
assert.strictEqual("mget val 3", results[2].toString(), name);
});
client.MGET(["mget keys 1", "some random shit", "mget keys 2", "mget keys 3"], function (err, results) {
assert.strictEqual(null, err, "result sent back unexpected error");
assert.strictEqual(null, err, "result sent back unexpected error: " + err);
assert.strictEqual(4, results.length, name);
assert.strictEqual("mget val 1", results[0].toString(), name);
assert.strictEqual(null, results[1], name);
@@ -337,7 +356,7 @@ tests.HGETALL = function () {
var name = "HGETALL";
client.hmset(["hosts", "mjr", "1", "another", "23", "home", "1234"], require_string("OK", name));
client.HGETALL(["hosts"], function (err, obj) {
assert.strictEqual(null, err, name + " result sent back unexpected error");
assert.strictEqual(null, err, name + " result sent back unexpected error: " + err);
assert.strictEqual(3, Object.keys(obj).length, name);
assert.ok(Buffer.isBuffer(obj.mjr), name);
assert.strictEqual("1", obj.mjr.toString(), name);
@@ -401,4 +420,4 @@ process.on('uncaughtException', function (err) {
process.on('exit', function(code) {
assert.equal(true, connected);
assert.equal(true, ended);
});
});