mirror of
https://github.com/Microsoft/vscode
synced 2024-09-18 01:58:27 +00:00
add tests for createXYZ functions and skip most of them...
This commit is contained in:
parent
3d2ca29012
commit
a0c75f6053
|
@ -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']);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue