提交 13e394ff 编写于 作者: M Matt Bierner

Strict null fixes for tests

上级 39e7e1f3
......@@ -860,9 +860,9 @@ export interface WorkspaceSymbolsDto extends IdObject {
}
export interface ResourceFileEditDto {
oldUri: UriComponents;
newUri: UriComponents;
options: IFileOperationOptions;
oldUri?: UriComponents;
newUri?: UriComponents;
options?: IFileOperationOptions;
}
export interface ResourceTextEditDto {
......
......@@ -17,6 +17,7 @@ import { ITextFileService } from 'vs/workbench/services/textfile/common/textfile
import { telemetryURIDescriptor } from 'vs/platform/telemetry/common/telemetryUtils';
import { IHashService } from 'vs/workbench/services/hash/common/hashService';
import { ILabelService } from 'vs/platform/label/common/label';
import { IResolvedTextEditorModel } from 'vs/editor/common/services/resolverService';
/**
* An editor input to be used for untitled text buffers.
......@@ -27,7 +28,7 @@ export class UntitledEditorInput extends EditorInput implements IEncodingSupport
private _hasAssociatedFilePath: boolean;
private cachedModel: UntitledEditorModel;
private modelResolve?: Promise<UntitledEditorModel>;
private modelResolve?: Promise<UntitledEditorModel & IResolvedTextEditorModel>;
private readonly _onDidModelChangeContent: Emitter<void> = this._register(new Emitter<void>());
get onDidModelChangeContent(): Event<void> { return this._onDidModelChangeContent.event; }
......@@ -199,7 +200,7 @@ export class UntitledEditorInput extends EditorInput implements IEncodingSupport
}
}
resolve(): Promise<UntitledEditorModel> {
resolve(): Promise<UntitledEditorModel & IResolvedTextEditorModel> {
// Join a model resolve if we have had one before
if (this.modelResolve) {
......
......@@ -16,6 +16,7 @@ import { IBackupFileService } from 'vs/workbench/services/backup/common/backup';
import { ITextResourceConfigurationService } from 'vs/editor/common/services/resourceConfiguration';
import { ITextBufferFactory } from 'vs/editor/common/model';
import { createTextBufferFactory } from 'vs/editor/common/model/textModel';
import { IResolvedTextEditorModel } from 'vs/editor/common/services/resolverService';
export class UntitledEditorModel extends BaseTextEditorModel implements IEncodingSupport {
......@@ -136,7 +137,7 @@ export class UntitledEditorModel extends BaseTextEditorModel implements IEncodin
this.contentChangeEventScheduler.schedule();
}
load(): Promise<UntitledEditorModel> {
load(): Promise<UntitledEditorModel & IResolvedTextEditorModel> {
// Check for backups first
return this.backupFileService.loadBackupResource(this.resource).then((backupResource) => {
......@@ -180,7 +181,7 @@ export class UntitledEditorModel extends BaseTextEditorModel implements IEncodin
// Listen to mode changes
this._register(textEditorModel.onDidChangeLanguage(() => this.onConfigurationChange())); // mode change can have impact on config
return this;
return this as UntitledEditorModel & IResolvedTextEditorModel;
});
}
......
......@@ -68,7 +68,7 @@ suite('Workbench untitled editors', () => {
assert.equal(service.getAll().length, 1);
// dirty
input2.resolve().then((model: UntitledEditorModel) => {
input2.resolve().then(model => {
assert.ok(!service.isDirty(input2.getResource()));
const listener = service.onDidChangeDirty(resource => {
......@@ -112,7 +112,7 @@ suite('Workbench untitled editors', () => {
const input = service.createOrGet();
// dirty
return input.resolve().then((model: UntitledEditorModel) => {
return input.resolve().then(model => {
model.textEditorModel.setValue('foo bar');
assert.ok(model.isDirty());
......@@ -126,14 +126,14 @@ suite('Workbench untitled editors', () => {
test('Untitled via loadOrCreate', function () {
const service = accessor.untitledEditorService;
service.loadOrCreate().then(model1 => {
model1.textEditorModel.setValue('foo bar');
model1.textEditorModel!.setValue('foo bar');
assert.ok(model1.isDirty());
model1.textEditorModel.setValue('');
model1.textEditorModel!.setValue('');
assert.ok(!model1.isDirty());
return service.loadOrCreate({ initialValue: 'Hello World' }).then(model2 => {
assert.equal(snapshotToString(model2.createSnapshot()), 'Hello World');
assert.equal(snapshotToString(model2.createSnapshot()!), 'Hello World');
const input = service.createOrGet();
......@@ -169,7 +169,7 @@ suite('Workbench untitled editors', () => {
const input = service.createOrGet(file);
// dirty
return input.resolve().then((model: UntitledEditorModel) => {
return input.resolve().then(model => {
model.textEditorModel.setValue('foo bar');
assert.ok(model.isDirty());
......@@ -223,7 +223,7 @@ suite('Workbench untitled editors', () => {
});
// dirty
return input.resolve().then((model: UntitledEditorModel) => {
return input.resolve().then(model => {
model.setEncoding('utf16');
assert.equal(counter, 1);
......@@ -245,7 +245,7 @@ suite('Workbench untitled editors', () => {
assert.equal(r.toString(), input.getResource().toString());
});
return input.resolve().then((model: UntitledEditorModel) => {
return input.resolve().then(model => {
model.textEditorModel.setValue('foo');
assert.equal(counter, 0, 'Dirty model should not trigger event immediately');
......@@ -288,7 +288,7 @@ suite('Workbench untitled editors', () => {
assert.equal(r.toString(), input.getResource().toString());
});
return input.resolve().then((model: UntitledEditorModel) => {
return input.resolve().then(model => {
assert.equal(counter, 0);
input.dispose();
assert.equal(counter, 1);
......
......@@ -23,7 +23,7 @@ import { TestFileService, TestEditorService, TestEditorGroupsService, TestEnviro
import { ResourceTextEdit } from 'vs/editor/common/modes';
import { BulkEditService } from 'vs/workbench/services/bulkEdit/browser/bulkEditService';
import { NullLogService } from 'vs/platform/log/common/log';
import { ITextModelService, ITextEditorModel } from 'vs/editor/common/services/resolverService';
import { ITextModelService, IResolvedTextEditorModel } from 'vs/editor/common/services/resolverService';
import { IReference, ImmortalReference } from 'vs/base/common/lifecycle';
import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
import { LabelService } from 'vs/workbench/services/label/common/labelService';
......@@ -73,9 +73,9 @@ suite('MainThreadEditors', () => {
const workbenchEditorService = new TestEditorService();
const editorGroupService = new TestEditorGroupsService();
const textModelService = new class extends mock<ITextModelService>() {
createModelReference(resource: URI): Promise<IReference<ITextEditorModel>> {
const textEditorModel: ITextEditorModel = new class extends mock<ITextEditorModel>() {
textEditorModel = modelService.getModel(resource);
createModelReference(resource: URI): Promise<IReference<IResolvedTextEditorModel>> {
const textEditorModel = new class extends mock<IResolvedTextEditorModel>() {
textEditorModel = modelService.getModel(resource)!;
};
textEditorModel.isReadonly = () => false;
return Promise.resolve(new ImmortalReference(textEditorModel));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册