mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-19 08:08:39 +01:00
66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as assert from 'assert';
|
|
import * as vscode from 'vscode';
|
|
import { asPromise, assertNoRpc, closeAllEditors } from '../utils';
|
|
|
|
suite('vscode - automatic language detection', () => {
|
|
|
|
teardown(async function () {
|
|
assertNoRpc();
|
|
await closeAllEditors();
|
|
});
|
|
|
|
test('test automatic language detection works', async () => {
|
|
const doc = await vscode.workspace.openTextDocument();
|
|
const editor = await vscode.window.showTextDocument(doc);
|
|
|
|
assert.strictEqual(editor.document.languageId, 'plaintext');
|
|
|
|
const settingResult = vscode.workspace.getConfiguration().get<boolean>('workbench.editor.languageDetection');
|
|
assert.ok(settingResult);
|
|
|
|
const result = await editor.edit(editBuilder => {
|
|
editBuilder.insert(new vscode.Position(0, 0), `{
|
|
"extends": "./tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"removeComments": false,
|
|
"preserveConstEnums": true,
|
|
"sourceMap": false,
|
|
"outDir": "../out/vs",
|
|
"target": "es2020",
|
|
"types": [
|
|
"keytar",
|
|
"mocha",
|
|
"semver",
|
|
"sinon",
|
|
"winreg",
|
|
"trusted-types",
|
|
"wicg-file-system-access"
|
|
],
|
|
"plugins": [
|
|
{
|
|
"name": "tsec",
|
|
"exemptionConfig": "./tsec.exemptions.json"
|
|
}
|
|
]
|
|
},
|
|
"include": [
|
|
"./typings",
|
|
"./vs"
|
|
]
|
|
}`);
|
|
});
|
|
|
|
assert.ok(result);
|
|
|
|
// Changing the language triggers a file to be closed and opened again so wait for that event to happen.
|
|
const newDoc = await asPromise(vscode.workspace.onDidOpenTextDocument, 5000);
|
|
|
|
assert.strictEqual(newDoc.languageId, 'json');
|
|
});
|
|
});
|