summaryrefslogtreecommitdiff
path: root/cli/js/dispatch_json_test.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2019-10-25 19:23:16 +0200
committerRy Dahl <ry@tinyclouds.org>2019-10-25 13:23:16 -0400
commitdfcdc0315233019740d76448be68cad0292a6c1d (patch)
tree68be63c092cdfe1d8ac9bcf04c5cfe3a05e4f691 /cli/js/dispatch_json_test.ts
parent2270abbc448c31c958d78ec55714392f77c13472 (diff)
fix: handle malformed control buffers (#3202)
Diffstat (limited to 'cli/js/dispatch_json_test.ts')
-rw-r--r--cli/js/dispatch_json_test.ts20
1 files changed, 19 insertions, 1 deletions
diff --git a/cli/js/dispatch_json_test.ts b/cli/js/dispatch_json_test.ts
index 11dadc620..07549d295 100644
--- a/cli/js/dispatch_json_test.ts
+++ b/cli/js/dispatch_json_test.ts
@@ -1,4 +1,11 @@
-import { testPerm, assertMatch, unreachable } from "./test_util.ts";
+import {
+ test,
+ testPerm,
+ assert,
+ assertEquals,
+ assertMatch,
+ unreachable
+} from "./test_util.ts";
const openErrorStackPattern = new RegExp(
`^.*
@@ -17,3 +24,14 @@ testPerm({ read: true }, async function sendAsyncStackTrace(): Promise<void> {
}
);
});
+
+test(async function malformedJsonControlBuffer(): Promise<void> {
+ // @ts-ignore
+ const res = Deno.core.send(10, new Uint8Array([1, 2, 3, 4, 5]));
+ const resText = new TextDecoder().decode(res);
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ const resJson = JSON.parse(resText) as any;
+ assert(!resJson.ok);
+ assert(resJson.err);
+ assertEquals(resJson.err!.kind, Deno.ErrorKind.InvalidInput);
+});