2009-10-31 19:02:30 +01:00
|
|
|
var path = require("path");
|
|
|
|
|
|
|
|
exports.testDir = path.dirname(__filename);
|
|
|
|
exports.fixturesDir = path.join(exports.testDir, "fixtures");
|
2010-02-25 12:01:23 -08:00
|
|
|
exports.libDir = path.join(exports.testDir, "../lib");
|
2010-09-08 18:42:32 -07:00
|
|
|
exports.tmpDir = path.join(exports.testDir, "tmp");
|
2010-02-26 15:06:32 -05:00
|
|
|
exports.PORT = 12346;
|
2009-09-20 18:19:33 +02:00
|
|
|
|
2010-07-13 16:40:54 -07:00
|
|
|
exports.assert = require('assert');
|
|
|
|
|
2009-10-31 19:02:30 +01:00
|
|
|
var sys = require("sys");
|
2010-03-08 15:06:29 -08:00
|
|
|
for (var i in sys) exports[i] = sys[i];
|
2010-08-17 17:21:43 +02:00
|
|
|
//for (var i in exports) global[i] = exports[i];
|
|
|
|
|
|
|
|
function protoCtrChain (o) {
|
|
|
|
var result = [];
|
|
|
|
for (; o; o = o.__proto__) { result.push(o.constructor); }
|
|
|
|
return result.join();
|
|
|
|
}
|
|
|
|
|
|
|
|
exports.indirectInstanceOf = function (obj, cls) {
|
|
|
|
if (obj instanceof cls) { return true; }
|
|
|
|
var clsChain = protoCtrChain(cls.prototype);
|
|
|
|
var objChain = protoCtrChain(obj);
|
|
|
|
return objChain.slice(-clsChain.length) === clsChain;
|
|
|
|
};
|