diff options
Diffstat (limited to 'cli/tests/unit/jupyter_test.ts')
-rw-r--r-- | cli/tests/unit/jupyter_test.ts | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/cli/tests/unit/jupyter_test.ts b/cli/tests/unit/jupyter_test.ts deleted file mode 100644 index 07defe230..000000000 --- a/cli/tests/unit/jupyter_test.ts +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. - -import { assertEquals, assertThrows } from "./test_util.ts"; - -// @ts-expect-error TypeScript (as of 3.7) does not support indexing namespaces by symbol -const format = Deno[Deno.internal].jupyter.formatInner; - -Deno.test("Deno.jupyter is not available", () => { - assertThrows( - () => Deno.jupyter, - "Deno.jupyter is only available in `deno jupyter` subcommand.", - ); -}); - -export async function assertFormattedAs(obj: unknown, result: object) { - const formatted = await format(obj); - assertEquals(formatted, result); -} - -Deno.test("display(canvas) creates a PNG", async () => { - // Let's make a fake Canvas with a fake Data URL - class FakeCanvas { - toDataURL() { - return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAVSURBVAiZY/zPwPCfAQ0woQtQQRAAzqkCCB/D3o0AAAAASUVORK5CYII="; - } - } - const canvas = new FakeCanvas(); - - await assertFormattedAs(canvas, { - "image/png": - "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAVSURBVAiZY/zPwPCfAQ0woQtQQRAAzqkCCB/D3o0AAAAASUVORK5CYII=", - }); -}); - -Deno.test( - "class with a Symbol.for('Jupyter.display') function gets displayed", - async () => { - class Example { - x: number; - - constructor(x: number) { - this.x = x; - } - - [Symbol.for("Jupyter.display")]() { - return { "application/json": { x: this.x } }; - } - } - - const example = new Example(5); - - // Now to check on the broadcast call being made - await assertFormattedAs(example, { "application/json": { x: 5 } }); - }, -); - -Deno.test( - "class with an async Symbol.for('Jupyter.display') function gets displayed", - async () => { - class Example { - x: number; - - constructor(x: number) { - this.x = x; - } - - async [Symbol.for("Jupyter.display")]() { - await new Promise((resolve) => setTimeout(resolve, 0)); - - return { "application/json": { x: this.x } }; - } - } - - const example = new Example(3); - - // Now to check on the broadcast call being made - await assertFormattedAs(example, { "application/json": { x: 3 } }); - }, -); |