cloudworker-proxy
Version:
An api gateway for cloudflare workers
75 lines (64 loc) • 2.24 kB
JavaScript
;
var test = require("tape")
, requireUncached = require("ncjsm/require-uncached");
test(
"(main): Should provide enable/disable functionality on level/name configuration",
function (t) {
var log;
requireUncached(
[require.resolve("../../"), require.resolve("../../lib/private/logger-prototype")],
function () { log = require("../.."); }
);
t.equal(log.get("enabletest").isEnabled, true, "Should be enabled by default");
var restore = log.get("enabletest").disable().restore;
t.equal(
typeof restore, "function", "disable() should return object with `restore` function"
);
t.equal(
log.get("enabletest").isEnabled, false, "Should be disabled after `disable()` call"
);
t.equal(
log.get("enabletest").get("foo").isEnabled, false,
"New nested names should inherit setting"
);
restore();
t.equal(log.get("enabletest").isEnabled, true, "`restore` should bring previous state");
restore = log.get("enabletest").enable().restore;
t.equal(
typeof restore, "function", "enable() should return object with `restore` function"
);
t.equal(
log.get("enabletest").isEnabled, true, "Should remain enabled after `enable()` call"
);
log.get("enabletest").enable();
t.equal(
log.get("enabletest").isEnabled, true,
"Trying to set same state again should have no effect"
);
restore();
log.get("enabletest").isEnabled = false;
t.equal(
log.get("enabletest").isEnabled, false,
"It should be possible to change state by direct setting of isEnabled"
);
delete log.get("enabletest").isEnabled;
t.equal(
log.get("enabletest").get("foo").isEnabled, true,
"Existing nested names should inherit setting"
);
restore = log.get("enabletest").get("foo").disable().restore;
t.equal(log.get("enabletest").get("foo").isEnabled, false, "Should work on nested names");
t.equal(
log.get("enabletest").isEnabled, true,
"Settings on nested names should not leak to parent loggers"
);
var restore2 = log.get("enabletest").enable().restore;
t.equal(
log.get("enabletest").get("foo").isEnabled, true,
"Calling `enable` on parent should affect all children unconditionally"
);
restore2();
restore();
t.end();
}
);