summaryrefslogtreecommitdiff
path: root/std/node/_crypto/randomBytes_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/node/_crypto/randomBytes_test.ts')
-rw-r--r--std/node/_crypto/randomBytes_test.ts31
1 files changed, 26 insertions, 5 deletions
diff --git a/std/node/_crypto/randomBytes_test.ts b/std/node/_crypto/randomBytes_test.ts
index 701127dce..6dd2091e1 100644
--- a/std/node/_crypto/randomBytes_test.ts
+++ b/std/node/_crypto/randomBytes_test.ts
@@ -1,4 +1,11 @@
-import { assert, assertEquals, assertThrows } from "../../testing/asserts.ts";
+import {
+ assert,
+ assertEquals,
+ assertStringIncludes,
+ assertThrows,
+ assertThrowsAsync,
+} from "../../testing/asserts.ts";
+import { assertCallbackErrorUncaught } from "../_utils.ts";
import randomBytes, { MAX_RANDOM_VALUES, MAX_SIZE } from "./randomBytes.ts";
Deno.test("randomBytes sync works correctly", function () {
@@ -59,10 +66,24 @@ Deno.test("randomBytes async works correctly", function () {
assert(!err);
})
);
- assertThrows(() =>
- randomBytes(-1, function (err) {
- //Shouldn't throw async
- assert(!err);
+ assertThrowsAsync(() =>
+ new Promise((resolve, reject) => {
+ randomBytes(-1, function (err, res) {
+ //Shouldn't throw async
+ if (err) {
+ reject(err);
+ } else {
+ resolve(res);
+ }
+ });
})
);
});
+
+Deno.test("[std/node/crypto] randomBytes callback isn't called twice if error is thrown", async () => {
+ const importUrl = new URL("./randomBytes.ts", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import randomBytes from ${JSON.stringify(importUrl)}`,
+ invocation: "randomBytes(0, ",
+ });
+});