From 8ea4e889c94147c90d9c2d1bc5e80b54004eb993 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Wed, 2 Sep 2020 16:46:47 +0200 Subject: [PATCH] editor model - add some tests --- src/vs/workbench/common/editor.ts | 3 +++ .../textfile/test/browser/textFileEditorModel.test.ts | 10 +++++++++- .../test/browser/parts/editor/editorModel.test.ts | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/common/editor.ts b/src/vs/workbench/common/editor.ts index 2001ef65566..84f8ce721ad 100644 --- a/src/vs/workbench/common/editor.ts +++ b/src/vs/workbench/common/editor.ts @@ -835,6 +835,9 @@ export class EditorModel extends Disposable implements IEditorModel { return true; } + /** + * Find out if this model has been disposed. + */ isDisposed(): boolean { return this.disposed; } diff --git a/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts b/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts index 4ebd22cabf1..b791091bcb8 100644 --- a/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts +++ b/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts @@ -7,7 +7,7 @@ import * as assert from 'assert'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { EncodingMode } from 'vs/workbench/common/editor'; import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel'; -import { TextFileEditorModelState, snapshotToString } from 'vs/workbench/services/textfile/common/textfiles'; +import { TextFileEditorModelState, snapshotToString, isTextFileEditorModel } from 'vs/workbench/services/textfile/common/textfiles'; import { createFileEditorInput, workbenchInstantiationService, TestServiceAccessor, TestReadonlyTextFileEditorModel } from 'vs/workbench/test/browser/workbenchTestServices'; import { toResource } from 'vs/base/test/common/utils'; import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager'; @@ -73,6 +73,14 @@ suite('Files - TextFileEditorModel', () => { model.dispose(); }); + test('isTextFileEditorModel', async function () { + const model = instantiationService.createInstance(TextFileEditorModel, toResource.call(this, '/path/index_async.txt'), 'utf8', undefined); + + assert.equal(isTextFileEditorModel(model), true); + + model.dispose(); + }); + test('save', async function () { const model: TextFileEditorModel = instantiationService.createInstance(TextFileEditorModel, toResource.call(this, '/path/index_async.txt'), 'utf8', undefined); diff --git a/src/vs/workbench/test/browser/parts/editor/editorModel.test.ts b/src/vs/workbench/test/browser/parts/editor/editorModel.test.ts index 4742a1c19d0..69a3a66b2ef 100644 --- a/src/vs/workbench/test/browser/parts/editor/editorModel.test.ts +++ b/src/vs/workbench/test/browser/parts/editor/editorModel.test.ts @@ -60,9 +60,11 @@ suite('Workbench editor model', () => { const model = await m.load(); assert(model === m); + assert.equal(model.isDisposed(), false); assert.strictEqual(m.isResolved(), true); m.dispose(); assert.equal(counter, 1); + assert.equal(model.isDisposed(), true); }); test('BaseTextEditorModel', async () => {