30 lines
905 B
JavaScript
30 lines
905 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var tap = require('tap');
|
||
|
var test = tap.test;
|
||
|
|
||
|
var context = require('../context.js');
|
||
|
|
||
|
test("namespace management", function (t) {
|
||
|
t.plan(8);
|
||
|
|
||
|
t.throws(function () { context.createNamespace(); }, "name is required");
|
||
|
|
||
|
var namespace = context.createNamespace('test');
|
||
|
t.ok(namespace, "namespace is returned upon creation");
|
||
|
|
||
|
t.equal(context.getNamespace('test'), namespace, "namespace lookup works");
|
||
|
|
||
|
t.doesNotThrow(function () { context.reset(); }, "allows resetting namespaces");
|
||
|
|
||
|
t.equal(Object.keys(process.namespaces).length, 0, "namespaces have been reset");
|
||
|
|
||
|
namespace = context.createNamespace('another');
|
||
|
t.ok(process.namespaces.another, "namespace is available from global");
|
||
|
|
||
|
t.doesNotThrow(function () { context.destroyNamespace('another'); },
|
||
|
"destroying works");
|
||
|
|
||
|
t.notOk(process.namespaces.another, "namespace has been removed");
|
||
|
});
|