aboutsummaryrefslogtreecommitdiff
path: root/test/js/web/html/FormData.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/js/web/html/FormData.test.ts')
-rw-r--r--test/js/web/html/FormData.test.ts24
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", {