Better handle bigint

This commit is contained in:
2024-05-31 14:24:57 +08:00
parent 15ff42d8c4
commit 8437bf1436
36 changed files with 320 additions and 227 deletions

View File

@@ -1,5 +1,5 @@
import { assertEquals } from "@std/assert";
import { parse_bool, parse_int } from "./parse_form.ts";
import { parse_big_int, parse_bool, parse_int } from "./parse_form.ts";
Deno.test("parse_bool_test", async () => {
const f = new FormData();
@@ -27,3 +27,17 @@ Deno.test("parse_int_test", async () => {
f.append("d", "-1");
assertEquals(await parse_int(f.get("d"), null), -1);
});
Deno.test("parse_big_int_test", async () => {
const f = new FormData();
f.append("a", "d");
assertEquals(await parse_big_int(f.get("a"), null), null);
assertEquals(await parse_big_int(f.get("a"), 1), 1);
f.append("c", "1");
assertEquals(await parse_big_int(f.get("c"), null), 1);
assertEquals(await parse_big_int(f.get("c"), 2), 1);
f.append("d", "-1");
assertEquals(await parse_big_int(f.get("d"), null), -1);
f.append("b", "3152921504606847000");
assertEquals(await parse_big_int(f.get("b"), null), 3152921504606847000n);
});