1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-09 00:22:08 +03:00
Files
node-redis/test/lib/nodeify-assertions.js

71 lines
2.4 KiB
JavaScript

var assert = require('assert');
module.exports = {
isNumber: function (expected) {
return function (err, results) {
assert.strictEqual(null, err, "expected " + expected + ", got error: " + err);
assert.strictEqual(expected, results, expected + " !== " + results);
assert.strictEqual(typeof results, "number", "expected a number, got " + typeof results);
return true;
};
},
isString: function (str) {
return function (err, results) {
assert.strictEqual(null, err, "expected string '" + str + "', got error: " + err);
assert.equal(str, results, str + " does not match " + results);
return true;
};
},
isNull: function () {
return function (err, results) {
assert.strictEqual(null, err, "expected null, got error: " + err);
assert.strictEqual(null, results, results + " is not null");
return true;
};
},
isError: function () {
return function (err, results) {
assert.notEqual(err, null, "err is null, but an error is expected here.");
return true;
};
},
isNotError: function () {
return function (err, results) {
assert.strictEqual(err, null, "expected success, got an error: " + err);
return true;
};
},
isType: {
number: function () {
return function (err, results) {
assert.strictEqual(null, err, "expected any number, got error: " + err);
assert.strictEqual(typeof results, "number", results + " is not a number");
return true;
};
},
positiveNumber: function () {
return function (err, results) {
assert.strictEqual(null, err, "expected positive number, got error: " + err);
assert.strictEqual(true, (results > 0), results + " is not a positive number");
return true;
};
}
},
serverVersionAtLeast: function (connection, desired_version) {
// Return true if the server version >= desired_version
var version = connection.server_info.versions;
for (var i = 0; i < 3; i++) {
if (version[i] > desired_version[i]) return true;
if (version[i] < desired_version[i]) return false;
}
return true;
}
};