Browse Source

Tests for behaviour of 'global'.

v0.7.4-release
Herbert Vojčík 15 years ago
committed by Ryan Dahl
parent
commit
2b126da395
  1. 6
      test/fixtures/global/plain.js
  2. 13
      test/fixtures/global/sub1.js
  3. 18
      test/fixtures/global/sub2.js
  4. 21
      test/simple/test-global-between-modules.js
  5. 16
      test/simple/test-global.js

6
test/fixtures/global/plain.js

@ -0,0 +1,6 @@
foo = "foo";
global.bar = "bar";
exports.fooBar = function () {
return {foo: global.foo, bar: bar};
};

13
test/fixtures/global/sub1.js

@ -0,0 +1,13 @@
foo1 = "foo1";
global.bar1 = "bar1";
var sub2 = require('./sub2');
exports.subGlobalKeys = function () {
return sub2.globalKeys();
};
exports.subAllFooBars = function () {
return sub2.allFooBars();
};

18
test/fixtures/global/sub2.js

@ -0,0 +1,18 @@
foo2 = "foo2";
global.bar2 = "bar2";
exports.globalKeys = function () {
return Object.getOwnPropertyNames(global);
};
exports.allFooBars = function () {
return {
foo0: global.foo0,
bar0: bar0,
foo1: global.foo1,
bar1: bar1,
foo2: global.foo2,
bar2: bar2
};
};

21
test/simple/test-global-between-modules.js

@ -0,0 +1,21 @@
common = require("../common");
assert = common.assert
foo0 = "foo0";
global.bar0 = "bar0";
var module = require("../fixtures/global/sub1"),
keys = module.subGlobalKeys();
var fooBarKeys = keys.filter(
function (x) { return x.match(/^foo/) || x.match(/^bar/); }
);
fooBarKeys.sort();
assert.equal("bar0,bar1,bar2,foo0,foo1,foo2", fooBarKeys.join(), "global keys not as expected: "+JSON.stringify(keys));
var fooBars = module.subAllFooBars();
assert.equal("foo0", fooBars.foo0, "x from base level not visible in deeper levels.");
assert.equal("bar0", fooBars.bar0, "global.x from base level not visible in deeper levels.");
assert.equal("foo1", fooBars.foo1, "x from medium level not visible in deeper levels.");
assert.equal("bar1", fooBars.bar1, "global.x from medium level not visible in deeper levels.");

16
test/simple/test-global.js

@ -0,0 +1,16 @@
common = require("../common");
assert = common.assert
baseFoo = "foo";
global.baseBar = "bar";
assert.equal("foo", global.baseFoo, "x -> global.x in base level not working");
assert.equal("bar", baseBar, "global.x -> x in base level not working");
var module = require("../fixtures/global/plain"),
fooBar = module.fooBar();
assert.equal("foo", fooBar.foo, "x -> global.x in sub level not working");
assert.equal("bar", fooBar.bar, "global.x -> x in sub level not working");
Loading…
Cancel
Save