diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/ipynb.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/ipynb.test.ts new file mode 100644 index 00000000000..d4a1e2650c0 --- /dev/null +++ b/extensions/vscode-api-tests/src/singlefolder-tests/ipynb.test.ts @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as assert from 'assert'; +import 'mocha'; +import * as vscode from 'vscode'; + +suite('ipynb NotebookSerializer', function () { + test.only('Can open an ipynb notebook', async () => { + assert.ok(vscode.workspace.workspaceFolders); + const workspace = vscode.workspace.workspaceFolders[0]; + const uri = vscode.Uri.joinPath(workspace.uri, 'test.ipynb'); + console.log(uri); + const notebook = await vscode.workspace.openNotebookDocument(uri); + await vscode.window.showNotebookDocument(notebook); + + const notebookEditor = vscode.window.activeNotebookEditor; + assert.ok(notebookEditor); + + assert.strictEqual(notebookEditor.document.cellCount, 2); + assert.strictEqual(notebookEditor.document.cellAt(0).kind, vscode.NotebookCellKind.Markup); + assert.strictEqual(notebookEditor.document.cellAt(1).kind, vscode.NotebookCellKind.Code); + assert.strictEqual(notebookEditor.document.cellAt(1).outputs.length, 1); + }); +}); diff --git a/extensions/vscode-api-tests/testWorkspace/test.ipynb b/extensions/vscode-api-tests/testWorkspace/test.ipynb new file mode 100644 index 00000000000..9b0d1735596 --- /dev/null +++ b/extensions/vscode-api-tests/testWorkspace/test.ipynb @@ -0,0 +1,53 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "## Header" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 2, + "source": [ + "print('hello 1')\n", + "print('hello 2')" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "hello 1\n", + "hello 2\n" + ] + } + ], + "metadata": {} + } + ], + "metadata": { + "interpreter": { + "hash": "815c6b7592bf74925ca002a1774bcf064bae9d6a27e7933fd9109275fb484258" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.9.5 64-bit ('myvenv': venv)" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file