@@ -412,6 +412,22 @@ suite('ExtensionEnablementService Test', () => {
412
412
assert . strictEqual ( testObject . getEnablementState ( target ) , EnablementState . EnabledWorkspace ) ;
413
413
} ) ;
414
414
415
+ test ( 'test enable an extension with a dependency extension that cannot be enabled' , async ( ) => {
416
+ instantiationService . stub ( IExtensionManagementServerService , anExtensionManagementServerService ( anExtensionManagementServer ( 'vscode-local' , instantiationService ) , anExtensionManagementServer ( 'vscode-remote' , instantiationService ) , null ) ) ;
417
+ const localWorkspaceDepExtension = aLocalExtension2 ( 'pub.b' , { extensionKind : [ 'workspace' ] } , { location : URI . file ( `pub.b` ) } ) ;
418
+ const remoteWorkspaceExtension = aLocalExtension2 ( 'pub.a' , { extensionKind : [ 'workspace' ] , extensionDependencies : [ 'pub.b' ] } , { location : URI . file ( `pub.a` ) . with ( { scheme : Schemas . vscodeRemote } ) } ) ;
419
+ const remoteWorkspaceDepExtension = aLocalExtension2 ( 'pub.b' , { extensionKind : [ 'workspace' ] } , { location : URI . file ( `pub.b` ) . with ( { scheme : Schemas . vscodeRemote } ) } ) ;
420
+ installed . push ( localWorkspaceDepExtension , remoteWorkspaceExtension , remoteWorkspaceDepExtension ) ;
421
+
422
+ testObject = new TestExtensionEnablementService ( instantiationService ) ;
423
+ await ( < TestExtensionEnablementService > testObject ) . waitUntilInitialized ( ) ;
424
+
425
+ await testObject . setEnablement ( [ remoteWorkspaceExtension ] , EnablementState . DisabledGlobally ) ;
426
+ await testObject . setEnablement ( [ remoteWorkspaceExtension ] , EnablementState . EnabledGlobally ) ;
427
+ assert . ok ( testObject . isEnabled ( remoteWorkspaceExtension ) ) ;
428
+ assert . strictEqual ( testObject . getEnablementState ( remoteWorkspaceExtension ) , EnablementState . EnabledGlobally ) ;
429
+ } ) ;
430
+
415
431
test ( 'test enable an extension also enables packed extensions' , async ( ) => {
416
432
installed . push ( ...[ aLocalExtension2 ( 'pub.a' , { extensionPack : [ 'pub.b' ] } ) , aLocalExtension ( 'pub.b' ) ] ) ;
417
433
const target = installed [ 0 ] ;
0 commit comments