Merge from vscode aba87f135229c17c4624341b7a2499dcedafcb87 (#6430)

* Merge from vscode aba87f135229c17c4624341b7a2499dcedafcb87

* fix compile errors
This commit is contained in:
Anthony Dresser
2019-07-18 18:32:57 -07:00
committed by GitHub
parent bf4815d364
commit ee3663c1cd
158 changed files with 3101 additions and 2361 deletions

View File

@@ -8,11 +8,12 @@ import { assign } from 'vs/base/common/objects';
import { generateUuid } from 'vs/base/common/uuid';
import { IExtensionsWorkbenchService, ExtensionContainers } from 'vs/workbench/contrib/extensions/common/extensions';
import * as ExtensionsActions from 'vs/workbench/contrib/extensions/browser/extensionsActions';
import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/node/extensionsWorkbenchService';
import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService';
import {
IExtensionManagementService, IExtensionGalleryService, IExtensionEnablementService, IExtensionTipsService, ILocalExtension, IGalleryExtension,
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier, EnablementState, InstallOperation, IExtensionManagementServerService, IExtensionManagementServer
IExtensionManagementService, IExtensionGalleryService, ILocalExtension, IGalleryExtension,
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier, InstallOperation
} from 'vs/platform/extensionManagement/common/extensionManagement';
import { IExtensionEnablementService, EnablementState, IExtensionManagementServerService, IExtensionManagementServer, IExtensionTipsService } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
import { getGalleryExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
import { ExtensionManagementService } from 'vs/platform/extensionManagement/node/extensionManagementService';
import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/electron-browser/extensionTipsService';
@@ -39,7 +40,7 @@ import { ExtensionIdentifier, IExtensionContributions, ExtensionType, IExtension
import { ISharedProcessService } from 'vs/platform/ipc/electron-browser/sharedProcessService';
import { CancellationToken } from 'vs/base/common/cancellation';
import { ILabelService } from 'vs/platform/label/common/label';
import { ExtensionManagementServerService } from 'vs/workbench/services/extensions/electron-browser/extensionManagementServerService';
import { ExtensionManagementServerService } from 'vs/workbench/services/extensionManagement/electron-browser/extensionManagementServerService';
import { IProductService } from 'vs/platform/product/common/product';
suite('ExtensionsActions Test', () => {
@@ -79,7 +80,7 @@ suite('ExtensionsActions Test', () => {
instantiationService.stub(IExtensionManagementServerService, new class extends ExtensionManagementServerService {
private _localExtensionManagementServer: IExtensionManagementServer = { extensionManagementService: instantiationService.get(IExtensionManagementService), label: 'local', authority: 'vscode-local' };
constructor() {
super(instantiationService.get(ISharedProcessService), instantiationService.get(IRemoteAgentService), instantiationService.get(IExtensionGalleryService), instantiationService.get(IConfigurationService), instantiationService.get(IProductService), instantiationService.get(ILogService));
super(instantiationService.get(ISharedProcessService), instantiationService.get(IRemoteAgentService), instantiationService.get(IExtensionGalleryService), instantiationService.get(IConfigurationService), instantiationService.get(IProductService), instantiationService.get(ILogService), instantiationService.get(ILabelService));
}
get localExtensionManagementServer(): IExtensionManagementServer { return this._localExtensionManagementServer; }
set localExtensionManagementServer(server: IExtensionManagementServer) { }
@@ -601,7 +602,7 @@ suite('ExtensionsActions Test', () => {
test('Test EnableForWorkspaceAction when the extension is disabled globally', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -616,7 +617,7 @@ suite('ExtensionsActions Test', () => {
test('Test EnableForWorkspaceAction when extension is disabled for workspace', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.WorkspaceDisabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledWorkspace)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -631,8 +632,8 @@ suite('ExtensionsActions Test', () => {
test('Test EnableForWorkspaceAction when the extension is disabled globally and workspace', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledWorkspace))
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -665,7 +666,7 @@ suite('ExtensionsActions Test', () => {
test('Test EnableGloballyAction when the extension is disabled for workspace', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.WorkspaceDisabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledWorkspace)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -680,7 +681,7 @@ suite('ExtensionsActions Test', () => {
test('Test EnableGloballyAction when the extension is disabled globally', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -695,8 +696,8 @@ suite('ExtensionsActions Test', () => {
test('Test EnableGloballyAction when the extension is disabled in both', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledWorkspace))
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -729,7 +730,7 @@ suite('ExtensionsActions Test', () => {
test('Test EnableDropDownAction when extension is installed and disabled globally', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -744,7 +745,7 @@ suite('ExtensionsActions Test', () => {
test('Test EnableDropDownAction when extension is installed and disabled for workspace', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.WorkspaceDisabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledWorkspace)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -805,7 +806,7 @@ suite('ExtensionsActions Test', () => {
test('Test DisableForWorkspaceAction when the extension is disabled globally', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -820,7 +821,7 @@ suite('ExtensionsActions Test', () => {
test('Test DisableForWorkspaceAction when the extension is disabled workspace', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -853,7 +854,7 @@ suite('ExtensionsActions Test', () => {
test('Test DisableGloballyAction when the extension is disabled globally', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -868,7 +869,7 @@ suite('ExtensionsActions Test', () => {
test('Test DisableGloballyAction when the extension is disabled for workspace', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.WorkspaceDisabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledWorkspace)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -913,7 +914,7 @@ suite('ExtensionsActions Test', () => {
test('Test DisableDropDownAction when extension is installed and disabled globally', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -928,7 +929,7 @@ suite('ExtensionsActions Test', () => {
test('Test DisableDropDownAction when extension is installed and disabled for workspace', () => {
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.WorkspaceDisabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledWorkspace)
.then(() => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
@@ -1200,7 +1201,7 @@ suite('ExtensionsActions Test', () => {
test('Test ReloadAction when extension is updated when not running', () => {
instantiationService.stubPromise(IExtensionService, 'getExtensions', [{ identifier: new ExtensionIdentifier('pub.b'), extensionLocation: URI.file('pub.b') }]);
const local = aLocalExtension('a', { version: '1.0.1' });
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
const testObject: ExtensionsActions.ReloadAction = instantiationService.createInstance(ExtensionsActions.ReloadAction);
instantiationService.createInstance(ExtensionContainers, [testObject]);
@@ -1228,7 +1229,7 @@ suite('ExtensionsActions Test', () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local]);
return workbenchService.queryLocal().then(extensions => {
testObject.extension = extensions[0];
return workbenchService.setEnablement(extensions[0], EnablementState.Disabled)
return workbenchService.setEnablement(extensions[0], EnablementState.DisabledGlobally)
.then(() => testObject.update())
.then(() => {
assert.ok(testObject.enabled);
@@ -1248,8 +1249,8 @@ suite('ExtensionsActions Test', () => {
return workbenchService.queryLocal().
then(extensions => {
testObject.extension = extensions[0];
return workbenchService.setEnablement(extensions[0], EnablementState.Disabled)
.then(() => workbenchService.setEnablement(extensions[0], EnablementState.Enabled))
return workbenchService.setEnablement(extensions[0], EnablementState.DisabledGlobally)
.then(() => workbenchService.setEnablement(extensions[0], EnablementState.EnabledGlobally))
.then(() => assert.ok(!testObject.enabled));
});
});
@@ -1257,7 +1258,7 @@ suite('ExtensionsActions Test', () => {
test('Test ReloadAction when extension is enabled when not running', () => {
instantiationService.stubPromise(IExtensionService, 'getExtensions', [{ identifier: new ExtensionIdentifier('pub.b'), extensionLocation: URI.file('pub.b') }]);
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
const testObject: ExtensionsActions.ReloadAction = instantiationService.createInstance(ExtensionsActions.ReloadAction);
instantiationService.createInstance(ExtensionContainers, [testObject]);
@@ -1266,7 +1267,7 @@ suite('ExtensionsActions Test', () => {
return workbenchService.queryLocal()
.then(extensions => {
testObject.extension = extensions[0];
return workbenchService.setEnablement(extensions[0], EnablementState.Enabled)
return workbenchService.setEnablement(extensions[0], EnablementState.EnabledGlobally)
.then(() => testObject.update())
.then(() => {
assert.ok(testObject.enabled);
@@ -1280,7 +1281,7 @@ suite('ExtensionsActions Test', () => {
test('Test ReloadAction when extension enablement is toggled when not running', () => {
instantiationService.stubPromise(IExtensionService, 'getExtensions', [{ identifier: new ExtensionIdentifier('pub.b'), extensionLocation: URI.file('pub.b') }]);
const local = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
const testObject: ExtensionsActions.ReloadAction = instantiationService.createInstance(ExtensionsActions.ReloadAction);
instantiationService.createInstance(ExtensionContainers, [testObject]);
@@ -1289,8 +1290,8 @@ suite('ExtensionsActions Test', () => {
return workbenchService.queryLocal()
.then(extensions => {
testObject.extension = extensions[0];
return workbenchService.setEnablement(extensions[0], EnablementState.Enabled)
.then(() => workbenchService.setEnablement(extensions[0], EnablementState.Disabled))
return workbenchService.setEnablement(extensions[0], EnablementState.EnabledGlobally)
.then(() => workbenchService.setEnablement(extensions[0], EnablementState.DisabledGlobally))
.then(() => assert.ok(!testObject.enabled));
});
});
@@ -1299,7 +1300,7 @@ suite('ExtensionsActions Test', () => {
test('Test ReloadAction when extension is updated when not running and enabled', () => {
instantiationService.stubPromise(IExtensionService, 'getExtensions', [{ identifier: new ExtensionIdentifier('pub.b'), extensionLocation: URI.file('pub.b') }]);
const local = aLocalExtension('a', { version: '1.0.1' });
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([local], EnablementState.DisabledGlobally)
.then(() => {
const testObject: ExtensionsActions.ReloadAction = instantiationService.createInstance(ExtensionsActions.ReloadAction);
instantiationService.createInstance(ExtensionContainers, [testObject]);
@@ -1312,7 +1313,7 @@ suite('ExtensionsActions Test', () => {
const gallery = aGalleryExtension('a', { identifier: local.identifier, version: '1.0.2' });
installEvent.fire({ identifier: gallery.identifier, gallery });
didInstallEvent.fire({ identifier: gallery.identifier, gallery, operation: InstallOperation.Install, local: aLocalExtension('a', gallery, gallery) });
return workbenchService.setEnablement(extensions[0], EnablementState.Enabled)
return workbenchService.setEnablement(extensions[0], EnablementState.EnabledGlobally)
.then(() => testObject.update())
.then(() => {
assert.ok(testObject.enabled);

View File

@@ -12,8 +12,9 @@ import * as uuid from 'vs/base/common/uuid';
import { mkdirp, rimraf, RimRafMode } from 'vs/base/node/pfs';
import {
IExtensionGalleryService, IGalleryExtensionAssets, IGalleryExtension, IExtensionManagementService,
IExtensionEnablementService, DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier
} from 'vs/platform/extensionManagement/common/extensionManagement';
import { IExtensionEnablementService } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/electron-browser/extensionTipsService';
import { ExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionGalleryService';
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';

View File

@@ -9,11 +9,12 @@ import { generateUuid } from 'vs/base/common/uuid';
import { ExtensionsListView } from 'vs/workbench/contrib/extensions/browser/extensionsViews';
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
import { IExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/common/extensions';
import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/node/extensionsWorkbenchService';
import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService';
import {
IExtensionManagementService, IExtensionGalleryService, IExtensionEnablementService, IExtensionTipsService, ILocalExtension, IGalleryExtension, IQueryOptions,
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier, IExtensionManagementServerService, EnablementState, ExtensionRecommendationReason, SortBy, IExtensionManagementServer
IExtensionManagementService, IExtensionGalleryService, ILocalExtension, IGalleryExtension, IQueryOptions,
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier, SortBy
} from 'vs/platform/extensionManagement/common/extensionManagement';
import { IExtensionEnablementService, EnablementState, IExtensionManagementServerService, IExtensionManagementServer, IExtensionTipsService, ExtensionRecommendationReason } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
import { getGalleryExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
import { ExtensionManagementService } from 'vs/platform/extensionManagement/node/extensionManagementService';
import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/electron-browser/extensionTipsService';
@@ -40,8 +41,9 @@ import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteA
import { RemoteAgentService } from 'vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl';
import { ExtensionIdentifier, ExtensionType, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
import { ISharedProcessService } from 'vs/platform/ipc/electron-browser/sharedProcessService';
import { ExtensionManagementServerService } from 'vs/workbench/services/extensions/electron-browser/extensionManagementServerService';
import { ExtensionManagementServerService } from 'vs/workbench/services/extensionManagement/electron-browser/extensionManagementServerService';
import { IProductService } from 'vs/platform/product/common/product';
import { ILabelService } from 'vs/platform/label/common/label';
suite('ExtensionsListView Tests', () => {
@@ -95,7 +97,7 @@ suite('ExtensionsListView Tests', () => {
instantiationService.stub(IExtensionManagementServerService, new class extends ExtensionManagementServerService {
private _localExtensionManagementServer: IExtensionManagementServer = { extensionManagementService: instantiationService.get(IExtensionManagementService), label: 'local', authority: 'vscode-local' };
constructor() {
super(instantiationService.get(ISharedProcessService), instantiationService.get(IRemoteAgentService), instantiationService.get(IExtensionGalleryService), instantiationService.get(IConfigurationService), instantiationService.get(IProductService), instantiationService.get(ILogService));
super(instantiationService.get(ISharedProcessService), instantiationService.get(IRemoteAgentService), instantiationService.get(IExtensionGalleryService), instantiationService.get(IConfigurationService), instantiationService.get(IProductService), instantiationService.get(ILogService), instantiationService.get(ILabelService));
}
get localExtensionManagementServer(): IExtensionManagementServer { return this._localExtensionManagementServer; }
set localExtensionManagementServer(server: IExtensionManagementServer) { }
@@ -143,8 +145,8 @@ suite('ExtensionsListView Tests', () => {
]);
}
});
await (<TestExtensionEnablementService>instantiationService.get(IExtensionEnablementService)).setEnablement([localDisabledTheme], EnablementState.Disabled);
await (<TestExtensionEnablementService>instantiationService.get(IExtensionEnablementService)).setEnablement([localDisabledLanguage], EnablementState.Disabled);
await (<TestExtensionEnablementService>instantiationService.get(IExtensionEnablementService)).setEnablement([localDisabledTheme], EnablementState.DisabledGlobally);
await (<TestExtensionEnablementService>instantiationService.get(IExtensionEnablementService)).setEnablement([localDisabledLanguage], EnablementState.DisabledGlobally);
instantiationService.set(IExtensionsWorkbenchService, instantiationService.createInstance(ExtensionsWorkbenchService));
testableView = instantiationService.createInstance(ExtensionsListView, {});

View File

@@ -9,11 +9,12 @@ import * as fs from 'fs';
import { assign } from 'vs/base/common/objects';
import { generateUuid } from 'vs/base/common/uuid';
import { IExtensionsWorkbenchService, ExtensionState, AutoCheckUpdatesConfigurationKey, AutoUpdateConfigurationKey } from 'vs/workbench/contrib/extensions/common/extensions';
import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/node/extensionsWorkbenchService';
import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService';
import {
IExtensionManagementService, IExtensionGalleryService, IExtensionEnablementService, IExtensionTipsService, ILocalExtension, IGalleryExtension,
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IGalleryExtensionAssets, IExtensionIdentifier, EnablementState, InstallOperation, IExtensionManagementServerService
IExtensionManagementService, IExtensionGalleryService, ILocalExtension, IGalleryExtension,
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IGalleryExtensionAssets, IExtensionIdentifier, InstallOperation
} from 'vs/platform/extensionManagement/common/extensionManagement';
import { IExtensionEnablementService, EnablementState, IExtensionManagementServerService, IExtensionTipsService } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
import { getGalleryExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
import { ExtensionManagementService } from 'vs/platform/extensionManagement/node/extensionManagementService';
import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/electron-browser/extensionTipsService';
@@ -481,86 +482,86 @@ suite('ExtensionsWorkbenchServiceTest', () => {
});
test('test uninstalled extensions are always enabled', async () => {
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.DisabledWorkspace))
.then(async () => {
testObject = await aWorkbenchService();
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(aGalleryExtension('a')));
return testObject.queryGallery(CancellationToken.None).then(pagedResponse => {
const actual = pagedResponse.firstPage[0];
assert.equal(actual.enablementState, EnablementState.Enabled);
assert.equal(actual.enablementState, EnablementState.EnabledGlobally);
});
});
});
test('test enablement state installed enabled extension', async () => {
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.DisabledWorkspace))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [aLocalExtension('a')]);
testObject = await aWorkbenchService();
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.Enabled);
assert.equal(actual.enablementState, EnablementState.EnabledGlobally);
});
});
test('test workspace disabled extension', async () => {
const extensionA = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('d')], EnablementState.Disabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.WorkspaceDisabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('e')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('d')], EnablementState.DisabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.DisabledWorkspace))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('e')], EnablementState.DisabledWorkspace))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA]);
testObject = await aWorkbenchService();
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.WorkspaceDisabled);
assert.equal(actual.enablementState, EnablementState.DisabledWorkspace);
});
});
test('test globally disabled extension', async () => {
const localExtension = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('d')], EnablementState.Disabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('d')], EnablementState.DisabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.DisabledWorkspace))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localExtension]);
testObject = await aWorkbenchService();
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.Disabled);
assert.equal(actual.enablementState, EnablementState.DisabledGlobally);
});
});
test('test enablement state is updated for user extensions', async () => {
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.DisabledWorkspace))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [aLocalExtension('a')]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.WorkspaceDisabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledWorkspace)
.then(() => {
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.WorkspaceDisabled);
assert.equal(actual.enablementState, EnablementState.DisabledWorkspace);
});
});
});
test('test enable extension globally when extension is disabled for workspace', async () => {
const localExtension = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.WorkspaceDisabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.DisabledWorkspace)
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localExtension]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Enabled)
return testObject.setEnablement(testObject.local[0], EnablementState.EnabledGlobally)
.then(() => {
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.Enabled);
assert.equal(actual.enablementState, EnablementState.EnabledGlobally);
});
});
});
@@ -569,10 +570,10 @@ suite('ExtensionsWorkbenchServiceTest', () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [aLocalExtension('a')]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => {
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.Disabled);
assert.equal(actual.enablementState, EnablementState.DisabledGlobally);
});
});
@@ -580,25 +581,25 @@ suite('ExtensionsWorkbenchServiceTest', () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [aLocalExtension('a', {}, { type: ExtensionType.System })]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => {
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.Disabled);
assert.equal(actual.enablementState, EnablementState.DisabledGlobally);
});
});
test('test enablement state is updated on change from outside', async () => {
const localExtension = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.DisabledWorkspace))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localExtension]);
testObject = await aWorkbenchService();
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.DisabledGlobally)
.then(() => {
const actual = testObject.local[0];
assert.equal(actual.enablementState, EnablementState.Disabled);
assert.equal(actual.enablementState, EnablementState.DisabledGlobally);
});
});
});
@@ -608,17 +609,17 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => {
assert.equal(testObject.local[0].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[0].enablementState, EnablementState.DisabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.EnabledGlobally);
});
});
});
@@ -628,17 +629,17 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => {
assert.equal(testObject.local[0].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[0].enablementState, EnablementState.DisabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.DisabledGlobally);
});
});
});
@@ -648,17 +649,17 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => {
assert.equal(testObject.local[0].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[0].enablementState, EnablementState.DisabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.DisabledGlobally);
});
});
});
@@ -668,13 +669,13 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[1], EnablementState.Disabled).then(() => assert.fail('Should fail'), error => assert.ok(true));
return testObject.setEnablement(testObject.local[1], EnablementState.DisabledGlobally).then(() => assert.fail('Should fail'), error => assert.ok(true));
});
});
@@ -683,15 +684,15 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[1], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[1], EnablementState.DisabledGlobally)
.then(() => {
assert.equal(testObject.local[1].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[1].enablementState, EnablementState.DisabledGlobally);
});
});
});
@@ -701,19 +702,19 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
const target = sinon.spy();
testObject = await aWorkbenchService();
return testObject.setEnablement([testObject.local[1], testObject.local[0]], EnablementState.Disabled)
return testObject.setEnablement([testObject.local[1], testObject.local[0]], EnablementState.DisabledGlobally)
.then(() => {
assert.ok(!target.called);
assert.equal(testObject.local[0].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[0].enablementState, EnablementState.DisabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.DisabledGlobally);
});
});
});
@@ -723,19 +724,19 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Disabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Disabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.DisabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.DisabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
const target = sinon.spy();
testObject = await aWorkbenchService();
return testObject.setEnablement([testObject.local[1], testObject.local[0]], EnablementState.Enabled)
return testObject.setEnablement([testObject.local[1], testObject.local[0]], EnablementState.EnabledGlobally)
.then(() => {
assert.ok(!target.called);
assert.equal(testObject.local[0].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[0].enablementState, EnablementState.EnabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.EnabledGlobally);
});
});
});
@@ -745,16 +746,16 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c', { extensionDependencies: ['pub.b'] });
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => {
assert.equal(testObject.local[0].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[0].enablementState, EnablementState.DisabledGlobally);
});
});
});
@@ -764,16 +765,16 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c', { extensionDependencies: ['pub.b'] });
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Disabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.DisabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => {
assert.equal(testObject.local[0].enablementState, EnablementState.Disabled);
assert.equal(testObject.local[0].enablementState, EnablementState.DisabledGlobally);
});
});
});
@@ -783,14 +784,14 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b', { extensionDependencies: ['pub.a'] });
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => assert.fail('An extension with dependent should not be disabled'), () => null);
});
});
@@ -800,16 +801,16 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c', { extensionDependencies: ['pub.b'] });
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Disabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.DisabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
.then(() => assert.equal(testObject.local[0].enablementState, EnablementState.Disabled));
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => assert.equal(testObject.local[0].enablementState, EnablementState.DisabledGlobally));
});
});
@@ -818,13 +819,13 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b', { extensionDependencies: ['pub.c'] });
const extensionC = aLocalExtension('c', { extensionDependencies: ['pub.a'] });
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Enabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Enabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.EnabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.EnabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => assert.fail('An extension with dependent should not be disabled'), () => null);
});
});
@@ -834,17 +835,17 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Disabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Disabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.DisabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.DisabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Enabled)
return testObject.setEnablement(testObject.local[0], EnablementState.EnabledGlobally)
.then(() => {
assert.equal(testObject.local[0].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[0].enablementState, EnablementState.EnabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.EnabledGlobally);
});
});
});
@@ -854,18 +855,18 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Enabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Disabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.EnabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.DisabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
const target = sinon.spy();
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Enabled)
return testObject.setEnablement(testObject.local[0], EnablementState.EnabledGlobally)
.then(() => {
assert.ok(!target.called);
assert.equal(testObject.local[0].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[0].enablementState, EnablementState.EnabledGlobally);
});
});
});
@@ -875,19 +876,19 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b');
const extensionC = aLocalExtension('c');
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Disabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Disabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.DisabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.DisabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
const target = sinon.spy();
testObject = await aWorkbenchService();
return testObject.setEnablement([testObject.local[1], testObject.local[0]], EnablementState.Enabled)
return testObject.setEnablement([testObject.local[1], testObject.local[0]], EnablementState.EnabledGlobally)
.then(() => {
assert.ok(!target.called);
assert.equal(testObject.local[0].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[0].enablementState, EnablementState.EnabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.EnabledGlobally);
});
});
});
@@ -897,48 +898,48 @@ suite('ExtensionsWorkbenchServiceTest', () => {
const extensionB = aLocalExtension('b', { extensionDependencies: ['pub.c'] });
const extensionC = aLocalExtension('c', { extensionDependencies: ['pub.a'] });
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.Disabled))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.Disabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([extensionA], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionB], EnablementState.DisabledGlobally))
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([extensionC], EnablementState.DisabledGlobally))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [extensionA, extensionB, extensionC]);
testObject = await aWorkbenchService();
return testObject.setEnablement(testObject.local[0], EnablementState.Enabled)
return testObject.setEnablement(testObject.local[0], EnablementState.EnabledGlobally)
.then(() => {
assert.equal(testObject.local[0].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[1].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[2].enablementState, EnablementState.Enabled);
assert.equal(testObject.local[0].enablementState, EnablementState.EnabledGlobally);
assert.equal(testObject.local[1].enablementState, EnablementState.EnabledGlobally);
assert.equal(testObject.local[2].enablementState, EnablementState.EnabledGlobally);
});
});
});
test('test change event is fired when disablement flags are changed', async () => {
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.DisabledWorkspace))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [aLocalExtension('a')]);
testObject = await aWorkbenchService();
const target = sinon.spy();
testObject.onChange(target);
return testObject.setEnablement(testObject.local[0], EnablementState.Disabled)
return testObject.setEnablement(testObject.local[0], EnablementState.DisabledGlobally)
.then(() => assert.ok(target.calledOnce));
});
});
test('test change event is fired when disablement flags are changed from outside', async () => {
const localExtension = aLocalExtension('a');
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.Disabled)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.WorkspaceDisabled))
return instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('c')], EnablementState.DisabledGlobally)
.then(() => instantiationService.get(IExtensionEnablementService).setEnablement([aLocalExtension('b')], EnablementState.DisabledWorkspace))
.then(async () => {
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [localExtension]);
testObject = await aWorkbenchService();
const target = sinon.spy();
testObject.onChange(target);
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.Disabled)
return instantiationService.get(IExtensionEnablementService).setEnablement([localExtension], EnablementState.DisabledGlobally)
.then(() => assert.ok(target.calledOnce));
});
});