BE-SPAN/node_modules/shimmer/test/init.tap.js
githubna-ilham 722cd440e8 first commit
2024-10-20 22:04:16 +07:00

50 lines
1.2 KiB
JavaScript

'use strict';
var tap = require('tap')
, test = tap.test
, sinon = require('sinon')
, shimmer = require('../index.js')
;
test("shimmer initialization", function (t) {
t.plan(4);
t.doesNotThrow(function () { shimmer(); });
var mock = sinon.expectation
.create('logger')
.withArgs("no original function undefined to wrap")
.once();
t.doesNotThrow(function () {
shimmer({logger : mock});
}, "initializer doesn't throw");
t.doesNotThrow(function () {
shimmer.wrap();
}, "invoking the wrap method with no params doesn't throw");
t.doesNotThrow(function () {
mock.verify();
}, "logger method was called with the expected message");
});
test("shimmer initialized with non-function logger", function (t) {
t.plan(2);
var mock = sinon.expectation
.create('logger')
.withArgs("new logger isn't a function, not replacing")
.once();
shimmer({logger : mock});
t.doesNotThrow(function () {
shimmer({logger : {ham : 'chunx'}});
}, "even bad initialization doesn't throw");
t.doesNotThrow(function () {
mock.verify();
}, "logger initialization failed in the expected way");
});