Path: blob/main/src/vs/workbench/api/test/browser/extHostDocumentsAndEditors.test.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import assert from 'assert';6import { URI } from '../../../../base/common/uri.js';7import { ExtHostDocumentsAndEditors } from '../../common/extHostDocumentsAndEditors.js';8import { TestRPCProtocol } from '../common/testRPCProtocol.js';9import { NullLogService } from '../../../../platform/log/common/log.js';10import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../base/test/common/utils.js';1112suite('ExtHostDocumentsAndEditors', () => {1314let editors: ExtHostDocumentsAndEditors;1516setup(function () {17editors = new ExtHostDocumentsAndEditors(new TestRPCProtocol(), new NullLogService());18});1920ensureNoDisposablesAreLeakedInTestSuite();2122test('The value of TextDocument.isClosed is incorrect when a text document is closed, #27949', () => {2324editors.$acceptDocumentsAndEditorsDelta({25addedDocuments: [{26EOL: '\n',27isDirty: true,28languageId: 'fooLang',29uri: URI.parse('foo:bar'),30versionId: 1,31lines: [32'first',33'second'34],35encoding: 'utf8'36}]37});3839return new Promise((resolve, reject) => {4041const d = editors.onDidRemoveDocuments(e => {42try {4344for (const data of e) {45assert.strictEqual(data.document.isClosed, true);46}47resolve(undefined);48} catch (e) {49reject(e);50} finally {51d.dispose();52}53});5455editors.$acceptDocumentsAndEditorsDelta({56removedDocuments: [URI.parse('foo:bar')]57});5859});60});6162});636465