mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-08 09:08:48 +01:00
change extension kind ui to be ui + workspace deprecate string value for extension kind
This commit is contained in:
+1
-1
@@ -142,7 +142,7 @@ async function handleRoot(req, res) {
|
|||||||
return; // seems to fail to JSON.parse()?!
|
return; // seems to fail to JSON.parse()?!
|
||||||
}
|
}
|
||||||
|
|
||||||
packageJSON.extensionKind = 'web'; // enable for Web
|
packageJSON.extensionKind = ['web']; // enable for Web
|
||||||
|
|
||||||
mapExtensionFolderToExtensionPackageJSON.set(extensionFolder, packageJSON);
|
mapExtensionFolderToExtensionPackageJSON.set(extensionFolder, packageJSON);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
+42
-42
@@ -1362,8 +1362,8 @@ suite('ExtensionsActions Test', () => {
|
|||||||
test('Test ReloadAction when extension is not installed but extension from different server is installed and running', async () => {
|
test('Test ReloadAction when extension is not installed but extension from different server is installed and running', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const gallery = aGalleryExtension('a');
|
const gallery = aGalleryExtension('a');
|
||||||
const localExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file('pub.a') });
|
const localExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file('pub.a') });
|
||||||
const remoteExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
const remoteExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localExtension]), createExtensionManagementService([remoteExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localExtension]), createExtensionManagementService([remoteExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1391,8 +1391,8 @@ suite('ExtensionsActions Test', () => {
|
|||||||
test('Test ReloadAction when extension is uninstalled but extension from different server is installed and running', async () => {
|
test('Test ReloadAction when extension is uninstalled but extension from different server is installed and running', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const gallery = aGalleryExtension('a');
|
const gallery = aGalleryExtension('a');
|
||||||
const localExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file('pub.a') });
|
const localExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file('pub.a') });
|
||||||
const remoteExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
const remoteExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const localExtensionManagementService = createExtensionManagementService([localExtension]);
|
const localExtensionManagementService = createExtensionManagementService([localExtension]);
|
||||||
const uninstallEvent = new Emitter<IExtensionIdentifier>();
|
const uninstallEvent = new Emitter<IExtensionIdentifier>();
|
||||||
const onDidUninstallEvent = new Emitter<{ identifier: IExtensionIdentifier }>();
|
const onDidUninstallEvent = new Emitter<{ identifier: IExtensionIdentifier }>();
|
||||||
@@ -1433,7 +1433,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
const remoteExtensionManagementService = createExtensionManagementService([]);
|
const remoteExtensionManagementService = createExtensionManagementService([]);
|
||||||
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
||||||
remoteExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
remoteExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
||||||
const localExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file('pub.a') });
|
const localExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file('pub.a') });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localExtension]), remoteExtensionManagementService);
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localExtension]), remoteExtensionManagementService);
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1456,7 +1456,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
assert.ok(testObject.extension);
|
assert.ok(testObject.extension);
|
||||||
assert.ok(!testObject.enabled);
|
assert.ok(!testObject.enabled);
|
||||||
|
|
||||||
const remoteExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
const remoteExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
||||||
onDidInstallEvent.fire({ identifier: remoteExtension.identifier, local: remoteExtension, operation: InstallOperation.Install });
|
onDidInstallEvent.fire({ identifier: remoteExtension.identifier, local: remoteExtension, operation: InstallOperation.Install });
|
||||||
|
|
||||||
assert.ok(testObject.enabled);
|
assert.ok(testObject.enabled);
|
||||||
@@ -1469,7 +1469,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
const localExtensionManagementService = createExtensionManagementService([]);
|
const localExtensionManagementService = createExtensionManagementService([]);
|
||||||
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
||||||
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
||||||
const remoteExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
const remoteExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1492,7 +1492,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
assert.ok(testObject.extension);
|
assert.ok(testObject.extension);
|
||||||
assert.ok(!testObject.enabled);
|
assert.ok(!testObject.enabled);
|
||||||
|
|
||||||
const localExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a') });
|
const localExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file('pub.a') });
|
||||||
onDidInstallEvent.fire({ identifier: localExtension.identifier, local: localExtension, operation: InstallOperation.Install });
|
onDidInstallEvent.fire({ identifier: localExtension.identifier, local: localExtension, operation: InstallOperation.Install });
|
||||||
|
|
||||||
assert.ok(testObject.enabled);
|
assert.ok(testObject.enabled);
|
||||||
@@ -1502,11 +1502,11 @@ suite('ExtensionsActions Test', () => {
|
|||||||
test('Test ReloadAction for remote ui extension is disabled when it is installed and enabled in local server', async () => {
|
test('Test ReloadAction for remote ui extension is disabled when it is installed and enabled in local server', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const gallery = aGalleryExtension('a');
|
const gallery = aGalleryExtension('a');
|
||||||
const localExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a') });
|
const localExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file('pub.a') });
|
||||||
const localExtensionManagementService = createExtensionManagementService([localExtension]);
|
const localExtensionManagementService = createExtensionManagementService([localExtension]);
|
||||||
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
||||||
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
||||||
const remoteExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
const remoteExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1532,7 +1532,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is enabled for local workspace extension', async () => {
|
test('Test remote install action is enabled for local workspace extension', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1556,7 +1556,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
const remoteExtensionManagementService: IExtensionManagementService = createExtensionManagementService();
|
const remoteExtensionManagementService: IExtensionManagementService = createExtensionManagementService();
|
||||||
const onInstallExtension = new Emitter<InstallExtensionEvent>();
|
const onInstallExtension = new Emitter<InstallExtensionEvent>();
|
||||||
remoteExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
remoteExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), remoteExtensionManagementService);
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), remoteExtensionManagementService);
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1589,7 +1589,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
remoteExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
remoteExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
||||||
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
||||||
remoteExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
remoteExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), remoteExtensionManagementService);
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), remoteExtensionManagementService);
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1614,14 +1614,14 @@ suite('ExtensionsActions Test', () => {
|
|||||||
assert.equal('Installing', testObject.label);
|
assert.equal('Installing', testObject.label);
|
||||||
assert.equal('extension-action install installing', testObject.class);
|
assert.equal('extension-action install installing', testObject.class);
|
||||||
|
|
||||||
const installedExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const installedExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
onDidInstallEvent.fire({ identifier: installedExtension.identifier, local: installedExtension, operation: InstallOperation.Install });
|
onDidInstallEvent.fire({ identifier: installedExtension.identifier, local: installedExtension, operation: InstallOperation.Install });
|
||||||
assert.ok(!testObject.enabled);
|
assert.ok(!testObject.enabled);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Test remote install action is enabled for disabled local workspace extension', async () => {
|
test('Test remote install action is enabled for disabled local workspace extension', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1643,7 +1643,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is disabled when extension is not set', async () => {
|
test('Test remote install action is disabled when extension is not set', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
||||||
@@ -1678,7 +1678,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is disabled for local workspace extension which is disabled in env', async () => {
|
test('Test remote install action is disabled for local workspace extension which is disabled in env', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
||||||
instantiationService.stub(IWorkbenchEnvironmentService, { disableExtensions: true } as IWorkbenchEnvironmentService);
|
instantiationService.stub(IWorkbenchEnvironmentService, { disableExtensions: true } as IWorkbenchEnvironmentService);
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
@@ -1701,7 +1701,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
// single server setup
|
// single server setup
|
||||||
const workbenchService = instantiationService.get(IExtensionsWorkbenchService);
|
const workbenchService = instantiationService.get(IExtensionsWorkbenchService);
|
||||||
const extensionManagementServerService = instantiationService.get(IExtensionManagementServerService);
|
const extensionManagementServerService = instantiationService.get(IExtensionManagementServerService);
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localWorkspaceExtension]);
|
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localWorkspaceExtension]);
|
||||||
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(aGalleryExtension('a', { identifier: localWorkspaceExtension.identifier })));
|
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(aGalleryExtension('a', { identifier: localWorkspaceExtension.identifier })));
|
||||||
const testObject: ExtensionsActions.InstallAction = instantiationService.createInstance(ExtensionsActions.RemoteInstallAction);
|
const testObject: ExtensionsActions.InstallAction = instantiationService.createInstance(ExtensionsActions.RemoteInstallAction);
|
||||||
@@ -1720,7 +1720,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, extensionManagementService);
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, extensionManagementService);
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localWorkspaceExtension]);
|
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localWorkspaceExtension]);
|
||||||
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
||||||
instantiationService.set(IExtensionsWorkbenchService, workbenchService);
|
instantiationService.set(IExtensionsWorkbenchService, workbenchService);
|
||||||
@@ -1741,8 +1741,8 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is disabled for local workspace extension if it is installed in remote', async () => {
|
test('Test remote install action is disabled for local workspace extension if it is installed in remote', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const remoteWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), createExtensionManagementService([remoteWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), createExtensionManagementService([remoteWorkspaceExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1762,7 +1762,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is enabled for local workspace extension if it has not gallery', async () => {
|
test('Test remote install action is enabled for local workspace extension if it has not gallery', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1781,7 +1781,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is disabled for local workspace system extension', async () => {
|
test('Test remote install action is disabled for local workspace system extension', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceSystemExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`), type: ExtensionType.System });
|
const localWorkspaceSystemExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`), type: ExtensionType.System });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceSystemExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceSystemExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1800,7 +1800,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is disabled for local ui extension if it is not installed in remote', async () => {
|
test('Test remote install action is disabled for local ui extension if it is not installed in remote', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`) });
|
const localUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1819,8 +1819,8 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test remote install action is disabled for local ui extension if it is also installed in remote', async () => {
|
test('Test remote install action is disabled for local ui extension if it is also installed in remote', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`) });
|
const localUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`) });
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localUIExtension]), createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localUIExtension]), createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1885,7 +1885,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is enabled for remote ui extension', async () => {
|
test('Test local install action is enabled for remote ui extension', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1909,7 +1909,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
const localExtensionManagementService: IExtensionManagementService = createExtensionManagementService();
|
const localExtensionManagementService: IExtensionManagementService = createExtensionManagementService();
|
||||||
const onInstallExtension = new Emitter<InstallExtensionEvent>();
|
const onInstallExtension = new Emitter<InstallExtensionEvent>();
|
||||||
localExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
localExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1942,7 +1942,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
localExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
localExtensionManagementService.onInstallExtension = onInstallExtension.event;
|
||||||
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
|
||||||
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1967,14 +1967,14 @@ suite('ExtensionsActions Test', () => {
|
|||||||
assert.equal('Installing', testObject.label);
|
assert.equal('Installing', testObject.label);
|
||||||
assert.equal('extension-action install installing', testObject.class);
|
assert.equal('extension-action install installing', testObject.class);
|
||||||
|
|
||||||
const installedExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`) });
|
const installedExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`) });
|
||||||
onDidInstallEvent.fire({ identifier: installedExtension.identifier, local: installedExtension, operation: InstallOperation.Install });
|
onDidInstallEvent.fire({ identifier: installedExtension.identifier, local: installedExtension, operation: InstallOperation.Install });
|
||||||
assert.ok(!testObject.enabled);
|
assert.ok(!testObject.enabled);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Test local install action is enabled for disabled remote ui extension', async () => {
|
test('Test local install action is enabled for disabled remote ui extension', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -1996,7 +1996,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is disabled when extension is not set', async () => {
|
test('Test local install action is disabled when extension is not set', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
||||||
@@ -2031,7 +2031,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is disabled for remote ui extension which is disabled in env', async () => {
|
test('Test local install action is disabled for remote ui extension which is disabled in env', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
instantiationService.stub(IWorkbenchEnvironmentService, { disableExtensions: true } as IWorkbenchEnvironmentService);
|
instantiationService.stub(IWorkbenchEnvironmentService, { disableExtensions: true } as IWorkbenchEnvironmentService);
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
@@ -2052,7 +2052,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is disabled when local server is not available', async () => {
|
test('Test local install action is disabled when local server is not available', async () => {
|
||||||
// single server setup
|
// single server setup
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aSingleRemoteExtensionManagementServerService(instantiationService, createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aSingleRemoteExtensionManagementServerService(instantiationService, createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -2072,8 +2072,8 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is disabled for remote ui extension if it is installed in local', async () => {
|
test('Test local install action is disabled for remote ui extension if it is installed in local', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`) });
|
const localUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`) });
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localUIExtension]), createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localUIExtension]), createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -2097,7 +2097,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), extensionManagementService);
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), extensionManagementService);
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [remoteUIExtension]);
|
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [remoteUIExtension]);
|
||||||
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
|
||||||
instantiationService.set(IExtensionsWorkbenchService, workbenchService);
|
instantiationService.set(IExtensionsWorkbenchService, workbenchService);
|
||||||
@@ -2118,7 +2118,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is enabled for remote UI extension if it has gallery', async () => {
|
test('Test local install action is enabled for remote UI extension if it has gallery', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const remoteUIExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteUIExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUIExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -2137,7 +2137,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is disabled for remote UI system extension', async () => {
|
test('Test local install action is disabled for remote UI system extension', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const remoteUISystemExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }), type: ExtensionType.System });
|
const remoteUISystemExtension = aLocalExtension('a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }), type: ExtensionType.System });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUISystemExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteUISystemExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -2156,7 +2156,7 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is disabled for remote workspace extension if it is not installed in local', async () => {
|
test('Test local install action is disabled for remote workspace extension if it is not installed in local', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const remoteWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService(), createExtensionManagementService([remoteWorkspaceExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
@@ -2175,8 +2175,8 @@ suite('ExtensionsActions Test', () => {
|
|||||||
|
|
||||||
test('Test local install action is disabled for remote workspace extension if it is also installed in local', async () => {
|
test('Test local install action is disabled for remote workspace extension if it is also installed in local', async () => {
|
||||||
// multi server setup
|
// multi server setup
|
||||||
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspae' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspae'] }, { location: URI.file(`pub.a`) });
|
||||||
const remoteWorkspaceExtension = aLocalExtension('a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const remoteWorkspaceExtension = aLocalExtension('a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), createExtensionManagementService([remoteWorkspaceExtension]));
|
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, createExtensionManagementService([localWorkspaceExtension]), createExtensionManagementService([remoteWorkspaceExtension]));
|
||||||
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
|
||||||
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
|
||||||
|
|||||||
@@ -390,11 +390,11 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
|
|||||||
patternProperties: {
|
patternProperties: {
|
||||||
'([a-z0-9A-Z][a-z0-9\-A-Z]*)\\.([a-z0-9A-Z][a-z0-9\-A-Z]*)$': {
|
'([a-z0-9A-Z][a-z0-9\-A-Z]*)\\.([a-z0-9A-Z][a-z0-9\-A-Z]*)$': {
|
||||||
oneOf: [{ type: 'array', items: extensionKindSchema }, extensionKindSchema],
|
oneOf: [{ type: 'array', items: extensionKindSchema }, extensionKindSchema],
|
||||||
default: 'ui',
|
default: ['ui'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
default: {
|
default: {
|
||||||
'pub.name': 'ui'
|
'pub.name': ['ui']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'remote.downloadExtensionsLocally': {
|
'remote.downloadExtensionsLocally': {
|
||||||
|
|||||||
+25
-9
@@ -405,15 +405,23 @@ suite('ExtensionEnablementService Test', () => {
|
|||||||
|
|
||||||
test('test local workspace extension is disabled by kind', async () => {
|
test('test local workspace extension is disabled by kind', async () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.ok(!testObject.isEnabled(localWorkspaceExtension));
|
assert.ok(!testObject.isEnabled(localWorkspaceExtension));
|
||||||
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.DisabledByExtensionKind);
|
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.DisabledByExtensionKind);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('test local workspace + ui extension is enabled by kind', async () => {
|
||||||
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['workspace', 'ui'] }, { location: URI.file(`pub.a`) });
|
||||||
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
|
assert.ok(testObject.isEnabled(localWorkspaceExtension));
|
||||||
|
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.EnabledGlobally);
|
||||||
|
});
|
||||||
|
|
||||||
test('test local ui extension is not disabled by kind', async () => {
|
test('test local ui extension is not disabled by kind', async () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.ok(testObject.isEnabled(localWorkspaceExtension));
|
assert.ok(testObject.isEnabled(localWorkspaceExtension));
|
||||||
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.EnabledGlobally);
|
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.EnabledGlobally);
|
||||||
@@ -421,29 +429,37 @@ suite('ExtensionEnablementService Test', () => {
|
|||||||
|
|
||||||
test('test canChangeEnablement return false when the local workspace extension is disabled by kind', () => {
|
test('test canChangeEnablement return false when the local workspace extension is disabled by kind', () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), false);
|
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('test canChangeEnablement return true for local ui extension', () => {
|
test('test canChangeEnablement return true for local ui extension', () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), true);
|
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('test remote ui extension is disabled by kind', async () => {
|
test('test remote ui extension is disabled by kind', async () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.ok(!testObject.isEnabled(localWorkspaceExtension));
|
assert.ok(!testObject.isEnabled(localWorkspaceExtension));
|
||||||
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.DisabledByExtensionKind);
|
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.DisabledByExtensionKind);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('test remote ui+workspace extension is disabled by kind', async () => {
|
||||||
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['ui', 'workspace'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
|
assert.ok(testObject.isEnabled(localWorkspaceExtension));
|
||||||
|
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.EnabledGlobally);
|
||||||
|
});
|
||||||
|
|
||||||
test('test remote ui extension is disabled by kind when there is no local server', async () => {
|
test('test remote ui extension is disabled by kind when there is no local server', async () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, anExtensionManagementServerService(null, anExtensionManagementServer('vscode-remote', instantiationService)));
|
instantiationService.stub(IExtensionManagementServerService, anExtensionManagementServerService(null, anExtensionManagementServer('vscode-remote', instantiationService)));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.ok(!testObject.isEnabled(localWorkspaceExtension));
|
assert.ok(!testObject.isEnabled(localWorkspaceExtension));
|
||||||
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.DisabledByExtensionKind);
|
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.DisabledByExtensionKind);
|
||||||
@@ -451,7 +467,7 @@ suite('ExtensionEnablementService Test', () => {
|
|||||||
|
|
||||||
test('test remote workspace extension is not disabled by kind', async () => {
|
test('test remote workspace extension is not disabled by kind', async () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.ok(testObject.isEnabled(localWorkspaceExtension));
|
assert.ok(testObject.isEnabled(localWorkspaceExtension));
|
||||||
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.EnabledGlobally);
|
assert.deepEqual(testObject.getEnablementState(localWorkspaceExtension), EnablementState.EnabledGlobally);
|
||||||
@@ -459,14 +475,14 @@ suite('ExtensionEnablementService Test', () => {
|
|||||||
|
|
||||||
test('test canChangeEnablement return false when the remote ui extension is disabled by kind', () => {
|
test('test canChangeEnablement return false when the remote ui extension is disabled by kind', () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'ui' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['ui'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), false);
|
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('test canChangeEnablement return true for remote workspace extension', () => {
|
test('test canChangeEnablement return true for remote workspace extension', () => {
|
||||||
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
instantiationService.stub(IExtensionManagementServerService, aMultiExtensionManagementServerService(instantiationService));
|
||||||
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: 'workspace' }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
const localWorkspaceExtension = aLocalExtension2('pub.a', { extensionKind: ['workspace'] }, { location: URI.file(`pub.a`).with({ scheme: Schemas.vscodeRemote }) });
|
||||||
testObject = new TestExtensionEnablementService(instantiationService);
|
testObject = new TestExtensionEnablementService(instantiationService);
|
||||||
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), true);
|
assert.equal(testObject.canChangeEnablement(localWorkspaceExtension), true);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -357,10 +357,19 @@ export const schema: IJSONSchema = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
extensionKind: {
|
extensionKind: {
|
||||||
description: nls.localize('extensionKind', "Define the kind of an extension. `ui` extensions are installed and run on the local machine while `workspace` extensions are run on the remote."),
|
description: nls.localize('extensionKind', "Define the kind of an extension. `ui` extensions are installed and run on the local machine while `workspace` extensions run on the remote."),
|
||||||
oneOf: [{ type: 'array', items: extensionKindSchema }, extensionKindSchema],
|
type: 'array',
|
||||||
default: 'workspace',
|
items: extensionKindSchema,
|
||||||
|
default: ['workspace'],
|
||||||
defaultSnippets: [
|
defaultSnippets: [
|
||||||
|
{
|
||||||
|
body: ['ui'],
|
||||||
|
description: nls.localize('extensionKind.ui', "Define an extension which can run only on the local machine when connected to remote window.")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
body: ['workspace'],
|
||||||
|
description: nls.localize('extensionKind.workspace', "Define an extension which can run only on the remote machine when connected remote window.")
|
||||||
|
},
|
||||||
{
|
{
|
||||||
body: ['ui', 'workspace'],
|
body: ['ui', 'workspace'],
|
||||||
description: nls.localize('extensionKind.ui-workspace', "Define an extension which can run on either side, with a preference towards running on the local machine.")
|
description: nls.localize('extensionKind.ui-workspace', "Define an extension which can run on either side, with a preference towards running on the local machine.")
|
||||||
|
|||||||
@@ -123,5 +123,5 @@ function toArray(extensionKind: ExtensionKind | ExtensionKind[]): ExtensionKind[
|
|||||||
if (Array.isArray(extensionKind)) {
|
if (Array.isArray(extensionKind)) {
|
||||||
return extensionKind;
|
return extensionKind;
|
||||||
}
|
}
|
||||||
return [extensionKind];
|
return extensionKind === 'ui' ? ['ui', 'workspace'] : [extensionKind];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user