summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
authorLuca Casonato <lucacasonato@yahoo.com>2021-04-14 22:49:16 +0200
committerGitHub <noreply@github.com>2021-04-14 22:49:16 +0200
commit353e79c796efc6c6aa328abb4d7cef5e642944af (patch)
tree5ae6d1778c0a1dfa53ac62e409d6da8cdb31285f /cli/tests
parent5214acd3d9dec56ee159544f0f6bf9834a62c097 (diff)
chore: align FormData to spec (#10169)
This PR aligns `FormData` to spec. All WPT tests are passing.
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/unit/form_data_test.ts212
-rw-r--r--cli/tests/unit/unit_tests.ts1
2 files changed, 0 insertions, 213 deletions
diff --git a/cli/tests/unit/form_data_test.ts b/cli/tests/unit/form_data_test.ts
deleted file mode 100644
index 1a948631d..000000000
--- a/cli/tests/unit/form_data_test.ts
+++ /dev/null
@@ -1,212 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import {
- assert,
- assertEquals,
- assertStringIncludes,
- unitTest,
-} from "./test_util.ts";
-
-unitTest(function formDataHasCorrectNameProp(): void {
- assertEquals(FormData.name, "FormData");
-});
-
-unitTest(function formDataParamsAppendSuccess(): void {
- const formData = new FormData();
- formData.append("a", "true");
- assertEquals(formData.get("a"), "true");
-});
-
-unitTest(function formDataParamsDeleteSuccess(): void {
- const formData = new FormData();
- formData.append("a", "true");
- formData.append("b", "false");
- assertEquals(formData.get("b"), "false");
- formData.delete("b");
- assertEquals(formData.get("a"), "true");
- assertEquals(formData.get("b"), null);
-});
-
-unitTest(function formDataParamsGetAllSuccess(): void {
- const formData = new FormData();
- formData.append("a", "true");
- formData.append("b", "false");
- formData.append("a", "null");
- assertEquals(formData.getAll("a"), ["true", "null"]);
- assertEquals(formData.getAll("b"), ["false"]);
- assertEquals(formData.getAll("c"), []);
-});
-
-unitTest(function formDataParamsGetSuccess(): void {
- const formData = new FormData();
- formData.append("a", "true");
- formData.append("b", "false");
- formData.append("a", "null");
- // deno-lint-ignore no-explicit-any
- formData.append("d", undefined as any);
- // deno-lint-ignore no-explicit-any
- formData.append("e", null as any);
- assertEquals(formData.get("a"), "true");
- assertEquals(formData.get("b"), "false");
- assertEquals(formData.get("c"), null);
- assertEquals(formData.get("d"), "undefined");
- assertEquals(formData.get("e"), "null");
-});
-
-unitTest(function formDataParamsHasSuccess(): void {
- const formData = new FormData();
- formData.append("a", "true");
- formData.append("b", "false");
- assert(formData.has("a"));
- assert(formData.has("b"));
- assert(!formData.has("c"));
-});
-
-unitTest(function formDataParamsSetSuccess(): void {
- const formData = new FormData();
- formData.append("a", "true");
- formData.append("b", "false");
- formData.append("a", "null");
- assertEquals(formData.getAll("a"), ["true", "null"]);
- assertEquals(formData.getAll("b"), ["false"]);
- formData.set("a", "false");
- assertEquals(formData.getAll("a"), ["false"]);
- // deno-lint-ignore no-explicit-any
- formData.set("d", undefined as any);
- assertEquals(formData.get("d"), "undefined");
- // deno-lint-ignore no-explicit-any
- formData.set("e", null as any);
- assertEquals(formData.get("e"), "null");
-});
-
-unitTest(function fromDataUseFile(): void {
- const formData = new FormData();
- const file = new File(["foo"], "bar", {
- type: "text/plain",
- });
- formData.append("file", file);
- assertEquals(formData.get("file"), file);
-});
-
-unitTest(function formDataSetEmptyBlobSuccess(): void {
- const formData = new FormData();
- formData.set("a", new Blob([]), "blank.txt");
- formData.get("a");
- /* TODO Fix this test.
- assert(file instanceof File);
- if (typeof file !== "string") {
- assertEquals(file.name, "blank.txt");
- }
- */
-});
-
-unitTest(function formDataBlobFilename(): void {
- const formData = new FormData();
- const content = new TextEncoder().encode("deno");
- formData.set("a", new Blob([content]));
- const file = formData.get("a");
- assert(file instanceof File);
- assertEquals(file.name, "blob");
-});
-
-unitTest(function formDataParamsForEachSuccess(): void {
- const init = [
- ["a", "54"],
- ["b", "true"],
- ];
- const formData = new FormData();
- for (const [name, value] of init) {
- formData.append(name, value);
- }
- let callNum = 0;
- formData.forEach((value, key, parent): void => {
- assertEquals(formData, parent);
- assertEquals(value, init[callNum][1]);
- assertEquals(key, init[callNum][0]);
- callNum++;
- });
- assertEquals(callNum, init.length);
-});
-
-unitTest(function formDataParamsArgumentsCheck(): void {
- const methodRequireOneParam = [
- "delete",
- "getAll",
- "get",
- "has",
- "forEach",
- ] as const;
-
- const methodRequireTwoParams = ["append", "set"] as const;
-
- methodRequireOneParam.forEach((method): void => {
- const formData = new FormData();
- let hasThrown = 0;
- let errMsg = "";
- try {
- // deno-lint-ignore no-explicit-any
- (formData as any)[method]();
- hasThrown = 1;
- } catch (err) {
- errMsg = err.message;
- if (err instanceof TypeError) {
- hasThrown = 2;
- } else {
- hasThrown = 3;
- }
- }
- assertEquals(hasThrown, 2);
- assertStringIncludes(
- errMsg,
- `${method} requires at least 1 argument, but only 0 present`,
- );
- });
-
- methodRequireTwoParams.forEach((method: string): void => {
- const formData = new FormData();
- let hasThrown = 0;
- let errMsg = "";
-
- try {
- // deno-lint-ignore no-explicit-any
- (formData as any)[method]();
- hasThrown = 1;
- } catch (err) {
- errMsg = err.message;
- if (err instanceof TypeError) {
- hasThrown = 2;
- } else {
- hasThrown = 3;
- }
- }
- assertEquals(hasThrown, 2);
- assertStringIncludes(
- errMsg,
- `${method} requires at least 2 arguments, but only 0 present`,
- );
-
- hasThrown = 0;
- errMsg = "";
- try {
- // deno-lint-ignore no-explicit-any
- (formData as any)[method]("foo");
- hasThrown = 1;
- } catch (err) {
- errMsg = err.message;
- if (err instanceof TypeError) {
- hasThrown = 2;
- } else {
- hasThrown = 3;
- }
- }
- assertEquals(hasThrown, 2);
- assertStringIncludes(
- errMsg,
- `${method} requires at least 2 arguments, but only 1 present`,
- );
- });
-});
-
-unitTest(function toStringShouldBeWebCompatibility(): void {
- const formData = new FormData();
- assertEquals(formData.toString(), "[object FormData]");
-});
diff --git a/cli/tests/unit/unit_tests.ts b/cli/tests/unit/unit_tests.ts
index ebf87651d..4cfd3d961 100644
--- a/cli/tests/unit/unit_tests.ts
+++ b/cli/tests/unit/unit_tests.ts
@@ -24,7 +24,6 @@ import "./file_test.ts";
import "./filereader_test.ts";
import "./files_test.ts";
import "./filter_function_test.ts";
-import "./form_data_test.ts";
import "./format_error_test.ts";
import "./fs_events_test.ts";
import "./get_random_values_test.ts";