Skip to content

FormData doesn't support Files #12

@21echoes

Description

@21echoes

If you add the following lines to the index.test.js for FormData, you get a failure:

const fileData = new FormData();
const file = new File(["foo"], "foo.txt", { type: "text/plain" });
fileData.set("file", file);
expect(fileData.get("file")).toBe(file);

If you console.log(typeof fileData.get("file"), fileData.get("file")), you see that it's a string: "[object File]"

As a comparision, the test can be fixed by doing the following to use JSDOM directly:

const JSDOM = require("jsdom").JSDOM;
const dom = new JSDOM();
const fileData = new dom.window.FormData();
const file = new dom.window.File(["foo"], "foo.txt", { type: "text/plain" });
fileData.set("file", file);
expect(fileData.get("file")).toBe(file);

(note that you have to use both dom.window.FormData and dom.window.File in the fix for it to pass tests)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions