deno/tests/unit_node/querystring_test.ts
2024-07-25 15:30:28 +10:00

52 lines
940 B
TypeScript

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assertEquals } from "@std/assert";
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",
);
},
});