diff options
author | Herbert Vojčík <herby@mailbox.sk> | 2010-08-17 17:21:43 +0200 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2010-08-17 08:41:05 -0700 |
commit | cf2b206a8e410e677c890e941fa0bd1d7419b1a0 (patch) | |
tree | 57f20019b74a6e75f492cfe097124b5f5b467e31 /test/common.js | |
parent | 1872719b8cad36dd8ea3add973ea58f638fc340c (diff) | |
download | android-node-v8-cf2b206a8e410e677c890e941fa0bd1d7419b1a0.tar.gz android-node-v8-cf2b206a8e410e677c890e941fa0bd1d7419b1a0.tar.bz2 android-node-v8-cf2b206a8e410e677c890e941fa0bd1d7419b1a0.zip |
More changes to tests so they really work under context module loader.
Plus, getting rid of test/common.js defining things in global.
Diffstat (limited to 'test/common.js')
-rw-r--r-- | test/common.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/common.js b/test/common.js index 03d4cbccc9..bce2f45315 100644 --- a/test/common.js +++ b/test/common.js @@ -9,4 +9,17 @@ exports.assert = require('assert'); var sys = require("sys"); for (var i in sys) exports[i] = sys[i]; -for (var i in exports) global[i] = exports[i]; +//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; +}; |