summaryrefslogtreecommitdiffstats
path: root/toolkit/modules/tests/MockDocument.jsm
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-02-25 15:07:00 -0500
committerMatt A. Tobin <email@mattatobin.com>2020-02-25 15:07:00 -0500
commit0ddd00f1959c78ce37c14fef3c83401408fca3bf (patch)
treed408e02767c86cf8aac3acbb86722b03c77ede6f /toolkit/modules/tests/MockDocument.jsm
parent20f0905b33cbb18d1caa80c55e2f552c2e18957b (diff)
downloadUXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.gz
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.lz
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.xz
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.zip
Issue #439 - Remove tests from toolkit/
Diffstat (limited to 'toolkit/modules/tests/MockDocument.jsm')
-rw-r--r--toolkit/modules/tests/MockDocument.jsm50
1 files changed, 0 insertions, 50 deletions
diff --git a/toolkit/modules/tests/MockDocument.jsm b/toolkit/modules/tests/MockDocument.jsm
deleted file mode 100644
index 3cae9bb91..000000000
--- a/toolkit/modules/tests/MockDocument.jsm
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Provides infrastructure for tests that would require mock document.
- */
-
-"use strict";
-
-this.EXPORTED_SYMBOLS = ["MockDocument"]
-
-const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
-
-Cu.importGlobalProperties(["URL"]);
-
-const MockDocument = {
- /**
- * Create a document for the given URL containing the given HTML with the ownerDocument of all <form>s having a mocked location.
- */
- createTestDocument(aDocumentURL, aContent = "<form>", aType = "text/html") {
- let parser = Cc["@mozilla.org/xmlextras/domparser;1"].
- createInstance(Ci.nsIDOMParser);
- parser.init();
- let parsedDoc = parser.parseFromString(aContent, aType);
-
- for (let element of parsedDoc.forms) {
- this.mockOwnerDocumentProperty(element, parsedDoc, aDocumentURL);
- }
- return parsedDoc;
- },
-
- mockOwnerDocumentProperty(aElement, aDoc, aURL) {
- // Mock the document.location object so we can unit test without a frame. We use a proxy
- // instead of just assigning to the property since it's not configurable or writable.
- let document = new Proxy(aDoc, {
- get(target, property, receiver) {
- // document.location is normally null when a document is outside of a "browsing context".
- // See https://html.spec.whatwg.org/#the-location-interface
- if (property == "location") {
- return new URL(aURL);
- }
- return target[property];
- },
- });
-
- // Assign element.ownerDocument to the proxy so document.location works.
- Object.defineProperty(aElement, "ownerDocument", {
- value: document,
- });
- },
-
-};
-