env.test.ts 1.9 KB
Newer Older
J
Johannes Rieken 已提交
1 2 3 4 5 6
/*---------------------------------------------------------------------------------------------
 *  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';
7
import { env, extensions, ExtensionKind } from 'vscode';
J
Johannes Rieken 已提交
8 9 10

suite('env-namespace', () => {

11
	test('env is set', function () {
J
Johannes Rieken 已提交
12
		assert.equal(typeof env.language, 'string');
J
Johannes Rieken 已提交
13
		assert.equal(typeof env.appRoot, 'string');
14
		assert.equal(typeof env.appName, 'string');
J
Johannes Rieken 已提交
15 16
		assert.equal(typeof env.machineId, 'string');
		assert.equal(typeof env.sessionId, 'string');
D
Daniel Imms 已提交
17
		assert.equal(typeof env.shell, 'string');
J
Johannes Rieken 已提交
18 19
	});

20
	test('env is readonly', function () {
21 22 23 24 25
		assert.throws(() => (env as any).language = '234');
		assert.throws(() => (env as any).appRoot = '234');
		assert.throws(() => (env as any).appName = '234');
		assert.throws(() => (env as any).machineId = '234');
		assert.throws(() => (env as any).sessionId = '234');
D
Daniel Imms 已提交
26
		assert.throws(() => (env as any).shell = '234');
J
Johannes Rieken 已提交
27 28
	});

29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
	test('env.remoteName', function () {
		const remoteName = env.remoteName;
		const apiTestExtension = extensions.getExtension('vscode.vscode-api-tests');
		const testResolverExtension = extensions.getExtension('vscode.vscode-test-resolver');
		if (typeof remoteName === 'undefined') {
			assert.ok(apiTestExtension);
			assert.ok(testResolverExtension);
			assert.equal(ExtensionKind.UI, apiTestExtension!.extensionKind);
			assert.equal(ExtensionKind.UI, testResolverExtension!.extensionKind);
		} else if (typeof remoteName === 'string') {
			assert.ok(apiTestExtension);
			assert.ok(!testResolverExtension); // we currently can only access extensions that run on same host
			assert.equal(ExtensionKind.Workspace, apiTestExtension!.extensionKind);
		} else {
			assert.fail();
		}
	});

J
Johannes Rieken 已提交
47
});