Query editor input titles (#9512)

* address untitled editor file name differences; remove feature for updating title for untitled to content

* add tests for new methods

* fix tests

* fix up tests

* remove unncessary await

* revert changes to title for content
This commit is contained in:
Anthony Dresser
2020-03-11 12:42:13 -07:00
committed by GitHub
parent edd396f0fe
commit dbc20c1f67
9 changed files with 156 additions and 24 deletions

View File

@@ -21,10 +21,11 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { UntitledQueryEditorInput } from 'sql/workbench/common/editor/query/untitledQueryEditorInput';
import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput';
import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService';
import { isThenable } from 'vs/base/common/async';
suite('Query Input Factory', () => {
test('query editor input is connected if global connection exists (OE)', () => {
test('sync query editor input is connected if global connection exists (OE)', () => {
const editorService = new MockEditorService();
const instantiationService = workbenchInstantiationService();
const connectionManagementService = new MockConnectionManagementService();
@@ -37,7 +38,22 @@ suite('Query Input Factory', () => {
assert(connectionManagementService.numberConnects === 1, 'Convert input should have called connect when active OE connection exists');
});
test('query editor input is connected if global connection exists (Editor)', () => {
test('query editor input is connected if global connection exists (OE)', async () => {
const editorService = new MockEditorService();
const instantiationService = workbenchInstantiationService();
const connectionManagementService = new MockConnectionManagementService();
instantiationService.stub(IObjectExplorerService, new MockObjectExplorerService());
instantiationService.stub(IConnectionManagementService, connectionManagementService);
instantiationService.stub(IEditorService, editorService);
const queryEditorLanguageAssociation = instantiationService.createInstance(QueryEditorLanguageAssociation);
const input = instantiationService.createInstance(FileEditorInput, URI.file('/test/file.sql'), undefined, undefined);
const response = queryEditorLanguageAssociation.convertInput(input);
assert(isThenable(response));
await response;
assert(connectionManagementService.numberConnects === 1, 'Convert input should have called connect when active OE connection exists');
});
test('sync query editor input is connected if global connection exists (Editor)', () => {
const instantiationService = workbenchInstantiationService();
const editorService = new MockEditorService(instantiationService);
const connectionManagementService = new MockConnectionManagementService();
@@ -50,7 +66,22 @@ suite('Query Input Factory', () => {
assert(connectionManagementService.numberConnects === 1, 'Convert input should have called connect when active editor connection exists');
});
test('query editor input is not connected if no global connection exists', () => {
test('query editor input is connected if global connection exists (Editor)', async () => {
const instantiationService = workbenchInstantiationService();
const editorService = new MockEditorService(instantiationService);
const connectionManagementService = new MockConnectionManagementService();
instantiationService.stub(IObjectExplorerService, new MockObjectExplorerService());
instantiationService.stub(IConnectionManagementService, connectionManagementService);
instantiationService.stub(IEditorService, editorService);
const queryEditorLanguageAssociation = instantiationService.createInstance(QueryEditorLanguageAssociation);
const input = instantiationService.createInstance(FileEditorInput, URI.file('/test/file.sql'), undefined, undefined);
const response = queryEditorLanguageAssociation.convertInput(input);
assert(isThenable(response));
await response;
assert(connectionManagementService.numberConnects === 1, 'Convert input should have called connect when active editor connection exists');
});
test('sync query editor input is not connected if no global connection exists', () => {
const instantiationService = workbenchInstantiationService();
const editorService = new MockEditorService();
const connectionManagementService = new MockConnectionManagementService();
@@ -58,7 +89,21 @@ suite('Query Input Factory', () => {
instantiationService.stub(IEditorService, editorService);
const queryEditorLanguageAssociation = instantiationService.createInstance(QueryEditorLanguageAssociation);
const input = instantiationService.createInstance(FileEditorInput, URI.file('/test/file.sql'), undefined, undefined);
queryEditorLanguageAssociation.convertInput(input);
queryEditorLanguageAssociation.syncConvertinput(input);
assert(connectionManagementService.numberConnects === 0, 'Convert input should not have been called connect when no global connections exist');
});
test('async query editor input is not connected if no global connection exists', async () => {
const instantiationService = workbenchInstantiationService();
const editorService = new MockEditorService();
const connectionManagementService = new MockConnectionManagementService();
instantiationService.stub(IConnectionManagementService, connectionManagementService);
instantiationService.stub(IEditorService, editorService);
const queryEditorLanguageAssociation = instantiationService.createInstance(QueryEditorLanguageAssociation);
const input = instantiationService.createInstance(FileEditorInput, URI.file('/test/file.sql'), undefined, undefined);
const response = queryEditorLanguageAssociation.convertInput(input);
assert(isThenable(response));
await response;
assert(connectionManagementService.numberConnects === 0, 'Convert input should not have been called connect when no global connections exist');
});