summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/jupyter/integration_test.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/testdata/jupyter/integration_test.ipynb')
-rw-r--r--cli/tests/testdata/jupyter/integration_test.ipynb620
1 files changed, 620 insertions, 0 deletions
diff --git a/cli/tests/testdata/jupyter/integration_test.ipynb b/cli/tests/testdata/jupyter/integration_test.ipynb
new file mode 100644
index 000000000..ec6b27973
--- /dev/null
+++ b/cli/tests/testdata/jupyter/integration_test.ipynb
@@ -0,0 +1,620 @@
+{
+ "cells": [
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "182aef1d",
+ "metadata": {},
+ "source": [
+ "# Integration Tests for Deno Jupyter\n",
+ "This notebook contains a number of tests to ensure that Jupyter is working as expected. You should be able to select \"Kernel -> Restart Kernel and Run All\" in Jupyter's notebook UI to run the tests."
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "d7705d88",
+ "metadata": {},
+ "source": [
+ "## Passing Tests"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "669f972e",
+ "metadata": {
+ "heading_collapsed": true
+ },
+ "source": [
+ "### Simple Tests"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "e7e8a512",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### This test should print \"hi\".\n",
+ "If this doesn't work, everything else will probably fail :)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "a5d38758",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {},
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "hi\n"
+ ]
+ }
+ ],
+ "source": [
+ "console.log(\"hi\")"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "bc5ce8e3",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### Top-level await"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "f7fa885a",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {},
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x is \u001b[33m42\u001b[39m\n"
+ ]
+ }
+ ],
+ "source": [
+ "let x = await Promise.resolve(42);\n",
+ "console.log(\"x is\", x);"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "c21455ae",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### TypeScript transpiling\n",
+ "Credit to [typescriptlang.org](https://www.typescriptlang.org/docs/handbook/interfaces.html) for this code"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "08a17340",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{ color: \u001b[32m\"red\"\u001b[39m, area: \u001b[33m10000\u001b[39m }"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "interface SquareConfig {\n",
+ " color?: string;\n",
+ " width?: number;\n",
+ "}\n",
+ " \n",
+ "function createSquare(config: SquareConfig): { color: string; area: number } {\n",
+ " return {\n",
+ " color: config.color || \"red\",\n",
+ " area: config.width ? config.width * config.width : 20,\n",
+ " };\n",
+ "}\n",
+ " \n",
+ "createSquare({ colour: \"red\", width: 100 });"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "eaa0ebc0",
+ "metadata": {
+ "heading_collapsed": true
+ },
+ "source": [
+ "### Return Values"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "52876276",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### undefined should not return a value"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "bbf2c09b",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {},
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "undefined"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "e175c803",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### null should return \"null\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "d9801d80",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\u001b[1mnull\u001b[22m"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "null"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "a2a716dc",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### boolean should return the boolean"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "cfaac330",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\u001b[33mtrue\u001b[39m"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "true"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "8d9f1aba",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### number should return the number"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "ec3be2da",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\u001b[33m42\u001b[39m"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "42"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "60965915",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### string should return the string"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "997cf2d7",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\u001b[32m\"this is a test of the emergency broadcast system\"\u001b[39m"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\"this is a test of the emergency broadcast system\""
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "fe38dc27",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### bigint should return the bigint in literal format"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "44b63807",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\u001b[33m31337n\u001b[39m"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "31337n"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "843ccb6c",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### symbol should return a string describing the symbol"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "e10c0d31",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\u001b[32mSymbol(foo)\u001b[39m"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Symbol(\"foo\")"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "171b817f",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### object should describe the object inspection"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "81c99233",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{ foo: \u001b[32m\"bar\"\u001b[39m }"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "{foo: \"bar\"}"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "6caeb583",
+ "metadata": {
+ "hidden": true
+ },
+ "source": [
+ "#### resolve returned promise"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "43c1581b",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Promise { \u001b[32m\"it worked!\"\u001b[39m }"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Promise.resolve(\"it worked!\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "9a34b725",
+ "metadata": {
+ "hidden": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Promise {\n",
+ " \u001b[36m<rejected>\u001b[39m Error: it failed!\n",
+ " at <anonymous>:2:16\n",
+ "}"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Promise.reject(new Error(\"it failed!\"));"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "b5c7b819",
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "ename": "Error: this is a test\n at foo (<anonymous>:3:9)\n at <anonymous>:4:3",
+ "evalue": "",
+ "output_type": "error",
+ "traceback": []
+ }
+ ],
+ "source": [
+ "(function foo() {\n",
+ " throw new Error(\"this is a test\")\n",
+ "})()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "72d01fdd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Promise {\n",
+ " \u001b[36m<rejected>\u001b[39m TypeError: Expected string at position 0\n",
+ " at Object.readFile (ext:deno_fs/30_fs.js:716:29)\n",
+ " at <anonymous>:2:6\n",
+ "}"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Deno.readFile(1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "28cf59d0-6908-4edc-bb10-c325beeee362",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "console.log(\"Hello from Deno!\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "8d5485c3-0da3-43fe-8ef5-a61e672f5e81",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "console.log(\"%c Hello Deno \", \"background-color: #15803d; color: white;\");"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "1401d9d5-6994-4c7b-b55a-db3c16a1e2dc",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"Cool 🫡\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "7afdaa0a-a2a0-4f52-8c7d-b6c5f237aa0d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "console.table([1, 2, 3])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "8e93df23-06eb-414b-98d4-51fbebb53d1f",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Deno",
+ "language": "typescript",
+ "name": "deno"
+ },
+ "language_info": {
+ "file_extension": ".ts",
+ "mimetype": "text/x.typescript",
+ "name": "typescript",
+ "nb_converter": "script",
+ "pygments_lexer": "typescript",
+ "version": "5.2.2"
+ },
+ "toc": {
+ "base_numbering": 1,
+ "nav_menu": {},
+ "number_sections": true,
+ "sideBar": true,
+ "skip_h1_title": false,
+ "title_cell": "Table of Contents",
+ "title_sidebar": "Contents",
+ "toc_cell": false,
+ "toc_position": {},
+ "toc_section_display": true,
+ "toc_window_display": true
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}