1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-11 18:17:48 -05:00
denoland-deno/cli/tests/unit_node/querystring_test.ts
Divy Srivastava eb8bf806b3
fix(ext/node): querystring stringify without encode callback (#21740)
Fixes https://github.com/denoland/deno/issues/21734

Changes:
- Use default encode when options do not provide a encode callback.
- Remove internal TS for `node:querystring`. Its not helping catching
bugs like this because of invalid type assumptions and use of `any`,
more of a maintenance burden.
2024-01-04 20:34:52 +01:00

51 lines
965 B
TypeScript

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assertEquals } from "../../../test_util/std/assert/mod.ts";
import { parse, stringify } from "node:querystring";
Deno.test({
name: "stringify",
fn() {
assertEquals(
stringify({
a: "hello",
b: 5,
c: true,
d: ["foo", "bar"],
}),
"a=hello&b=5&c=true&d=foo&d=bar",
);
},
});
Deno.test({
name: "parse",
fn() {
assertEquals(parse("a=hello&b=5&c=true&d=foo&d=bar"), {
a: "hello",
b: "5",
c: "true",
d: ["foo", "bar"],
});
},
});
// https://github.com/denoland/deno/issues/21734
Deno.test({
name: "stringify options no encode",
fn() {
assertEquals(
stringify(
{
a: "hello",
b: 5,
c: true,
d: ["foo", "bar"],
},
"&",
"=",
{},
),
"a=hello&b=5&c=true&d=foo&d=bar",
);
},
});