add tests for createXYZ functions and skip most of them...

This commit is contained in:
Johannes Rieken 2021-02-01 14:52:37 +01:00
parent 3d2ca29012
commit a0c75f6053
2 changed files with 53 additions and 2 deletions

View file

@ -3,11 +3,58 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { assertNoRpc } from '../utils';
import { assertNoRpcFromEntry, assertNoRpc, disposeAll } from '../utils';
import * as vscode from 'vscode';
suite('vscode', function () {
const dispo: vscode.Disposable[] = [];
teardown(() => {
assertNoRpc();
disposeAll(dispo);
});
test('no rpc', function () {
assertNoRpc();
});
test('no rpc, createTextEditorDecorationType(...)', function () {
this.skip();
const item = vscode.window.createTextEditorDecorationType({});
dispo.push(item);
assertNoRpcFromEntry([item, 'TextEditorDecorationType']);
});
test('no rpc, createOutputChannel(...)', function () {
const item = vscode.window.createOutputChannel('hello');
dispo.push(item);
assertNoRpcFromEntry([item, 'OutputChannel']);
});
test('no rpc, createDiagnosticCollection(...)', function () {
const item = vscode.languages.createDiagnosticCollection();
dispo.push(item);
assertNoRpcFromEntry([item, 'DiagnosticCollection']);
});
test('no rpc, createStatusBarItem(...)', function () {
this.skip();
const item = vscode.window.createStatusBarItem();
dispo.push(item);
assertNoRpcFromEntry([item, 'StatusBarItem']);
});
test('no rpc, createSourceControl(...)', function () {
this.skip();
const item = vscode.scm.createSourceControl('foo', 'Hello');
dispo.push(item);
assertNoRpcFromEntry([item, 'SourceControl']);
});
test('no rpc, createCommentController(...)', function () {
this.skip();
const item = vscode.comments.createCommentController('foo', 'Hello');
dispo.push(item);
assertNoRpcFromEntry([item, 'CommentController']);
});
});

View file

@ -74,6 +74,10 @@ export function withLogDisabled(runnable: () => Promise<any>): () => Promise<voi
}
export function assertNoRpc() {
assertNoRpcFromEntry([vscode, 'vscode']);
}
export function assertNoRpcFromEntry(entry: [obj: any, name: string]) {
const symProxy = Symbol.for('rpcProxy');
const symProtocol = Symbol.for('rpcProtocol');
@ -106,7 +110,7 @@ export function assertNoRpc() {
}
try {
walk(vscode, 'vscode', new Set());
walk(entry[0], entry[1], new Set());
} catch (err) {
assert.fail(err);
}