Files
taimed/node_modules/sinon/lib/sinon.js
2025-07-24 17:21:45 +08:00

72 lines
2.5 KiB
JavaScript

"use strict";
var match = require("./sinon/match");
var deepEqual = require("./sinon/util/core/deep-equal");
var deprecated = require("./sinon/util/core/deprecated");
function exposeCoreUtils(target, utils) {
var keys = Object.keys(utils);
keys.forEach(function (key) {
var value = utils[key];
// allow deepEqual to check equality of matchers through dependency injection. Otherwise we get a circular
// dependency
if (key === "deepEqual") {
value = deepEqual.use(match);
}
if (typeof value === "function") {
value = deprecated.wrap(value, deprecated.defaultMsg(key));
}
target[key] = value;
});
}
function exposeEventTarget(target, eventTarget) {
var keys = Object.keys(eventTarget);
keys.forEach(function (key) {
target[key] = deprecated.wrap(eventTarget[key], deprecated.defaultMsg("EventTarget"));
});
}
// Expose internal utilities on `sinon` global for backwards compatibility.
exposeCoreUtils(exports, require("./sinon/util/core/index"));
exports.assert = require("./sinon/assert");
exports.collection = require("./sinon/collection");
exports.match = match;
exports.spy = require("./sinon/spy");
exports.spyCall = require("./sinon/call");
exports.stub = require("./sinon/stub");
exports.mock = require("./sinon/mock");
exports.sandbox = require("./sinon/sandbox");
exports.expectation = require("./sinon/mock-expectation");
exports.createStubInstance = require("./sinon/stub").createStubInstance;
var fakeTimers = require("./sinon/util/fake_timers");
exports.useFakeTimers = fakeTimers.useFakeTimers;
exports.clock = fakeTimers.clock;
exports.timers = fakeTimers.timers;
var event = require("./sinon/util/event");
exports.Event = deprecated.wrap(event.Event, deprecated.defaultMsg("Event"));
exports.CustomEvent = deprecated.wrap(event.CustomEvent, deprecated.defaultMsg("CustomEvent"));
exports.ProgressEvent = deprecated.wrap(event.ProgressEvent, deprecated.defaultMsg("ProgressEvent"));
exports.EventTarget = {};
exposeEventTarget(exports.EventTarget, event.EventTarget);
var fakeXhr = require("./sinon/util/fake_xml_http_request");
exports.xhr = fakeXhr.xhr;
exports.FakeXMLHttpRequest = fakeXhr.FakeXMLHttpRequest;
exports.useFakeXMLHttpRequest = fakeXhr.useFakeXMLHttpRequest;
exports.fakeServer = require("./sinon/util/fake_server");
exports.fakeServerWithClock = require("./sinon/util/fake_server_with_clock");
var behavior = require("./sinon/behavior");
exports.addBehavior = function (name, fn) {
behavior.addBehavior(exports.stub, name, fn);
};