mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-10 02:02:35 -05:00
Merge from vscode a5cf1da01d5db3d2557132be8d30f89c38019f6c (#8525)
* Merge from vscode a5cf1da01d5db3d2557132be8d30f89c38019f6c * remove files we don't want * fix hygiene * update distro * update distro * fix hygiene * fix strict nulls * distro * distro * fix tests * fix tests * add another edit * fix viewlet icon * fix azure dialog * fix some padding * fix more padding issues
This commit is contained in:
@@ -115,14 +115,14 @@ suite('Workbench base editor', () => {
|
||||
});
|
||||
|
||||
test('EditorDescriptor', () => {
|
||||
let d = new EditorDescriptor(MyEditor, 'id', 'name');
|
||||
let d = EditorDescriptor.create(MyEditor, 'id', 'name');
|
||||
assert.strictEqual(d.getId(), 'id');
|
||||
assert.strictEqual(d.getName(), 'name');
|
||||
});
|
||||
|
||||
test('Editor Registration', function () {
|
||||
let d1 = new EditorDescriptor(MyEditor, 'id1', 'name');
|
||||
let d2 = new EditorDescriptor(MyOtherEditor, 'id2', 'name');
|
||||
let d1 = EditorDescriptor.create(MyEditor, 'id1', 'name');
|
||||
let d2 = EditorDescriptor.create(MyOtherEditor, 'id2', 'name');
|
||||
|
||||
let oldEditorsCnt = EditorRegistry.getEditors().length;
|
||||
let oldInputCnt = (<any>EditorRegistry).getEditorInputs().length;
|
||||
@@ -142,8 +142,8 @@ suite('Workbench base editor', () => {
|
||||
});
|
||||
|
||||
test('Editor Lookup favors specific class over superclass (match on specific class)', function () {
|
||||
let d1 = new EditorDescriptor(MyEditor, 'id1', 'name');
|
||||
let d2 = new EditorDescriptor(MyOtherEditor, 'id2', 'name');
|
||||
let d1 = EditorDescriptor.create(MyEditor, 'id1', 'name');
|
||||
let d2 = EditorDescriptor.create(MyOtherEditor, 'id2', 'name');
|
||||
|
||||
let oldEditors = EditorRegistry.getEditors();
|
||||
(<any>EditorRegistry).setEditors([]);
|
||||
@@ -163,7 +163,7 @@ suite('Workbench base editor', () => {
|
||||
});
|
||||
|
||||
test('Editor Lookup favors specific class over superclass (match on super class)', function () {
|
||||
let d1 = new EditorDescriptor(MyOtherEditor, 'id1', 'name');
|
||||
let d1 = EditorDescriptor.create(MyOtherEditor, 'id1', 'name');
|
||||
|
||||
let oldEditors = EditorRegistry.getEditors();
|
||||
(<any>EditorRegistry).setEditors([]);
|
||||
|
||||
@@ -29,7 +29,7 @@ suite('Breadcrumb Model', function () {
|
||||
|
||||
test('only uri, inside workspace', function () {
|
||||
|
||||
let model = new EditorBreadcrumbsModel(URI.parse('foo:/bar/baz/ws/some/path/file.ts'), undefined, configService, workspaceService);
|
||||
let model = new EditorBreadcrumbsModel(URI.parse('foo:/bar/baz/ws/some/path/file.ts'), undefined, configService, configService, workspaceService);
|
||||
let elements = model.getElements();
|
||||
|
||||
assert.equal(elements.length, 3);
|
||||
@@ -44,7 +44,7 @@ suite('Breadcrumb Model', function () {
|
||||
|
||||
test('only uri, outside workspace', function () {
|
||||
|
||||
let model = new EditorBreadcrumbsModel(URI.parse('foo:/outside/file.ts'), undefined, configService, workspaceService);
|
||||
let model = new EditorBreadcrumbsModel(URI.parse('foo:/outside/file.ts'), undefined, configService, configService, workspaceService);
|
||||
let elements = model.getElements();
|
||||
|
||||
assert.equal(elements.length, 2);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { ContributableViewsModel, ViewsService } from 'vs/workbench/browser/parts/views/views';
|
||||
import { ContributableViewsModel, ViewsService, IViewState } from 'vs/workbench/browser/parts/views/views';
|
||||
import { IViewsRegistry, IViewDescriptor, IViewContainersRegistry, Extensions as ViewContainerExtensions, IViewsService } from 'vs/workbench/common/views';
|
||||
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import { move } from 'vs/base/common/arrays';
|
||||
@@ -13,6 +13,7 @@ import { workbenchInstantiationService } from 'vs/workbench/test/workbenchTestSe
|
||||
import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
|
||||
import { ContextKeyService } from 'vs/platform/contextkey/browser/contextKeyService';
|
||||
import sinon = require('sinon');
|
||||
|
||||
const container = Registry.as<IViewContainersRegistry>(ViewContainerExtensions.ViewContainersRegistry).registerViewContainer('test');
|
||||
const ViewsRegistry = Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry);
|
||||
@@ -244,4 +245,130 @@ suite('ContributableViewsModel', () => {
|
||||
assert.deepEqual(model.visibleViewDescriptors, [view1, view2, view3], 'view2 should go to the middle');
|
||||
assert.deepEqual(seq.elements, [view1, view2, view3]);
|
||||
});
|
||||
|
||||
test('view states', async function () {
|
||||
const viewStates = new Map<string, IViewState>();
|
||||
viewStates.set('view1', { visibleGlobal: false, collapsed: false, visibleWorkspace: undefined });
|
||||
const model = new ContributableViewsModel(container, viewsService, viewStates);
|
||||
const seq = new ViewDescriptorSequence(model);
|
||||
|
||||
assert.equal(model.visibleViewDescriptors.length, 0);
|
||||
assert.equal(seq.elements.length, 0);
|
||||
|
||||
const viewDescriptor: IViewDescriptor = {
|
||||
id: 'view1',
|
||||
ctorDescriptor: null!,
|
||||
name: 'Test View 1'
|
||||
};
|
||||
|
||||
ViewsRegistry.registerViews([viewDescriptor], container);
|
||||
assert.equal(model.visibleViewDescriptors.length, 0, 'view should not appear since it was set not visible in view state');
|
||||
assert.equal(seq.elements.length, 0);
|
||||
});
|
||||
|
||||
test('view states and when contexts', async function () {
|
||||
const viewStates = new Map<string, IViewState>();
|
||||
viewStates.set('view1', { visibleGlobal: false, collapsed: false, visibleWorkspace: undefined });
|
||||
const model = new ContributableViewsModel(container, viewsService, viewStates);
|
||||
const seq = new ViewDescriptorSequence(model);
|
||||
|
||||
assert.equal(model.visibleViewDescriptors.length, 0);
|
||||
assert.equal(seq.elements.length, 0);
|
||||
|
||||
const viewDescriptor: IViewDescriptor = {
|
||||
id: 'view1',
|
||||
ctorDescriptor: null!,
|
||||
name: 'Test View 1',
|
||||
when: ContextKeyExpr.equals('showview1', true)
|
||||
};
|
||||
|
||||
ViewsRegistry.registerViews([viewDescriptor], container);
|
||||
assert.equal(model.visibleViewDescriptors.length, 0, 'view should not appear since context isnt in');
|
||||
assert.equal(seq.elements.length, 0);
|
||||
|
||||
const key = contextKeyService.createKey('showview1', false);
|
||||
assert.equal(model.visibleViewDescriptors.length, 0, 'view should still not appear since showview1 isnt true');
|
||||
assert.equal(seq.elements.length, 0);
|
||||
|
||||
key.set(true);
|
||||
await new Promise(c => setTimeout(c, 30));
|
||||
assert.equal(model.visibleViewDescriptors.length, 0, 'view should still not appear since it was set not visible in view state');
|
||||
assert.equal(seq.elements.length, 0);
|
||||
});
|
||||
|
||||
test('view states and when contexts multiple views', async function () {
|
||||
const viewStates = new Map<string, IViewState>();
|
||||
viewStates.set('view1', { visibleGlobal: false, collapsed: false, visibleWorkspace: undefined });
|
||||
const model = new ContributableViewsModel(container, viewsService, viewStates);
|
||||
const seq = new ViewDescriptorSequence(model);
|
||||
|
||||
assert.equal(model.visibleViewDescriptors.length, 0);
|
||||
assert.equal(seq.elements.length, 0);
|
||||
|
||||
const view1: IViewDescriptor = {
|
||||
id: 'view1',
|
||||
ctorDescriptor: null!,
|
||||
name: 'Test View 1',
|
||||
when: ContextKeyExpr.equals('showview', true)
|
||||
};
|
||||
const view2: IViewDescriptor = {
|
||||
id: 'view2',
|
||||
ctorDescriptor: null!,
|
||||
name: 'Test View 2',
|
||||
};
|
||||
const view3: IViewDescriptor = {
|
||||
id: 'view3',
|
||||
ctorDescriptor: null!,
|
||||
name: 'Test View 3',
|
||||
when: ContextKeyExpr.equals('showview', true)
|
||||
};
|
||||
|
||||
ViewsRegistry.registerViews([view1, view2, view3], container);
|
||||
assert.deepEqual(model.visibleViewDescriptors, [view2], 'Only view2 should be visible');
|
||||
assert.deepEqual(seq.elements, [view2]);
|
||||
|
||||
const key = contextKeyService.createKey('showview', false);
|
||||
assert.deepEqual(model.visibleViewDescriptors, [view2], 'Only view2 should be visible');
|
||||
assert.deepEqual(seq.elements, [view2]);
|
||||
|
||||
key.set(true);
|
||||
await new Promise(c => setTimeout(c, 30));
|
||||
assert.deepEqual(model.visibleViewDescriptors, [view2, view3], 'view3 should be visible');
|
||||
assert.deepEqual(seq.elements, [view2, view3]);
|
||||
|
||||
key.set(false);
|
||||
await new Promise(c => setTimeout(c, 30));
|
||||
assert.deepEqual(model.visibleViewDescriptors, [view2], 'Only view2 should be visible');
|
||||
assert.deepEqual(seq.elements, [view2]);
|
||||
});
|
||||
|
||||
test('remove event is not triggered if view was hidden and removed', async function () {
|
||||
const model = new ContributableViewsModel(container, viewsService);
|
||||
const seq = new ViewDescriptorSequence(model);
|
||||
|
||||
const viewDescriptor: IViewDescriptor = {
|
||||
id: 'view1',
|
||||
ctorDescriptor: null!,
|
||||
name: 'Test View 1',
|
||||
when: ContextKeyExpr.equals('showview1', true),
|
||||
canToggleVisibility: true
|
||||
};
|
||||
|
||||
ViewsRegistry.registerViews([viewDescriptor], container);
|
||||
|
||||
const key = contextKeyService.createKey('showview1', true);
|
||||
await new Promise(c => setTimeout(c, 30));
|
||||
assert.equal(model.visibleViewDescriptors.length, 1, 'view should appear after context is set');
|
||||
assert.equal(seq.elements.length, 1);
|
||||
|
||||
model.setVisible('view1', false);
|
||||
assert.equal(model.visibleViewDescriptors.length, 0, 'view should disappear after setting visibility to false');
|
||||
assert.equal(seq.elements.length, 0);
|
||||
|
||||
const target = sinon.spy(model.onDidRemove);
|
||||
key.set(false);
|
||||
await new Promise(c => setTimeout(c, 30));
|
||||
assert.ok(!target.called, 'remove event should not be called since it is already hidden');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -54,7 +54,7 @@ suite('QuickOpen', () => {
|
||||
|
||||
test('QuickOpen Handler and Registry', () => {
|
||||
let registry = (Registry.as<IQuickOpenRegistry>(QuickOpenExtensions.Quickopen));
|
||||
let handler = new QuickOpenHandlerDescriptor(
|
||||
let handler = QuickOpenHandlerDescriptor.create(
|
||||
TestHandler,
|
||||
'testhandler',
|
||||
',',
|
||||
@@ -77,4 +77,4 @@ suite('QuickOpen', () => {
|
||||
defaultAction.run();
|
||||
prefixAction.run();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -22,7 +22,7 @@ suite('Viewlets', () => {
|
||||
}
|
||||
|
||||
test('ViewletDescriptor API', function () {
|
||||
let d = new ViewletDescriptor(TestViewlet, 'id', 'name', 'class', 5);
|
||||
let d = ViewletDescriptor.create(TestViewlet, 'id', 'name', 'class', 5);
|
||||
assert.strictEqual(d.id, 'id');
|
||||
assert.strictEqual(d.name, 'name');
|
||||
assert.strictEqual(d.cssClass, 'class');
|
||||
@@ -30,11 +30,11 @@ suite('Viewlets', () => {
|
||||
});
|
||||
|
||||
test('Editor Aware ViewletDescriptor API', function () {
|
||||
let d = new ViewletDescriptor(TestViewlet, 'id', 'name', 'class', 5);
|
||||
let d = ViewletDescriptor.create(TestViewlet, 'id', 'name', 'class', 5);
|
||||
assert.strictEqual(d.id, 'id');
|
||||
assert.strictEqual(d.name, 'name');
|
||||
|
||||
d = new ViewletDescriptor(TestViewlet, 'id', 'name', 'class', 5);
|
||||
d = ViewletDescriptor.create(TestViewlet, 'id', 'name', 'class', 5);
|
||||
assert.strictEqual(d.id, 'id');
|
||||
assert.strictEqual(d.name, 'name');
|
||||
});
|
||||
@@ -45,7 +45,7 @@ suite('Viewlets', () => {
|
||||
assert(Types.isFunction(Platform.Registry.as<ViewletRegistry>(Extensions.Viewlets).getViewlets));
|
||||
|
||||
let oldCount = Platform.Registry.as<ViewletRegistry>(Extensions.Viewlets).getViewlets().length;
|
||||
let d = new ViewletDescriptor(TestViewlet, 'reg-test-id', 'name');
|
||||
let d = ViewletDescriptor.create(TestViewlet, 'reg-test-id', 'name');
|
||||
Platform.Registry.as<ViewletRegistry>(Extensions.Viewlets).registerViewlet(d);
|
||||
|
||||
assert(d === Platform.Registry.as<ViewletRegistry>(Extensions.Viewlets).getViewlet('reg-test-id'));
|
||||
|
||||
Reference in New Issue
Block a user