diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-03-31 16:37:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-31 10:37:38 -0400 |
commit | fec1b2a5a4324a7eecdfbb2471931f3b6b0139c5 (patch) | |
tree | 8a650553c2d70e047d9d7365f9ac8702ec9861a5 /cli/tests/unit/dispatch_json_test.ts | |
parent | 6dc3549a818ad49b3907d18c93fd422a9cc743a5 (diff) |
refactor: new optimized op-layer using serde_v8 (#9843)
- Improves op performance.
- Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs
per op-encoding (aka: out-of-payload).
- Remove shared queue & custom "asyncHandlers", all async values are
returned in batches via js_recv_cb.
- The op-layer should be thought of as simple function calls with little
indirection or translation besides the conceptually straightforward
serde_v8 bijections.
- Preserve concepts of json/bin/min as semantic groups of their
inputs/outputs instead of their op-encoding strategy, preserving these
groups will also facilitate partial transitions over to v8 Fast API for the
"min" and "bin" groups
Diffstat (limited to 'cli/tests/unit/dispatch_json_test.ts')
-rw-r--r-- | cli/tests/unit/dispatch_json_test.ts | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/cli/tests/unit/dispatch_json_test.ts b/cli/tests/unit/dispatch_json_test.ts deleted file mode 100644 index 3cb9506dd..000000000 --- a/cli/tests/unit/dispatch_json_test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { assertMatch, assertStrictEquals, unitTest } from "./test_util.ts"; - -declare global { - // deno-lint-ignore no-namespace - namespace Deno { - // deno-lint-ignore no-explicit-any - var core: any; // eslint-disable-line no-var - } -} - -unitTest(function malformedJsonControlBuffer(): void { - const opId = Deno.core.ops()["op_open_sync"]; - const argsBuf = new Uint8Array([1, 2, 3, 4, 5]); - const resBuf = Deno.core.send(opId, argsBuf); - const resText = new TextDecoder().decode(resBuf); - const resObj = JSON.parse(resText); - assertStrictEquals(resObj.ok, undefined); - assertStrictEquals(resObj.err.className, "SyntaxError"); - assertMatch(resObj.err.message, /\bexpected value\b/); -}); - -unitTest(function invalidRequestId(): void { - const opId = Deno.core.ops()["op_open_async"]; - const reqBuf = new Uint8Array([0, 0, 0, 0, 0, 0, 0]); - const resBuf = Deno.core.send(opId, reqBuf); - const resText = new TextDecoder().decode(resBuf); - const resObj = JSON.parse(resText); - console.error(resText); - assertStrictEquals(resObj.ok, undefined); - assertStrictEquals(resObj.err.className, "TypeError"); - assertMatch(resObj.err.message, /\brequestId\b/); -}); |