mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-29 01:25:37 -05:00
Merge VS Code 1.31.1 (#4283)
This commit is contained in:
@@ -18,8 +18,9 @@ import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textF
|
||||
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
|
||||
import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
|
||||
import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
|
||||
import { once } from 'vs/base/common/event';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { snapshotToString } from 'vs/platform/files/common/files';
|
||||
import { timeout } from 'vs/base/common/async';
|
||||
|
||||
class ServiceAccessor {
|
||||
constructor(
|
||||
@@ -46,7 +47,7 @@ suite('Workbench - TextModelResolverService', () => {
|
||||
teardown(() => {
|
||||
if (model) {
|
||||
model.dispose();
|
||||
model = void 0;
|
||||
model = (undefined)!;
|
||||
}
|
||||
(<TextFileEditorModelManager>accessor.textFileService.models).clear();
|
||||
(<TextFileEditorModelManager>accessor.textFileService.models).dispose();
|
||||
@@ -55,18 +56,18 @@ suite('Workbench - TextModelResolverService', () => {
|
||||
|
||||
test('resolve resource', function () {
|
||||
const dispose = accessor.textModelResolverService.registerTextModelContentProvider('test', {
|
||||
provideTextContent: function (resource: URI): Thenable<ITextModel> {
|
||||
provideTextContent: function (resource: URI): Promise<ITextModel> {
|
||||
if (resource.scheme === 'test') {
|
||||
let modelContent = 'Hello Test';
|
||||
let languageSelection = accessor.modeService.create('json');
|
||||
return Promise.resolve(accessor.modelService.createModel(modelContent, languageSelection, resource));
|
||||
}
|
||||
|
||||
return Promise.resolve(null);
|
||||
return Promise.resolve(null!);
|
||||
}
|
||||
});
|
||||
|
||||
let resource = URI.from({ scheme: 'test', authority: null, path: 'thePath' });
|
||||
let resource = URI.from({ scheme: 'test', authority: null!, path: 'thePath' });
|
||||
let input: ResourceEditorInput = instantiationService.createInstance(ResourceEditorInput, 'The Name', 'The Description', resource);
|
||||
|
||||
return input.resolve().then(async model => {
|
||||
@@ -75,7 +76,7 @@ suite('Workbench - TextModelResolverService', () => {
|
||||
|
||||
let disposed = false;
|
||||
let disposedPromise = new Promise(resolve => {
|
||||
once(model.onDispose)(() => {
|
||||
Event.once(model.onDispose)(() => {
|
||||
disposed = true;
|
||||
resolve();
|
||||
});
|
||||
@@ -101,12 +102,14 @@ suite('Workbench - TextModelResolverService', () => {
|
||||
assert.equal(editorModel.getValue(), 'Hello Html');
|
||||
|
||||
let disposed = false;
|
||||
once(model.onDispose)(() => {
|
||||
Event.once(model.onDispose)(() => {
|
||||
disposed = true;
|
||||
});
|
||||
|
||||
ref.dispose();
|
||||
assert.equal(disposed, true);
|
||||
return timeout(0).then(() => { // due to the reference resolving the model first which is async
|
||||
assert.equal(disposed, true);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -129,11 +132,11 @@ suite('Workbench - TextModelResolverService', () => {
|
||||
});
|
||||
|
||||
test('even loading documents should be refcounted', async () => {
|
||||
let resolveModel: Function;
|
||||
let resolveModel!: Function;
|
||||
let waitForIt = new Promise(c => resolveModel = c);
|
||||
|
||||
const disposable = accessor.textModelResolverService.registerTextModelContentProvider('test', {
|
||||
provideTextContent: (resource: URI): Thenable<ITextModel> => {
|
||||
provideTextContent: (resource: URI): Promise<ITextModel> => {
|
||||
return waitForIt.then(_ => {
|
||||
let modelContent = 'Hello Test';
|
||||
let languageSelection = accessor.modeService.create('json');
|
||||
@@ -142,7 +145,7 @@ suite('Workbench - TextModelResolverService', () => {
|
||||
}
|
||||
});
|
||||
|
||||
const uri = URI.from({ scheme: 'test', authority: null, path: 'thePath' });
|
||||
const uri = URI.from({ scheme: 'test', authority: null!, path: 'thePath' });
|
||||
|
||||
const modelRefPromise1 = accessor.textModelResolverService.createModelReference(uri);
|
||||
const modelRefPromise2 = accessor.textModelResolverService.createModelReference(uri);
|
||||
|
||||
Reference in New Issue
Block a user