UNPKG

3.53 kBJavaScriptView Raw
1"use strict";
2
3function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = useSinonSandbox;
9Object.defineProperty(exports, "SinonStub", {
10 enumerable: true,
11 get: function get() {
12 return _sinon.SinonStub;
13 }
14});
15Object.defineProperty(exports, "SinonSpy", {
16 enumerable: true,
17 get: function get() {
18 return _sinon.SinonSpy;
19 }
20});
21Object.defineProperty(exports, "SinonFake", {
22 enumerable: true,
23 get: function get() {
24 return _sinon.SinonFake;
25 }
26});
27Object.defineProperty(exports, "SinonMock", {
28 enumerable: true,
29 get: function get() {
30 return _sinon.SinonMock;
31 }
32});
33Object.defineProperty(exports, "SinonFakeTimers", {
34 enumerable: true,
35 get: function get() {
36 return _sinon.SinonFakeTimers;
37 }
38});
39Object.defineProperty(exports, "SinonSandbox", {
40 enumerable: true,
41 get: function get() {
42 return _sinon.SinonSandbox;
43 }
44});
45
46var _sinon = _interopRequireWildcard(require("sinon"));
47
48var _assert = _interopRequireDefault(require("assert"));
49
50function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
51
52function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
53
54function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
56// Re-export these so that consumers don't need to install @types/sinon and this helper stays well
57// encapsulated.
58
59/**
60 * Create a Sinon sandbox that resets itself between each test. Also returns a goodeggs-logger stub
61 * that is stubbed using the returned sandbox.
62 */
63function useSinonSandbox() {
64 var sandbox = _sinon.default.createSandbox();
65
66 var stubLogger = function stubLogger(logger) {
67 (0, _assert.default)(logger != null, 'logger required');
68 var trace = sandbox.stub(logger, 'trace');
69 var debug = sandbox.stub(logger, 'debug');
70 var info = sandbox.stub(logger, 'info');
71 var warn = sandbox.stub(logger, 'warn');
72 var error = sandbox.stub(logger, 'error');
73 var fatal = sandbox.stub(logger, 'fatal');
74 var child = sandbox.stub(logger, 'child').returns(logger);
75 return {
76 trace: trace,
77 debug: debug,
78 info: info,
79 warn: warn,
80 error: error,
81 fatal: fatal,
82 child: child
83 };
84 };
85
86 afterEach(function () {
87 sandbox.restore();
88 });
89 return {
90 sandbox: sandbox,
91 stubLogger: stubLogger
92 };
93}
\No newline at end of file