Skip to content

Commit 440e950

Browse files
committed
chore: remove jsdom, pass fake form object
Signed-off-by: Logan McAnsh <[email protected]>
1 parent 5509937 commit 440e950

File tree

4 files changed

+35
-373
lines changed

4 files changed

+35
-373
lines changed

packages/form-data/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,9 @@
3636
"@remix-run/web-blob": "^3.0.4",
3737
"@remix-run/web-fetch": "^4.2.0",
3838
"@remix-run/web-file": "^3.0.2",
39-
"@types/jsdom": "^16.2.15",
4039
"@types/node": "15.0.2",
4140
"git-validate": "2.2.4",
4241
"husky": "^6.0.0",
43-
"jsdom": "^19.0.0",
4442
"lint-staged": "^11.0.0",
4543
"playwright-test": "^7.2.0",
4644
"prettier": "^2.3.0",

packages/form-data/test/all.spec.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,7 @@
1-
import { JSDOM } from 'jsdom';
21
import { test as libTest } from "./form-data.spec.js"
32
import { test as fetchTest } from "./fetch.spec.js"
43
import { test } from "./test.js"
54

6-
7-
8-
test.before(() => {
9-
const { window } = new JSDOM('');
10-
// @ts-ignore
11-
global.window = window;
12-
global.document = window.document;
13-
global.navigator = window.navigator;
14-
global.getComputedStyle = window.getComputedStyle;
15-
})
16-
175
libTest(test)
186
fetchTest(test)
197
test.run()

packages/form-data/test/form-data.spec.js

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -261,26 +261,35 @@ export const test = (test) => {
261261
});
262262

263263
test("Should allow passing a form element", () => {
264-
const form = document.createElement("form");
265-
const insideInput = document.createElement("input");
266-
const outsideInput = document.createElement("input");
267-
268-
outsideInput.type = "text";
269-
outsideInput.name = "form";
270-
outsideInput.value = "outside";
271-
outsideInput.setAttribute("form", "my-form");
272-
273-
insideInput.type = "text";
274-
insideInput.name = "form";
275-
insideInput.value = "inside";
276-
277-
form.appendChild(insideInput);
278-
form.id = "my-form";
279-
280-
document.body.appendChild(form);
281-
document.body.appendChild(outsideInput);
264+
// /** @type {globalThis.HTMLFormElement} */
265+
/** @type {any} */
266+
const form = {
267+
id: "my-form",
268+
elements: [
269+
{
270+
tagName: "INPUT",
271+
name: "inside",
272+
value: "",
273+
},
274+
{
275+
tagName: "INPUT",
276+
name: "outside",
277+
value: "",
278+
form: "my-form",
279+
},
280+
{
281+
tagName: "INPUT",
282+
name: "remember-me",
283+
value: "on",
284+
checked: true,
285+
}
286+
]
287+
};
282288

289+
// @ts-ignore
283290
const formData = new FormData(form);
284-
assert.equal(formData.getAll("form"), ["inside", "outside"]);
291+
assert.equal(formData.has("inside"), true)
292+
assert.equal(formData.has("outside"), true)
293+
assert.equal(formData.get("remember-me"), "on")
285294
})
286295
};

0 commit comments

Comments
 (0)