diff options
Diffstat (limited to 'test/js/web/html/FormData.test.ts')
-rw-r--r-- | test/js/web/html/FormData.test.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/js/web/html/FormData.test.ts b/test/js/web/html/FormData.test.ts index af2871b10..abb298c1a 100644 --- a/test/js/web/html/FormData.test.ts +++ b/test/js/web/html/FormData.test.ts @@ -338,6 +338,30 @@ describe("FormData", () => { expect(Bun.inspect(formData).length > 0).toBe(true); }); + describe("non-standard extensions", () => { + it("should support .length", () => { + const formData = new FormData(); + formData.append("foo", "bar"); + formData.append("foo", new Blob(["bar"])); + formData.append("bar", "baz"); + // @ts-ignore + expect(formData.length).toBe(3); + formData.delete("foo"); + // @ts-ignore + expect(formData.length).toBe(1); + formData.append("foo", "bar"); + // @ts-ignore + expect(formData.length).toBe(2); + formData.delete("foo"); + formData.delete("foo"); + // @ts-ignore + expect(formData.length).toBe(1); + formData.delete("bar"); + // @ts-ignore + expect(formData.length).toBe(0); + }); + }); + describe("URLEncoded", () => { test("should parse URL encoded", async () => { const response = new Response("foo=bar&baz=qux", { |