import { JupyterFrontEnd } from '@jupyterlab/application'; import { CodeEditor } from '@jupyterlab/codeeditor'; import { CodeMirrorEditor } from '@jupyterlab/codemirror'; import { IDocumentWidget } from '@jupyterlab/docregistry'; import { FileEditor } from '@jupyterlab/fileeditor'; import { ILoggerRegistry } from '@jupyterlab/logconsole'; import * as nbformat from '@jupyterlab/nbformat'; import { Notebook, NotebookPanel } from '@jupyterlab/notebook'; import { ITranslator } from '@jupyterlab/translation'; import { Signal } from '@lumino/signaling'; import { WidgetAdapter } from '../adapters/adapter'; import { FileEditorAdapter } from '../adapters/file_editor/file_editor'; import { NotebookAdapter } from '../adapters/notebook/notebook'; import { LSPConnection } from '../connection'; import { DocumentConnectionManager } from '../connection_manager'; import { IForeignCodeExtractorsRegistry } from '../extractors/types'; import { IFeatureSettings } from '../feature'; import { ILSPExtension } from '../index'; import { LanguageServerManager } from '../manager'; import { ICodeOverridesRegistry } from '../overrides/tokens'; import { ILSPFeatureManager, ILSPLogConsole, ILSPVirtualEditorManager, WidgetAdapterConstructor } from '../tokens'; import { CodeMirrorVirtualEditor } from '../virtual/codemirror_editor'; import { VirtualDocument } from '../virtual/document'; import { IVirtualEditor } from '../virtual/editor'; import { CodeMirrorIntegration, CodeMirrorIntegrationConstructor } from './codemirror'; import { EditorAdapter } from './editor_adapter'; import IEditor = CodeEditor.IEditor; export interface ITestEnvironment { document_options: VirtualDocument.IOptions; virtual_editor: CodeMirrorVirtualEditor; adapter: WidgetAdapter; /** * Has to be called after construction! */ init(): void; dispose(): void; } export declare class MockLanguageServerManager extends LanguageServerManager { fetchSessions(): Promise; } export declare class MockSettings implements IFeatureSettings { private settings; changed: Signal, void>; constructor(settings: T); get composite(): Required; set(setting: keyof T, value: any): void; } export declare class MockExtension implements ILSPExtension { app: JupyterFrontEnd; connection_manager: DocumentConnectionManager; language_server_manager: LanguageServerManager; feature_manager: ILSPFeatureManager; editor_type_manager: ILSPVirtualEditorManager; foreign_code_extractors: IForeignCodeExtractorsRegistry; code_overrides: ICodeOverridesRegistry; console: ILSPLogConsole; user_console: ILoggerRegistry; translator: ITranslator; constructor(); } export declare abstract class TestEnvironment implements ITestEnvironment { virtual_editor: CodeMirrorVirtualEditor; protected abstract get_adapter_type(): WidgetAdapterConstructor; adapter: WidgetAdapter; abstract widget: IDocumentWidget; protected extension: ILSPExtension; protected abstract get_defaults(): VirtualDocument.IOptions; document_options: VirtualDocument.IOptions; constructor(options?: Partial); protected abstract create_widget(): IDocumentWidget; init(): void; create_virtual_editor(): CodeMirrorVirtualEditor; dispose(): void; } export interface IFeatureTestEnvironment extends ITestEnvironment { init_integration(options: IFeatureTestEnvironment.IInitOptions): T; dispose_feature(feature: CodeMirrorIntegration): void; } export declare namespace IFeatureTestEnvironment { interface IInitOptions { constructor: CodeMirrorIntegrationConstructor; id: string; register?: boolean; document?: VirtualDocument; settings?: IFeatureSettings; } } export declare class FileEditorTestEnvironment extends TestEnvironment { protected get_adapter_type(): typeof FileEditorAdapter; widget: IDocumentWidget; protected get_defaults(): VirtualDocument.IOptions; get ce_editor(): CodeMirrorEditor; create_widget(): IDocumentWidget; dispose(): void; } export declare class NotebookTestEnvironment extends TestEnvironment { widget: NotebookPanel; protected get_adapter_type(): typeof NotebookAdapter; get notebook(): Notebook; protected get_defaults(): VirtualDocument.IOptions; create_widget(): IDocumentWidget; } declare const FileEditorFeatureTestEnvironment_base: { new (...args: any[]): { _connections: Map; init(): void; readonly status_message: import("../adapters/adapter").StatusMessage; init_integration(options: IFeatureTestEnvironment.IInitOptions): T; dispose_feature(feature: CodeMirrorIntegration): void; create_dummy_connection(): LSPConnection; dispose(): void; document_options: VirtualDocument.IOptions; virtual_editor: CodeMirrorVirtualEditor; adapter: WidgetAdapter; }; } & typeof FileEditorTestEnvironment; export declare class FileEditorFeatureTestEnvironment extends FileEditorFeatureTestEnvironment_base { } declare const NotebookFeatureTestEnvironment_base: { new (...args: any[]): { _connections: Map; init(): void; readonly status_message: import("../adapters/adapter").StatusMessage; init_integration(options: IFeatureTestEnvironment.IInitOptions): T; dispose_feature(feature: CodeMirrorIntegration): void; create_dummy_connection(): LSPConnection; dispose(): void; document_options: VirtualDocument.IOptions; virtual_editor: CodeMirrorVirtualEditor; adapter: WidgetAdapter; }; } & typeof NotebookTestEnvironment; export declare class NotebookFeatureTestEnvironment extends NotebookFeatureTestEnvironment_base { } export declare function code_cell(source: string[] | string, metadata?: Partial): nbformat.ICodeCell; export declare function set_notebook_content(notebook: Notebook, cells: nbformat.ICodeCell[], metadata?: nbformat.INotebookMetadata): void; export declare const python_notebook_metadata: nbformat.INotebookMetadata; export declare function showAllCells(notebook: Notebook): void; export declare function getCellsJSON(notebook: Notebook): Array; export declare function synchronize_content(environment: IFeatureTestEnvironment, adapter: EditorAdapter>): Promise; export {};