mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-18 09:35:39 -05:00
Add more unit tests for NotebookInput (#8654)
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { INotebookEditor, INotebookSection, INotebookParams } from 'sql/workbench/services/notebook/browser/notebookService';
|
||||
import { ICellModel, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces';
|
||||
import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
import { CellType } from 'sql/workbench/contrib/notebook/common/models/contracts';
|
||||
|
||||
export class NotebookComponentStub implements INotebookEditor {
|
||||
get notebookParams(): INotebookParams {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get id(): string {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get cells(): ICellModel[] {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get modelReady(): Promise<INotebookModel> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get model(): INotebookModel {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isDirty(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isActive(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isVisible(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
executeEdits(edits: ISingleNotebookEditOperation[]): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
runCell(cell: ICellModel): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
runAllCells(startCell?: ICellModel, endCell?: ICellModel): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
clearOutput(cell: ICellModel): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
clearAllOutputs(): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
getSections(): INotebookSection[] {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
navigateToSection(sectionId: string): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
addCell(cellType: CellType, index?: number, event?: Event) {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
}
|
||||
@@ -9,12 +9,12 @@ import * as assert from 'assert';
|
||||
import { AddCellAction, ClearAllOutputsAction, CollapseCellsAction, TrustedAction, RunAllCellsAction, NewNotebookAction } from 'sql/workbench/contrib/notebook/browser/notebookActions';
|
||||
import { CellType } from 'sql/workbench/contrib/notebook/common/models/contracts';
|
||||
import { INotebookEditor } from 'sql/workbench/services/notebook/browser/notebookService';
|
||||
import { NotebookComponentStub } from 'sql/workbench/contrib/notebook/test/browser/common';
|
||||
import { ICellModel, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces';
|
||||
import { INotificationService } from 'vs/platform/notification/common/notification';
|
||||
import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { TestCommandService } from 'vs/editor/test/browser/editorTestServices';
|
||||
import { NotebookComponentStub } from 'sql/workbench/contrib/notebook/test/stubs';
|
||||
|
||||
suite('Notebook Actions', function (): void {
|
||||
test('Add Cell Action', async function (): Promise<void> {
|
||||
|
||||
@@ -0,0 +1,174 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as TypeMoq from 'typemoq';
|
||||
import * as assert from 'assert';
|
||||
import { nb } from 'azdata';
|
||||
import { workbenchInstantiationService } from 'vs/workbench/test/workbenchTestServices';
|
||||
import { Schemas } from 'vs/base/common/network';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { UntitledNotebookInput } from 'sql/workbench/contrib/notebook/common/models/untitledNotebookInput';
|
||||
import { FileNotebookInput } from 'sql/workbench/contrib/notebook/common/models/fileNotebookInput';
|
||||
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
|
||||
import { UntitledTextEditorModel } from 'vs/workbench/common/editor/untitledTextEditorModel';
|
||||
import { NodeStub, NotebookServiceStub } from 'sql/workbench/contrib/notebook/test/stubs';
|
||||
import { basenameOrAuthority } from 'vs/base/common/resources';
|
||||
import { UntitledTextEditorInput } from 'vs/workbench/common/editor/untitledTextEditorInput';
|
||||
import { SimpleUriLabelService } from 'vs/editor/standalone/browser/simpleServices';
|
||||
import { IExtensionService, NullExtensionService } from 'vs/workbench/services/extensions/common/extensions';
|
||||
import { INotebookService, IProviderInfo } from 'sql/workbench/services/notebook/browser/notebookService';
|
||||
|
||||
suite('Notebook Input', function (): void {
|
||||
const instantiationService = workbenchInstantiationService();
|
||||
|
||||
const testTitle = 'TestTitle';
|
||||
const testProvider = 'TestProvider';
|
||||
const untitledUri = URI.from({ scheme: Schemas.untitled, path: 'TestPath' });
|
||||
|
||||
const mockExtensionService = TypeMoq.Mock.ofType<IExtensionService>(NullExtensionService);
|
||||
mockExtensionService.setup(s => s.whenInstalledExtensionsRegistered()).returns(() => Promise.resolve(true));
|
||||
|
||||
const mockNotebookService = TypeMoq.Mock.ofType<INotebookService>(NotebookServiceStub);
|
||||
mockNotebookService.setup(s => s.getProvidersForFileType(TypeMoq.It.isAny())).returns(() => [testProvider]);
|
||||
mockNotebookService.setup(s => s.getStandardKernelsForProvider(TypeMoq.It.isAny())).returns(() => {
|
||||
return [{
|
||||
name: 'TestName',
|
||||
displayName: 'TestDisplayName',
|
||||
connectionProviderIds: ['TestId'],
|
||||
notebookProvider: 'TestProvider'
|
||||
}];
|
||||
});
|
||||
|
||||
let untitledTextInput: UntitledTextEditorInput;
|
||||
let untitledNotebookInput: UntitledNotebookInput;
|
||||
|
||||
setup(() => {
|
||||
untitledTextInput = new UntitledTextEditorInput(untitledUri, false, '', '', '', instantiationService, undefined, new SimpleUriLabelService(), undefined, undefined, undefined);
|
||||
untitledNotebookInput = new UntitledNotebookInput(
|
||||
testTitle, untitledUri, untitledTextInput,
|
||||
undefined, instantiationService, mockNotebookService.object, mockExtensionService.object);
|
||||
});
|
||||
|
||||
test('File Notebook Input', async function (): Promise<void> {
|
||||
let fileUri = URI.from({ scheme: Schemas.file, path: 'TestPath' });
|
||||
let fileNotebookInput = new FileNotebookInput(
|
||||
testTitle, fileUri, undefined,
|
||||
undefined, instantiationService, mockNotebookService.object, mockExtensionService.object);
|
||||
|
||||
let inputId = fileNotebookInput.getTypeId();
|
||||
assert.strictEqual(inputId, FileNotebookInput.ID);
|
||||
assert.strictEqual(fileNotebookInput.isUntitled(), false, 'File Input should not be untitled');
|
||||
});
|
||||
|
||||
test('Untitled Notebook Input', async function (): Promise<void> {
|
||||
let inputId = untitledNotebookInput.getTypeId();
|
||||
assert.strictEqual(inputId, UntitledNotebookInput.ID);
|
||||
assert.ok(untitledNotebookInput.isUntitled(), 'Untitled Input should be untitled');
|
||||
});
|
||||
|
||||
test('Getters and Setters', async function (): Promise<void> {
|
||||
// Input title
|
||||
assert.strictEqual(untitledNotebookInput.getTitle(), testTitle);
|
||||
|
||||
let noTitleInput = instantiationService.createInstance(UntitledNotebookInput, undefined, untitledUri, undefined);
|
||||
assert.strictEqual(noTitleInput.getTitle(), basenameOrAuthority(untitledUri));
|
||||
|
||||
// Text Input
|
||||
assert.strictEqual(untitledNotebookInput.textInput, untitledTextInput);
|
||||
|
||||
// Notebook URI
|
||||
assert.deepStrictEqual(untitledNotebookInput.notebookUri, untitledUri);
|
||||
|
||||
// Content Manager
|
||||
assert.notStrictEqual(untitledNotebookInput.editorOpenedTimestamp, undefined);
|
||||
|
||||
// Notebook editor timestamp
|
||||
assert.notStrictEqual(untitledNotebookInput.contentManager, undefined);
|
||||
|
||||
// Layout changed event
|
||||
assert.notStrictEqual(untitledNotebookInput.layoutChanged, undefined);
|
||||
|
||||
// Connection Profile
|
||||
let testProfile = <IConnectionProfile>{};
|
||||
untitledNotebookInput.connectionProfile = testProfile;
|
||||
assert.strictEqual(untitledNotebookInput.connectionProfile, testProfile);
|
||||
|
||||
// Default Kernel
|
||||
let testDefaultKernel: nb.IKernelSpec = {
|
||||
name: 'TestName',
|
||||
language: 'TestLanguage',
|
||||
display_name: 'TestDisplayName'
|
||||
};
|
||||
untitledNotebookInput.defaultKernel = testDefaultKernel;
|
||||
assert.strictEqual(untitledNotebookInput.defaultKernel, testDefaultKernel);
|
||||
|
||||
// Untitled Editor Model
|
||||
let testModel = <UntitledTextEditorModel>{};
|
||||
untitledNotebookInput.untitledEditorModel = testModel;
|
||||
assert.strictEqual(untitledNotebookInput.untitledEditorModel, testModel);
|
||||
|
||||
// getResource
|
||||
assert.strictEqual(untitledNotebookInput.getResource(), untitledUri);
|
||||
|
||||
// Standard kernels
|
||||
let testKernels = [{
|
||||
name: 'TestName1',
|
||||
displayName: 'TestDisplayName1',
|
||||
connectionProviderIds: ['TestId1'],
|
||||
notebookProvider: 'TestProvider'
|
||||
}, {
|
||||
name: 'TestName2',
|
||||
displayName: 'TestDisplayName2',
|
||||
connectionProviderIds: ['TestId2'],
|
||||
notebookProvider: 'TestProvider'
|
||||
}];
|
||||
untitledNotebookInput.standardKernels = testKernels;
|
||||
assert.deepStrictEqual(untitledNotebookInput.standardKernels, testKernels);
|
||||
|
||||
// Provider Info
|
||||
let provider = await untitledNotebookInput.getProviderInfo();
|
||||
assert.deepStrictEqual(provider, <IProviderInfo>{
|
||||
providerId: testProvider,
|
||||
providers: [testProvider]
|
||||
});
|
||||
});
|
||||
|
||||
test('Parent container', async function (): Promise<void> {
|
||||
// Undefined container
|
||||
let testContainer = undefined;
|
||||
untitledNotebookInput.container = testContainer;
|
||||
assert.strictEqual(untitledNotebookInput.container, testContainer);
|
||||
|
||||
// Dispose old container when setting new one
|
||||
let removedContainer: HTMLElement;
|
||||
let mockParentNode = TypeMoq.Mock.ofType<Node>(NodeStub);
|
||||
mockParentNode.setup(e => e.removeChild(TypeMoq.It.isAny())).returns(oldChild => {
|
||||
removedContainer = oldChild;
|
||||
return oldChild;
|
||||
});
|
||||
testContainer = <HTMLElement>{ parentNode: mockParentNode.object };
|
||||
untitledNotebookInput.container = testContainer;
|
||||
assert.strictEqual(untitledNotebookInput.container, testContainer);
|
||||
|
||||
let oldContainer = testContainer;
|
||||
testContainer = <HTMLElement>{};
|
||||
untitledNotebookInput.container = testContainer;
|
||||
assert.strictEqual(untitledNotebookInput.container, testContainer);
|
||||
mockParentNode.verify(e => e.removeChild(TypeMoq.It.isAny()), TypeMoq.Times.once());
|
||||
assert.strictEqual(removedContainer, oldContainer);
|
||||
});
|
||||
|
||||
test('Matches other input', async function (): Promise<void> {
|
||||
assert.strictEqual(untitledNotebookInput.matches(undefined), false, 'Input should not match undefined.');
|
||||
|
||||
assert.ok(untitledNotebookInput.matches(untitledNotebookInput), 'Input should match itself.');
|
||||
|
||||
let otherTestUri = URI.from({ scheme: Schemas.untitled, path: 'OtherTestPath' });
|
||||
let otherTextInput = new UntitledTextEditorInput(otherTestUri, false, '', '', '', instantiationService, undefined, new SimpleUriLabelService(), undefined, undefined, undefined);
|
||||
let otherInput = instantiationService.createInstance(UntitledNotebookInput, 'OtherTestInput', otherTestUri, otherTextInput);
|
||||
|
||||
assert.strictEqual(untitledNotebookInput.matches(otherInput), false, 'Input should not match different input.');
|
||||
});
|
||||
});
|
||||
@@ -11,7 +11,7 @@ import * as objects from 'vs/base/common/objects';
|
||||
|
||||
import { CellTypes } from 'sql/workbench/contrib/notebook/common/models/contracts';
|
||||
import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory';
|
||||
import { NotebookModelStub, ClientSessionStub, KernelStub, FutureStub } from './common';
|
||||
import { NotebookModelStub, ClientSessionStub, KernelStub, FutureStub } from 'sql/workbench/contrib/notebook/test/stubs';
|
||||
import { EmptyFuture } from 'sql/workbench/services/notebook/browser/sessionManager';
|
||||
import { ICellModel, ICellModelOptions, IClientSession, INotebookModel } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces';
|
||||
import { Deferred } from 'sql/base/common/promise';
|
||||
|
||||
@@ -13,7 +13,7 @@ import { URI } from 'vs/base/common/uri';
|
||||
|
||||
import { ClientSession } from 'sql/workbench/contrib/notebook/browser/models/clientSession';
|
||||
import { SessionManager } from 'sql/workbench/services/notebook/browser/sessionManager';
|
||||
import { NotebookManagerStub, ServerManagerStub } from './common';
|
||||
import { NotebookManagerStub, ServerManagerStub } from 'sql/workbench/contrib/notebook/test/stubs';
|
||||
import { isUndefinedOrNull } from 'vs/base/common/types';
|
||||
|
||||
suite('Client Session', function (): void {
|
||||
|
||||
@@ -12,7 +12,7 @@ import { TestNotificationService } from 'vs/platform/notification/test/common/te
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
|
||||
import { LocalContentManager } from 'sql/workbench/services/notebook/common/localContentManager';
|
||||
import { NotebookManagerStub } from './common';
|
||||
import { NotebookManagerStub } from 'sql/workbench/contrib/notebook/test/stubs';
|
||||
import { NotebookModel } from 'sql/workbench/contrib/notebook/browser/models/notebookModel';
|
||||
import { ModelFactory } from 'sql/workbench/contrib/notebook/browser/models/modelFactory';
|
||||
import { IClientSession, INotebookModelOptions, NotebookContentChange } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces';
|
||||
|
||||
@@ -9,7 +9,7 @@ import * as TypeMoq from 'typemoq';
|
||||
import { nb, ServerInfo } from 'azdata';
|
||||
import { tryMatchCellMagic, getHostAndPortFromEndpoint, isStream, getProvidersForFileName, asyncForEach, clusterEndpointsProperty, getClusterEndpoints, RawEndpoint, IEndpoint, getStandardKernelsForProvider, IStandardKernelWithProvider } from 'sql/workbench/contrib/notebook/browser/models/notebookUtils';
|
||||
import { INotebookService, DEFAULT_NOTEBOOK_FILETYPE, DEFAULT_NOTEBOOK_PROVIDER } from 'sql/workbench/services/notebook/browser/notebookService';
|
||||
import { NotebookServiceStub } from 'sql/workbench/contrib/notebook/test/electron-browser/common';
|
||||
import { NotebookServiceStub } from 'sql/workbench/contrib/notebook/test/stubs';
|
||||
|
||||
suite('notebookUtils', function (): void {
|
||||
const mockNotebookService = TypeMoq.Mock.ofType<INotebookService>(NotebookServiceStub);
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
import { nb, IConnectionProfile } from 'azdata';
|
||||
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import * as vsEvent from 'vs/base/common/event';
|
||||
import { INotebookModel, ICellModel, IClientSession, NotebookContentChange, IKernelPreference } from 'sql/workbench/contrib/notebook/browser/models/modelInterfaces';
|
||||
import { NotebookChangeType, CellType } from 'sql/workbench/contrib/notebook/common/models/contracts';
|
||||
import { INotebookManager, INotebookService, INotebookEditor, ILanguageMagic, INotebookProvider, INavigationProvider } from 'sql/workbench/services/notebook/browser/notebookService';
|
||||
import { INotebookManager, INotebookService, INotebookEditor, ILanguageMagic, INotebookProvider, INavigationProvider, INotebookParams, INotebookSection } from 'sql/workbench/services/notebook/browser/notebookService';
|
||||
import { ISingleNotebookEditOperation } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
import { IStandardKernelWithProvider } from 'sql/workbench/contrib/notebook/browser/models/notebookUtils';
|
||||
import { URI } from 'vs/workbench/workbench.web.api';
|
||||
import { URI, Emitter } from 'vs/workbench/workbench.web.api';
|
||||
import { RenderMimeRegistry } from 'sql/workbench/contrib/notebook/browser/outputs/registry';
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
|
||||
@@ -40,25 +40,25 @@ export class NotebookModelStub implements INotebookModel {
|
||||
get notebookManagers(): INotebookManager[] {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get kernelChanged(): Event<nb.IKernelChangedArgs> {
|
||||
get kernelChanged(): vsEvent.Event<nb.IKernelChangedArgs> {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get kernelsChanged(): Event<nb.IKernelSpec> {
|
||||
get kernelsChanged(): vsEvent.Event<nb.IKernelSpec> {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get layoutChanged(): Event<void> {
|
||||
get layoutChanged(): vsEvent.Event<void> {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get defaultKernel(): nb.IKernelSpec {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get contextsChanged(): Event<void> {
|
||||
get contextsChanged(): vsEvent.Event<void> {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get contextsLoading(): Event<void> {
|
||||
get contextsLoading(): vsEvent.Event<void> {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get contentChanged(): Event<NotebookContentChange> {
|
||||
get contentChanged(): vsEvent.Event<NotebookContentChange> {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get specs(): nb.IAllKernels {
|
||||
@@ -97,10 +97,10 @@ export class NotebookModelStub implements INotebookModel {
|
||||
getApplicableConnectionProviderIds(kernelName: string): string[] {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get onValidConnectionSelected(): Event<boolean> {
|
||||
get onValidConnectionSelected(): vsEvent.Event<boolean> {
|
||||
throw new Error('method not implemented.');
|
||||
}
|
||||
get onProviderIdChange(): Event<string> {
|
||||
get onProviderIdChange(): vsEvent.Event<string> {
|
||||
throw new Error('method not impelemented.');
|
||||
}
|
||||
toJSON(): nb.INotebookContents {
|
||||
@@ -109,7 +109,7 @@ export class NotebookModelStub implements INotebookModel {
|
||||
serializationStateChanged(changeType: NotebookChangeType): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get onActiveCellChanged(): Event<ICellModel> {
|
||||
get onActiveCellChanged(): vsEvent.Event<ICellModel> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
updateActiveCell(cell: ICellModel) {
|
||||
@@ -129,7 +129,7 @@ export class NotebookManagerStub implements INotebookManager {
|
||||
|
||||
export class ServerManagerStub implements nb.ServerManager {
|
||||
onServerStartedEmitter = new Emitter<void>();
|
||||
onServerStarted: Event<void> = this.onServerStartedEmitter.event;
|
||||
onServerStarted: vsEvent.Event<void> = this.onServerStartedEmitter.event;
|
||||
isStarted: boolean = false;
|
||||
calledStart: boolean = false;
|
||||
calledEnd: boolean = false;
|
||||
@@ -147,12 +147,24 @@ export class ServerManagerStub implements nb.ServerManager {
|
||||
|
||||
export class NotebookServiceStub implements INotebookService {
|
||||
_serviceBrand: undefined;
|
||||
onNotebookEditorAdd: Event<INotebookEditor>;
|
||||
onNotebookEditorRemove: Event<INotebookEditor>;
|
||||
onNotebookEditorRename: Event<INotebookEditor>;
|
||||
isRegistrationComplete: boolean;
|
||||
registrationComplete: Promise<void>;
|
||||
languageMagics: ILanguageMagic[];
|
||||
get onNotebookEditorAdd(): vsEvent.Event<INotebookEditor> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get onNotebookEditorRemove(): vsEvent.Event<INotebookEditor> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get onNotebookEditorRename(): vsEvent.Event<INotebookEditor> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get isRegistrationComplete(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get registrationComplete(): Promise<void> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get languageMagics(): ILanguageMagic[] {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
registerProvider(providerId: string, provider: INotebookProvider): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
@@ -243,22 +255,22 @@ export class ClientSessionStub implements IClientSession {
|
||||
dispose(): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get terminated(): Event<void> {
|
||||
get terminated(): vsEvent.Event<void> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get kernelChanged(): Event<nb.IKernelChangedArgs> {
|
||||
get kernelChanged(): vsEvent.Event<nb.IKernelChangedArgs> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get statusChanged(): Event<nb.ISession> {
|
||||
get statusChanged(): vsEvent.Event<nb.ISession> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get iopubMessage(): Event<nb.IMessage> {
|
||||
get iopubMessage(): vsEvent.Event<nb.IMessage> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get unhandledMessage(): Event<nb.IMessage> {
|
||||
get unhandledMessage(): vsEvent.Event<nb.IMessage> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get propertyChanged(): Event<'path' | 'name' | 'type'> {
|
||||
get propertyChanged(): vsEvent.Event<'path' | 'name' | 'type'> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get kernel(): nb.IKernel | null {
|
||||
@@ -372,3 +384,206 @@ export class FutureStub implements nb.IFuture {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
export class NotebookComponentStub implements INotebookEditor {
|
||||
get notebookParams(): INotebookParams {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get id(): string {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get cells(): ICellModel[] {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get modelReady(): Promise<INotebookModel> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get model(): INotebookModel {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isDirty(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isActive(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isVisible(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
executeEdits(edits: ISingleNotebookEditOperation[]): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
runCell(cell: ICellModel): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
runAllCells(startCell?: ICellModel, endCell?: ICellModel): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
clearOutput(cell: ICellModel): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
clearAllOutputs(): Promise<boolean> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
getSections(): INotebookSection[] {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
navigateToSection(sectionId: string): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
addCell(cellType: CellType, index?: number, event?: Event) {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
}
|
||||
|
||||
export class NodeStub implements Node {
|
||||
get baseURI(): string {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get childNodes(): NodeListOf<ChildNode> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get firstChild(): ChildNode {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get isConnected(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get lastChild(): ChildNode {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get namespaceURI(): string {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get nextSibling(): ChildNode {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get nodeName(): string {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get nodeType(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get ownerDocument(): Document {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get parentElement(): HTMLElement {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get parentNode(): Node & ParentNode {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get previousSibling(): Node {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
nodeValue: string;
|
||||
textContent: string;
|
||||
appendChild<T extends Node>(newChild: T): T {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
cloneNode(deep?: boolean): Node {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
compareDocumentPosition(other: Node): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
contains(other: Node): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
getRootNode(options?: GetRootNodeOptions): Node {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
hasChildNodes(): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
insertBefore<T extends Node>(newChild: T, refChild: Node): T {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isDefaultNamespace(namespace: string): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isEqualNode(otherNode: Node): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
isSameNode(otherNode: Node): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
lookupNamespaceURI(prefix: string): string {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
lookupPrefix(namespace: string): string {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
normalize(): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
removeChild<T extends Node>(oldChild: T): T {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
replaceChild<T extends Node>(newChild: Node, oldChild: T): T {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get ATTRIBUTE_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get CDATA_SECTION_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get COMMENT_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_FRAGMENT_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_POSITION_CONTAINED_BY(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_POSITION_CONTAINS(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_POSITION_DISCONNECTED(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_POSITION_FOLLOWING(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_POSITION_PRECEDING(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get DOCUMENT_TYPE_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get ELEMENT_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get ENTITY_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get ENTITY_REFERENCE_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get NOTATION_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get PROCESSING_INSTRUCTION_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
get TEXT_NODE(): number {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
dispatchEvent(event: Event): boolean {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
removeEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user