Path: blob/main/src/vs/editor/test/common/services/languageService.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 { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../base/test/common/utils.js';7import { PLAINTEXT_LANGUAGE_ID } from '../../../common/languages/modesRegistry.js';8import { LanguageService } from '../../../common/services/languageService.js';910suite('LanguageService', () => {1112ensureNoDisposablesAreLeakedInTestSuite();1314test('LanguageSelection does not leak a disposable', () => {15const languageService = new LanguageService();16const languageSelection1 = languageService.createById(PLAINTEXT_LANGUAGE_ID);17assert.strictEqual(languageSelection1.languageId, PLAINTEXT_LANGUAGE_ID);18const languageSelection2 = languageService.createById(PLAINTEXT_LANGUAGE_ID);19const listener = languageSelection2.onDidChange(() => { });20assert.strictEqual(languageSelection2.languageId, PLAINTEXT_LANGUAGE_ID);21listener.dispose();22languageService.dispose();23});2425});262728