提交 e25528e2 编写于 作者: M Matt Bierner

Clean up dispose

上级 ab77235b
......@@ -5,16 +5,22 @@
'use strict';
import * as assert from 'assert';
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import URI from 'vs/base/common/uri';
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { Selection } from 'vs/editor/common/core/selection';
import { TextModel } from 'vs/editor/common/model/textModel';
import { CodeActionProviderRegistry, LanguageIdentifier } from 'vs/editor/common/modes';
import { CodeActionOracle } from 'vs/editor/contrib/codeAction/codeActionModel';
import { CodeActionKind } from 'vs/editor/contrib/codeAction/codeActionTrigger';
import { createTestCodeEditor } from 'vs/editor/test/browser/testCodeEditor';
import { MarkerService } from 'vs/platform/markers/common/markerService';
import { CodeActionOracle } from 'vs/editor/contrib/codeAction/codeActionModel';
import { CodeActionProviderRegistry, LanguageIdentifier } from 'vs/editor/common/modes';
import { IDisposable } from 'vs/base/common/lifecycle';
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { Selection } from 'vs/editor/common/core/selection';
const testProvider = {
provideCodeActions() {
return [{ id: 'test-command', title: 'test', arguments: [] }];
}
};
suite('CodeAction', () => {
const languageIdentifier = new LanguageIdentifier('foo-lang', 3);
......@@ -22,14 +28,10 @@ suite('CodeAction', () => {
let model: TextModel;
let markerService: MarkerService;
let editor: ICodeEditor;
let reg: IDisposable;
let disposables: IDisposable[];
setup(() => {
reg = CodeActionProviderRegistry.register(languageIdentifier.language, {
provideCodeActions() {
return [{ id: 'test-command', title: 'test', arguments: [] }];
}
});
disposables = [];
markerService = new MarkerService();
model = TextModel.createFromString('foobar foo bar\nfarboo far boo', undefined, languageIdentifier, uri);
editor = createTestCodeEditor({ model: model });
......@@ -37,13 +39,15 @@ suite('CodeAction', () => {
});
teardown(() => {
reg.dispose();
dispose(disposables);
editor.dispose();
model.dispose();
markerService.dispose();
});
test('Orcale -> marker added', done => {
const reg = CodeActionProviderRegistry.register(languageIdentifier.language, testProvider);
disposables.push(reg);
const oracle = new CodeActionOracle(editor, markerService, e => {
assert.equal(e.trigger.type, 'auto');
......@@ -68,6 +72,8 @@ suite('CodeAction', () => {
});
test('Orcale -> position changed', () => {
const reg = CodeActionProviderRegistry.register(languageIdentifier.language, testProvider);
disposables.push(reg);
markerService.changeOne('fake', uri, [{
startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 6,
......@@ -96,11 +102,12 @@ suite('CodeAction', () => {
});
test('Lightbulb is in the wrong place, #29933', async function () {
let reg = CodeActionProviderRegistry.register(languageIdentifier.language, {
provideCodeActions(doc, _range) {
const reg = CodeActionProviderRegistry.register(languageIdentifier.language, {
provideCodeActions(_doc, _range) {
return [];
}
});
disposables.push(reg);
editor.getModel().setValue('// @ts-check\n2\ncon\n');
......@@ -146,9 +153,5 @@ suite('CodeAction', () => {
// oracle.trigger('manual');
// });
reg.dispose();
});
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册