From 5aa27c45f1cae6f0121e0860cd4be329ced887a6 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Wed, 20 Dec 2023 07:54:55 +0530 Subject: fix(node): add crypto.pseudoRandomBytes (#21649) --- cli/tests/unit_node/internal/_randomBytes_test.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'cli') diff --git a/cli/tests/unit_node/internal/_randomBytes_test.ts b/cli/tests/unit_node/internal/_randomBytes_test.ts index 69845705e..b12674170 100644 --- a/cli/tests/unit_node/internal/_randomBytes_test.ts +++ b/cli/tests/unit_node/internal/_randomBytes_test.ts @@ -6,7 +6,7 @@ import { assertThrows, } from "../../../../test_util/std/assert/mod.ts"; import { assertCallbackErrorUncaught } from "../_test_utils.ts"; -import { randomBytes } from "node:crypto"; +import { pseudoRandomBytes, randomBytes } from "node:crypto"; const MAX_RANDOM_VALUES = 65536; const MAX_SIZE = 4294967295; @@ -90,3 +90,23 @@ Deno.test("[std/node/crypto] randomBytes callback isn't called twice if error is invocation: "randomBytes(0, ", }); }); + +// https://github.com/denoland/deno/issues/21632 +Deno.test("pseudoRandomBytes works", function () { + assertEquals(pseudoRandomBytes(0).length, 0, "len: " + 0); + assertEquals(pseudoRandomBytes(3).length, 3, "len: " + 3); + assertEquals(pseudoRandomBytes(30).length, 30, "len: " + 30); + assertEquals(pseudoRandomBytes(300).length, 300, "len: " + 300); + assertEquals( + pseudoRandomBytes(17 + MAX_RANDOM_VALUES).length, + 17 + MAX_RANDOM_VALUES, + "len: " + 17 + MAX_RANDOM_VALUES, + ); + assertEquals( + pseudoRandomBytes(MAX_RANDOM_VALUES * 100).length, + MAX_RANDOM_VALUES * 100, + "len: " + MAX_RANDOM_VALUES * 100, + ); + assertThrows(() => pseudoRandomBytes(MAX_SIZE + 1)); + assertThrows(() => pseudoRandomBytes(-1)); +}); -- cgit v1.2.3