aboutsummaryrefslogtreecommitdiff
path: root/test/common.js
diff options
context:
space:
mode:
authorHerbert Vojčík <herby@mailbox.sk>2010-08-17 17:21:43 +0200
committerRyan Dahl <ry@tinyclouds.org>2010-08-17 08:41:05 -0700
commitcf2b206a8e410e677c890e941fa0bd1d7419b1a0 (patch)
tree57f20019b74a6e75f492cfe097124b5f5b467e31 /test/common.js
parent1872719b8cad36dd8ea3add973ea58f638fc340c (diff)
downloadandroid-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.js15
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;
+};