summaryrefslogtreecommitdiffstats
path: root/testing/modules/Sinon.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'testing/modules/Sinon.jsm')
-rw-r--r--testing/modules/Sinon.jsm37
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/modules/Sinon.jsm b/testing/modules/Sinon.jsm
new file mode 100644
index 0000000000..59faf6e032
--- /dev/null
+++ b/testing/modules/Sinon.jsm
@@ -0,0 +1,37 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+var EXPORTED_SYMBOLS = ["sinon"];
+
+// ================================================
+// Load mocking/stubbing library sinon
+// docs: http://sinonjs.org/releases/v7.2.7/
+const {
+ clearInterval,
+ clearTimeout,
+ setInterval,
+ setIntervalWithTarget,
+ setTimeout,
+ setTimeoutWithTarget,
+} = ChromeUtils.importESModule("resource://gre/modules/Timer.sys.mjs");
+// eslint-disable-next-line no-unused-vars
+const obj = {
+ global: {
+ clearInterval,
+ clearTimeout,
+ setInterval,
+ setIntervalWithTarget,
+ setTimeout,
+ setTimeoutWithTarget,
+ Date,
+ },
+};
+Services.scriptloader.loadSubScript(
+ "resource://testing-common/sinon-7.2.7.js",
+ obj
+);
+const sinon = obj.global.sinon;
+// ================================================