import { CodeEditor } from '@jupyterlab/codeeditor'; import { expect } from 'chai'; import { IVirtualDocumentBlock, VirtualDocument } from '../virtual/document'; export function extract_code(document: VirtualDocument, code: string) { return document.extract_foreign_code( { value: code, ce_editor: null as any }, { line: 0, column: 0 } ); } interface IDocumentWithRange { range: CodeEditor.IRange; virtual_document: VirtualDocument; } export function get_the_only_pair( foreign_document_map: Map ): IDocumentWithRange { expect(foreign_document_map.size).to.equal(1); let range = foreign_document_map.keys().next().value; let { virtual_document } = foreign_document_map.get(range)!; return { range, virtual_document }; } export function get_the_only_virtual( foreign_document_map: Map ) { let { virtual_document } = get_the_only_pair(foreign_document_map); return virtual_document; } export function wrap_in_python_lines(line: string) { return 'print("some code before")\n' + line + '\n' + 'print("and after")\n'; }