summaryrefslogtreecommitdiff
path: root/cli/tests/unit/structured_clone_test.ts
diff options
context:
space:
mode:
authorAndreu Botella <andreu@andreubotella.com>2022-03-14 19:35:15 +0100
committerGitHub <noreply@github.com>2022-03-14 19:35:15 +0100
commitc6bf07ec6d231d29149a2454d3b5135a41c6cbab (patch)
treee9252ea7bfba740802826ef26124393f3e0642de /cli/tests/unit/structured_clone_test.ts
parentb4e42953e1d243f2eda20e5be6b845d60b7bf688 (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.ts13
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",
+ );
+});