mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-10 10:12:34 -05:00
This reverts commit d15a3fcc98.
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { NotificationsModel, NotificationViewItem, INotificationChangeEvent, NotificationChangeType, NotificationViewItemLabelKind, IStatusMessageChangeEvent, StatusMessageChangeType } from 'vs/workbench/common/notifications';
|
||||
import { NotificationsModel, NotificationViewItem, INotificationChangeEvent, NotificationChangeType, NotificationViewItemLabelKind } from 'vs/workbench/common/notifications';
|
||||
import { Action } from 'vs/base/common/actions';
|
||||
import { INotification, Severity } from 'vs/platform/notification/common/notification';
|
||||
import { createErrorWithActions } from 'vs/base/common/errorsWithActions';
|
||||
@@ -132,14 +132,9 @@ suite('Notifications', () => {
|
||||
test('Model', () => {
|
||||
const model = new NotificationsModel();
|
||||
|
||||
let lastNotificationEvent!: INotificationChangeEvent;
|
||||
let lastEvent!: INotificationChangeEvent;
|
||||
model.onDidNotificationChange(e => {
|
||||
lastNotificationEvent = e;
|
||||
});
|
||||
|
||||
let lastStatusMessageEvent!: IStatusMessageChangeEvent;
|
||||
model.onDidStatusMessageChange(e => {
|
||||
lastStatusMessageEvent = e;
|
||||
lastEvent = e;
|
||||
});
|
||||
|
||||
let item1: INotification = { severity: Severity.Error, message: 'Error Message', actions: { primary: [new Action('id', 'label')] } };
|
||||
@@ -147,23 +142,23 @@ suite('Notifications', () => {
|
||||
let item2Duplicate: INotification = { severity: Severity.Warning, message: 'Warning Message', source: 'Some Source' };
|
||||
let item3: INotification = { severity: Severity.Info, message: 'Info Message' };
|
||||
|
||||
let item1Handle = model.addNotification(item1);
|
||||
assert.equal(lastNotificationEvent.item.severity, item1.severity);
|
||||
assert.equal(lastNotificationEvent.item.message.value, item1.message);
|
||||
assert.equal(lastNotificationEvent.index, 0);
|
||||
assert.equal(lastNotificationEvent.kind, NotificationChangeType.ADD);
|
||||
let item1Handle = model.notify(item1);
|
||||
assert.equal(lastEvent.item.severity, item1.severity);
|
||||
assert.equal(lastEvent.item.message.value, item1.message);
|
||||
assert.equal(lastEvent.index, 0);
|
||||
assert.equal(lastEvent.kind, NotificationChangeType.ADD);
|
||||
|
||||
let item2Handle = model.addNotification(item2);
|
||||
assert.equal(lastNotificationEvent.item.severity, item2.severity);
|
||||
assert.equal(lastNotificationEvent.item.message.value, item2.message);
|
||||
assert.equal(lastNotificationEvent.index, 0);
|
||||
assert.equal(lastNotificationEvent.kind, NotificationChangeType.ADD);
|
||||
let item2Handle = model.notify(item2);
|
||||
assert.equal(lastEvent.item.severity, item2.severity);
|
||||
assert.equal(lastEvent.item.message.value, item2.message);
|
||||
assert.equal(lastEvent.index, 0);
|
||||
assert.equal(lastEvent.kind, NotificationChangeType.ADD);
|
||||
|
||||
model.addNotification(item3);
|
||||
assert.equal(lastNotificationEvent.item.severity, item3.severity);
|
||||
assert.equal(lastNotificationEvent.item.message.value, item3.message);
|
||||
assert.equal(lastNotificationEvent.index, 0);
|
||||
assert.equal(lastNotificationEvent.kind, NotificationChangeType.ADD);
|
||||
model.notify(item3);
|
||||
assert.equal(lastEvent.item.severity, item3.severity);
|
||||
assert.equal(lastEvent.item.message.value, item3.message);
|
||||
assert.equal(lastEvent.index, 0);
|
||||
assert.equal(lastEvent.kind, NotificationChangeType.ADD);
|
||||
|
||||
assert.equal(model.notifications.length, 3);
|
||||
|
||||
@@ -175,48 +170,29 @@ suite('Notifications', () => {
|
||||
item1Handle.close();
|
||||
assert.equal(called, 1);
|
||||
assert.equal(model.notifications.length, 2);
|
||||
assert.equal(lastNotificationEvent.item.severity, item1.severity);
|
||||
assert.equal(lastNotificationEvent.item.message.value, item1.message);
|
||||
assert.equal(lastNotificationEvent.index, 2);
|
||||
assert.equal(lastNotificationEvent.kind, NotificationChangeType.REMOVE);
|
||||
assert.equal(lastEvent.item.severity, item1.severity);
|
||||
assert.equal(lastEvent.item.message.value, item1.message);
|
||||
assert.equal(lastEvent.index, 2);
|
||||
assert.equal(lastEvent.kind, NotificationChangeType.REMOVE);
|
||||
|
||||
model.addNotification(item2Duplicate);
|
||||
model.notify(item2Duplicate);
|
||||
assert.equal(model.notifications.length, 2);
|
||||
assert.equal(lastNotificationEvent.item.severity, item2Duplicate.severity);
|
||||
assert.equal(lastNotificationEvent.item.message.value, item2Duplicate.message);
|
||||
assert.equal(lastNotificationEvent.index, 0);
|
||||
assert.equal(lastNotificationEvent.kind, NotificationChangeType.ADD);
|
||||
assert.equal(lastEvent.item.severity, item2Duplicate.severity);
|
||||
assert.equal(lastEvent.item.message.value, item2Duplicate.message);
|
||||
assert.equal(lastEvent.index, 0);
|
||||
assert.equal(lastEvent.kind, NotificationChangeType.ADD);
|
||||
|
||||
item2Handle.close();
|
||||
assert.equal(model.notifications.length, 1);
|
||||
assert.equal(lastNotificationEvent.item.severity, item2Duplicate.severity);
|
||||
assert.equal(lastNotificationEvent.item.message.value, item2Duplicate.message);
|
||||
assert.equal(lastNotificationEvent.index, 0);
|
||||
assert.equal(lastNotificationEvent.kind, NotificationChangeType.REMOVE);
|
||||
assert.equal(lastEvent.item.severity, item2Duplicate.severity);
|
||||
assert.equal(lastEvent.item.message.value, item2Duplicate.message);
|
||||
assert.equal(lastEvent.index, 0);
|
||||
assert.equal(lastEvent.kind, NotificationChangeType.REMOVE);
|
||||
|
||||
model.notifications[0].expand();
|
||||
assert.equal(lastNotificationEvent.item.severity, item3.severity);
|
||||
assert.equal(lastNotificationEvent.item.message.value, item3.message);
|
||||
assert.equal(lastNotificationEvent.index, 0);
|
||||
assert.equal(lastNotificationEvent.kind, NotificationChangeType.CHANGE);
|
||||
|
||||
const disposable = model.showStatusMessage('Hello World');
|
||||
assert.equal(model.statusMessage!.message, 'Hello World');
|
||||
assert.equal(lastStatusMessageEvent.item.message, model.statusMessage!.message);
|
||||
assert.equal(lastStatusMessageEvent.kind, StatusMessageChangeType.ADD);
|
||||
disposable.dispose();
|
||||
assert.ok(!model.statusMessage);
|
||||
assert.equal(lastStatusMessageEvent.kind, StatusMessageChangeType.REMOVE);
|
||||
|
||||
let disposable2 = model.showStatusMessage('Hello World 2');
|
||||
const disposable3 = model.showStatusMessage('Hello World 3');
|
||||
|
||||
assert.equal(model.statusMessage!.message, 'Hello World 3');
|
||||
|
||||
disposable2.dispose();
|
||||
assert.equal(model.statusMessage!.message, 'Hello World 3');
|
||||
|
||||
disposable3.dispose();
|
||||
assert.ok(!model.statusMessage);
|
||||
assert.equal(lastEvent.item.severity, item3.severity);
|
||||
assert.equal(lastEvent.item.message.value, item3.message);
|
||||
assert.equal(lastEvent.index, 0);
|
||||
assert.equal(lastEvent.kind, NotificationChangeType.CHANGE);
|
||||
});
|
||||
});
|
||||
@@ -194,7 +194,7 @@ suite('ExtHostLanguageFeatures', function () {
|
||||
|
||||
await rpcProtocol.sync();
|
||||
const value = await getCodeLensData(model, CancellationToken.None);
|
||||
assert.equal(value.lenses.length, 1);
|
||||
assert.equal(value.length, 1);
|
||||
});
|
||||
|
||||
test('CodeLens, do not resolve a resolved lens', async () => {
|
||||
@@ -212,8 +212,8 @@ suite('ExtHostLanguageFeatures', function () {
|
||||
|
||||
await rpcProtocol.sync();
|
||||
const value = await getCodeLensData(model, CancellationToken.None);
|
||||
assert.equal(value.lenses.length, 1);
|
||||
const [data] = value.lenses;
|
||||
assert.equal(value.length, 1);
|
||||
const data = value[0];
|
||||
const symbol = await Promise.resolve(data.provider.resolveCodeLens!(model, data.symbol, CancellationToken.None));
|
||||
assert.equal(symbol!.command!.id, 'id');
|
||||
assert.equal(symbol!.command!.title, 'Title');
|
||||
@@ -229,8 +229,8 @@ suite('ExtHostLanguageFeatures', function () {
|
||||
|
||||
await rpcProtocol.sync();
|
||||
const value = await getCodeLensData(model, CancellationToken.None);
|
||||
assert.equal(value.lenses.length, 1);
|
||||
let [data] = value.lenses;
|
||||
assert.equal(value.length, 1);
|
||||
let data = value[0];
|
||||
const symbol = await Promise.resolve(data.provider.resolveCodeLens!(model, data.symbol, CancellationToken.None));
|
||||
assert.equal(symbol!.command!.id, 'missing');
|
||||
assert.equal(symbol!.command!.title, '!!MISSING: command!!');
|
||||
@@ -1041,9 +1041,7 @@ suite('ExtHostLanguageFeatures', function () {
|
||||
|
||||
disposables.push(extHost.registerDocumentLinkProvider(defaultExtension, defaultSelector, new class implements vscode.DocumentLinkProvider {
|
||||
provideDocumentLinks() {
|
||||
const link = new types.DocumentLink(new types.Range(0, 0, 1, 1), URI.parse('foo:bar#3'));
|
||||
link.tooltip = 'tooltip';
|
||||
return [link];
|
||||
return [new types.DocumentLink(new types.Range(0, 0, 1, 1), URI.parse('foo:bar#3'))];
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -1053,7 +1051,6 @@ suite('ExtHostLanguageFeatures', function () {
|
||||
let [first] = links;
|
||||
assert.equal(first.url, 'foo:bar#3');
|
||||
assert.deepEqual(first.range, { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 2 });
|
||||
assert.equal(first.tooltip, 'tooltip');
|
||||
});
|
||||
|
||||
test('Links, evil provider', async () => {
|
||||
|
||||
@@ -6,11 +6,9 @@
|
||||
import * as assert from 'assert';
|
||||
import { MainThreadMessageService } from 'vs/workbench/api/browser/mainThreadMessageService';
|
||||
import { IDialogService } from 'vs/platform/dialogs/common/dialogs';
|
||||
import { INotificationService, INotification, NoOpNotification, INotificationHandle, Severity, IPromptChoice, IPromptOptions, IStatusMessageOptions } from 'vs/platform/notification/common/notification';
|
||||
import { INotificationService, INotification, NoOpNotification, INotificationHandle, Severity, IPromptChoice, IPromptOptions } from 'vs/platform/notification/common/notification';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { mock } from 'vs/workbench/test/electron-browser/api/mock';
|
||||
import { ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IDisposable, Disposable } from 'vs/base/common/lifecycle';
|
||||
|
||||
const emptyDialogService = new class implements IDialogService {
|
||||
_serviceBrand: 'dialogService';
|
||||
@@ -32,7 +30,7 @@ const emptyCommandService: ICommandService = {
|
||||
};
|
||||
|
||||
const emptyNotificationService = new class implements INotificationService {
|
||||
_serviceBrand: ServiceIdentifier<INotificationService>;
|
||||
_serviceBrand: 'notificiationService';
|
||||
notify(...args: any[]): never {
|
||||
throw new Error('not implemented');
|
||||
}
|
||||
@@ -48,13 +46,11 @@ const emptyNotificationService = new class implements INotificationService {
|
||||
prompt(severity: Severity, message: string, choices: IPromptChoice[], options?: IPromptOptions): INotificationHandle {
|
||||
throw new Error('not implemented');
|
||||
}
|
||||
status(message: string | Error, options?: IStatusMessageOptions): IDisposable {
|
||||
return Disposable.None;
|
||||
}
|
||||
};
|
||||
|
||||
class EmptyNotificationService implements INotificationService {
|
||||
_serviceBrand: ServiceIdentifier<INotificationService>;
|
||||
|
||||
_serviceBrand: any;
|
||||
|
||||
constructor(private withNotify: (notification: INotification) => void) {
|
||||
}
|
||||
@@ -76,9 +72,6 @@ class EmptyNotificationService implements INotificationService {
|
||||
prompt(severity: Severity, message: string, choices: IPromptChoice[], options?: IPromptOptions): INotificationHandle {
|
||||
throw new Error('not implemented');
|
||||
}
|
||||
status(message: string, options?: IStatusMessageOptions): IDisposable {
|
||||
return Disposable.None;
|
||||
}
|
||||
}
|
||||
|
||||
suite('ExtHostMessageService', function () {
|
||||
|
||||
@@ -7,7 +7,7 @@ import * as assert from 'assert';
|
||||
import { mapArrayOrNot } from 'vs/base/common/arrays';
|
||||
import { CancellationTokenSource } from 'vs/base/common/cancellation';
|
||||
import { isPromiseCanceledError } from 'vs/base/common/errors';
|
||||
import { DisposableStore } from 'vs/base/common/lifecycle';
|
||||
import { dispose } from 'vs/base/common/lifecycle';
|
||||
import { joinPath } from 'vs/base/common/resources';
|
||||
import { URI, UriComponents } from 'vs/base/common/uri';
|
||||
import * as pfs from 'vs/base/node/pfs';
|
||||
@@ -21,7 +21,7 @@ import * as vscode from 'vscode';
|
||||
|
||||
let rpcProtocol: TestRPCProtocol;
|
||||
let extHostSearch: ExtHostSearch;
|
||||
const disposables = new DisposableStore();
|
||||
let disposables: vscode.Disposable[] = [];
|
||||
|
||||
let mockMainThreadSearch: MockMainThreadSearch;
|
||||
class MockMainThreadSearch implements MainThreadSearchShape {
|
||||
@@ -63,12 +63,12 @@ export function extensionResultIsMatch(data: vscode.TextSearchResult): data is v
|
||||
|
||||
suite('ExtHostSearch', () => {
|
||||
async function registerTestTextSearchProvider(provider: vscode.TextSearchProvider, scheme = 'file'): Promise<void> {
|
||||
disposables.add(extHostSearch.registerTextSearchProvider(scheme, provider));
|
||||
disposables.push(extHostSearch.registerTextSearchProvider(scheme, provider));
|
||||
await rpcProtocol.sync();
|
||||
}
|
||||
|
||||
async function registerTestFileSearchProvider(provider: vscode.FileSearchProvider, scheme = 'file'): Promise<void> {
|
||||
disposables.add(extHostSearch.registerFileSearchProvider(scheme, provider));
|
||||
disposables.push(extHostSearch.registerFileSearchProvider(scheme, provider));
|
||||
await rpcProtocol.sync();
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ suite('ExtHostSearch', () => {
|
||||
});
|
||||
|
||||
teardown(() => {
|
||||
disposables.clear();
|
||||
dispose(disposables);
|
||||
return rpcProtocol.sync();
|
||||
});
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ suite('ExtHostTypes', function () {
|
||||
scheme: 'file',
|
||||
path: '/path/test.file',
|
||||
fsPath: '/path/test.file'.replace(/\//g, isWindows ? '\\' : '/'),
|
||||
_sep: isWindows ? 1 : undefined,
|
||||
});
|
||||
|
||||
assert.ok(uri.toString());
|
||||
@@ -40,7 +39,6 @@ suite('ExtHostTypes', function () {
|
||||
scheme: 'file',
|
||||
path: '/path/test.file',
|
||||
fsPath: '/path/test.file'.replace(/\//g, isWindows ? '\\' : '/'),
|
||||
_sep: isWindows ? 1 : undefined,
|
||||
external: 'file:///path/test.file'
|
||||
});
|
||||
});
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { MainThreadWebviews } from 'vs/workbench/api/browser/mainThreadWebview';
|
||||
import { MainThreadWebviews } from 'vs/workbench/api/electron-browser/mainThreadWebview';
|
||||
import { ExtHostWebviews } from 'vs/workbench/api/common/extHostWebview';
|
||||
import { mock } from 'vs/workbench/test/electron-browser/api/mock';
|
||||
import * as vscode from 'vscode';
|
||||
|
||||
@@ -62,7 +62,7 @@ suite('MainThreadEditors', () => {
|
||||
}
|
||||
move(source: URI, target: URI) {
|
||||
movedResources.set(source, target);
|
||||
return Promise.resolve(Object.create(null));
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
models = <any>{
|
||||
onModelSaved: Event.None,
|
||||
|
||||
@@ -456,9 +456,6 @@ export class TestLayoutService implements IWorkbenchLayoutService {
|
||||
container: HTMLElement = window.document.body;
|
||||
|
||||
onZenModeChange: Event<boolean> = Event.None;
|
||||
onCenteredLayoutChange: Event<boolean> = Event.None;
|
||||
onFullscreenChange: Event<boolean> = Event.None;
|
||||
onPanelPositionChange: Event<string> = Event.None;
|
||||
onLayout = Event.None;
|
||||
|
||||
private _onTitleBarVisibilityChange = new Emitter<void>();
|
||||
|
||||
Reference in New Issue
Block a user