summaryrefslogtreecommitdiff
path: root/js/url_search_params_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/url_search_params_test.ts')
-rw-r--r--js/url_search_params_test.ts238
1 files changed, 0 insertions, 238 deletions
diff --git a/js/url_search_params_test.ts b/js/url_search_params_test.ts
deleted file mode 100644
index 08b0c5a1f..000000000
--- a/js/url_search_params_test.ts
+++ /dev/null
@@ -1,238 +0,0 @@
-// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-import { test, assert, assertEquals } from "./test_util.ts";
-
-test(function urlSearchParamsInitString(): void {
- const init = "c=4&a=2&b=3&%C3%A1=1";
- const searchParams = new URLSearchParams(init);
- assert(
- init === searchParams.toString(),
- "The init query string does not match"
- );
-});
-
-test(function urlSearchParamsInitIterable(): void {
- const init = [["a", "54"], ["b", "true"]];
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.toString(), "a=54&b=true");
-});
-
-test(function urlSearchParamsInitRecord(): void {
- const init = { a: "54", b: "true" };
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.toString(), "a=54&b=true");
-});
-
-test(function urlSearchParamsInit(): void {
- const params1 = new URLSearchParams("a=b");
- assertEquals(params1.toString(), "a=b");
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- const params2 = new URLSearchParams(params1 as any);
- assertEquals(params2.toString(), "a=b");
-});
-
-test(function urlSearchParamsAppendSuccess(): void {
- const searchParams = new URLSearchParams();
- searchParams.append("a", "true");
- assertEquals(searchParams.toString(), "a=true");
-});
-
-test(function urlSearchParamsDeleteSuccess(): void {
- const init = "a=54&b=true";
- const searchParams = new URLSearchParams(init);
- searchParams.delete("b");
- assertEquals(searchParams.toString(), "a=54");
-});
-
-test(function urlSearchParamsGetAllSuccess(): void {
- const init = "a=54&b=true&a=true";
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.getAll("a"), ["54", "true"]);
- assertEquals(searchParams.getAll("b"), ["true"]);
- assertEquals(searchParams.getAll("c"), []);
-});
-
-test(function urlSearchParamsGetSuccess(): void {
- const init = "a=54&b=true&a=true";
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.get("a"), "54");
- assertEquals(searchParams.get("b"), "true");
- assertEquals(searchParams.get("c"), null);
-});
-
-test(function urlSearchParamsHasSuccess(): void {
- const init = "a=54&b=true&a=true";
- const searchParams = new URLSearchParams(init);
- assert(searchParams.has("a"));
- assert(searchParams.has("b"));
- assert(!searchParams.has("c"));
-});
-
-test(function urlSearchParamsSetReplaceFirstAndRemoveOthers(): void {
- const init = "a=54&b=true&a=true";
- const searchParams = new URLSearchParams(init);
- searchParams.set("a", "false");
- assertEquals(searchParams.toString(), "a=false&b=true");
-});
-
-test(function urlSearchParamsSetAppendNew(): void {
- const init = "a=54&b=true&a=true";
- const searchParams = new URLSearchParams(init);
- searchParams.set("c", "foo");
- assertEquals(searchParams.toString(), "a=54&b=true&a=true&c=foo");
-});
-
-test(function urlSearchParamsSortSuccess(): void {
- const init = "c=4&a=2&b=3&a=1";
- const searchParams = new URLSearchParams(init);
- searchParams.sort();
- assertEquals(searchParams.toString(), "a=2&a=1&b=3&c=4");
-});
-
-test(function urlSearchParamsForEachSuccess(): void {
- const init = [["a", "54"], ["b", "true"]];
- const searchParams = new URLSearchParams(init);
- let callNum = 0;
- searchParams.forEach(
- (value, key, parent): void => {
- assertEquals(searchParams, parent);
- assertEquals(value, init[callNum][1]);
- assertEquals(key, init[callNum][0]);
- callNum++;
- }
- );
- assertEquals(callNum, init.length);
-});
-
-test(function urlSearchParamsMissingName(): void {
- const init = "=4";
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.get(""), "4");
- assertEquals(searchParams.toString(), "=4");
-});
-
-test(function urlSearchParamsMissingValue(): void {
- const init = "4=";
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.get("4"), "");
- assertEquals(searchParams.toString(), "4=");
-});
-
-test(function urlSearchParamsMissingEqualSign(): void {
- const init = "4";
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.get("4"), "");
- assertEquals(searchParams.toString(), "4=");
-});
-
-test(function urlSearchParamsMissingPair(): void {
- const init = "c=4&&a=54&";
- const searchParams = new URLSearchParams(init);
- assertEquals(searchParams.toString(), "c=4&a=54");
-});
-
-// If pair does not contain exactly two items, then throw a TypeError.
-// ref https://url.spec.whatwg.org/#interface-urlsearchparams
-test(function urlSearchParamsShouldThrowTypeError(): void {
- let hasThrown = 0;
-
- try {
- new URLSearchParams([["1"]]);
- hasThrown = 1;
- } catch (err) {
- if (err instanceof TypeError) {
- hasThrown = 2;
- } else {
- hasThrown = 3;
- }
- }
-
- assertEquals(hasThrown, 2);
-
- try {
- new URLSearchParams([["1", "2", "3"]]);
- hasThrown = 1;
- } catch (err) {
- if (err instanceof TypeError) {
- hasThrown = 2;
- } else {
- hasThrown = 3;
- }
- }
-
- assertEquals(hasThrown, 2);
-});
-
-test(function urlSearchParamsAppendArgumentsCheck(): void {
- const methodRequireOneParam = ["delete", "getAll", "get", "has", "forEach"];
-
- const methodRequireTwoParams = ["append", "set"];
-
- methodRequireOneParam.concat(methodRequireTwoParams).forEach(
- (method: string): void => {
- const searchParams = new URLSearchParams();
- let hasThrown = 0;
- try {
- searchParams[method]();
- hasThrown = 1;
- } catch (err) {
- if (err instanceof TypeError) {
- hasThrown = 2;
- } else {
- hasThrown = 3;
- }
- }
- assertEquals(hasThrown, 2);
- }
- );
-
- methodRequireTwoParams.forEach(
- (method: string): void => {
- const searchParams = new URLSearchParams();
- let hasThrown = 0;
- try {
- searchParams[method]("foo");
- hasThrown = 1;
- } catch (err) {
- if (err instanceof TypeError) {
- hasThrown = 2;
- } else {
- hasThrown = 3;
- }
- }
- assertEquals(hasThrown, 2);
- }
- );
-});
-
-// ref: https://github.com/web-platform-tests/wpt/blob/master/url/urlsearchparams-delete.any.js
-test(function urlSearchParamsDeletingAppendedMultiple(): void {
- const params = new URLSearchParams();
- params.append("first", (1 as unknown) as string);
- assert(params.has("first"));
- assertEquals(params.get("first"), "1");
- params.delete("first");
- assertEquals(params.has("first"), false);
- params.append("first", (1 as unknown) as string);
- params.append("first", (10 as unknown) as string);
- params.delete("first");
- assertEquals(params.has("first"), false);
-});
-
-// ref: https://github.com/web-platform-tests/wpt/blob/master/url/urlsearchparams-constructor.any.js#L176-L182
-test(function urlSearchParamsCustomSymbolIterator(): void {
- const params = new URLSearchParams();
- params[Symbol.iterator] = function*(): IterableIterator<[string, string]> {
- yield ["a", "b"];
- };
- const params1 = new URLSearchParams((params as unknown) as string[][]);
- assertEquals(params1.get("a"), "b");
-});
-
-test(function urlSearchParamsCustomSymbolIteratorWithNonStringParams(): void {
- const params = {};
- params[Symbol.iterator] = function*(): IterableIterator<[number, number]> {
- yield [1, 2];
- };
- const params1 = new URLSearchParams((params as unknown) as string[][]);
- assertEquals(params1.get("1"), "2");
-});