diff options
author | Andreu Botella <andreu@andreubotella.com> | 2022-03-14 19:35:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-14 19:35:15 +0100 |
commit | c6bf07ec6d231d29149a2454d3b5135a41c6cbab (patch) | |
tree | e9252ea7bfba740802826ef26124393f3e0642de /cli/tests/unit/structured_clone_test.ts | |
parent | b4e42953e1d243f2eda20e5be6b845d60b7bf688 (diff) |
fix(core): Don't override structured clone error messages from V8 (#13942)
In the implementation of structured serialization in
`Deno.core.serialize`, whenever there is a serialization error, an
exception will be thrown with the message "Failed to serialize
response", even though V8 provides a message to use in such cases.
This change instead throws an exception with the V8-provided message,
if there is one.
Diffstat (limited to 'cli/tests/unit/structured_clone_test.ts')
-rw-r--r-- | cli/tests/unit/structured_clone_test.ts | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/cli/tests/unit/structured_clone_test.ts b/cli/tests/unit/structured_clone_test.ts index f25276165..fdad0dba7 100644 --- a/cli/tests/unit/structured_clone_test.ts +++ b/cli/tests/unit/structured_clone_test.ts @@ -1,4 +1,4 @@ -import { assert, assertEquals } from "./test_util.ts"; +import { assert, assertEquals, assertThrows } from "./test_util.ts"; // Basic tests for the structured clone algorithm. Mainly tests TypeScript // typings. Actual functionality is tested in WPT. @@ -17,3 +17,14 @@ Deno.test("self.structuredClone", async () => { channelOriginal.port1.close(); portTransferred.close(); }); + +Deno.test("correct DataCloneError message", () => { + assertThrows( + () => { + const sab = new SharedArrayBuffer(1024); + structuredClone(sab, { transfer: [sab] }); + }, + DOMException, + "Value not transferable", + ); +}); |