Dangling text file models of deleted files hanging around in memory (#98154)

* Dangling text file models of deleted files hanging around in memory (fix #98057)

* address feedback
This commit is contained in:
Benjamin Pasero
2020-05-26 16:29:12 +02:00
committed by GitHub
parent 63d6a654ec
commit a23d4daefa
7 changed files with 162 additions and 42 deletions

View File

@@ -29,31 +29,34 @@ suite('vscode API - languages', () => {
const doc = await vscode.workspace.openTextDocument(file);
const langIdNow = doc.languageId;
let clock = 0;
const disposables: vscode.Disposable[] = [];
let close = new Promise(resolve => {
vscode.workspace.onDidCloseTextDocument(e => {
disposables.push(vscode.workspace.onDidCloseTextDocument(e => {
if (e === doc) {
assert.equal(doc.languageId, langIdNow);
assert.equal(clock, 0);
clock += 1;
resolve();
}
});
}));
});
let open = new Promise(resolve => {
vscode.workspace.onDidOpenTextDocument(e => {
disposables.push(vscode.workspace.onDidOpenTextDocument(e => {
if (e === doc) { // same instance!
assert.equal(doc.languageId, 'json');
assert.equal(clock, 1);
clock += 1;
resolve();
}
});
}));
});
let change = vscode.languages.setTextDocumentLanguage(doc, 'json');
await Promise.all([change, close, open]);
assert.equal(clock, 2);
assert.equal(doc.languageId, 'json');
disposables.forEach(disposable => disposable.dispose());
disposables.length = 0;
});
test('setTextDocumentLanguage -> error when language does not exist', async function () {