mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Refresh master with initial release/0.24 snapshot (#332)
* Initial port of release/0.24 source code * Fix additional headers * Fix a typo in launch.json
This commit is contained in:
@@ -12,7 +12,7 @@ import { TestInstantiationService } from 'vs/platform/instantiation/test/common/
|
||||
import { Emitter } from 'vs/base/common/event';
|
||||
import { StorageService, InMemoryLocalStorage } from 'vs/platform/storage/common/storageService';
|
||||
import { IStorageService } from 'vs/platform/storage/common/storage';
|
||||
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
|
||||
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
|
||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
|
||||
function storageService(instantiationService: TestInstantiationService): IStorageService {
|
||||
@@ -21,9 +21,7 @@ function storageService(instantiationService: TestInstantiationService): IStorag
|
||||
let workspaceContextService = instantiationService.get(IWorkspaceContextService);
|
||||
if (!workspaceContextService) {
|
||||
workspaceContextService = instantiationService.stub(IWorkspaceContextService, <IWorkspaceContextService>{
|
||||
hasWorkspace: () => {
|
||||
return true;
|
||||
},
|
||||
getWorkbenchState: () => WorkbenchState.FOLDER,
|
||||
});
|
||||
}
|
||||
service = instantiationService.stub(IStorageService, instantiationService.createInstance(StorageService, new InMemoryLocalStorage(), new InMemoryLocalStorage()));
|
||||
@@ -71,22 +69,22 @@ suite('ExtensionEnablementService Test', () => {
|
||||
});
|
||||
|
||||
test('test when no extensions are disabled for workspace when there is no workspace', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => {
|
||||
instantiationService.stub(IWorkspaceContextService, 'hasWorkspace', false);
|
||||
instantiationService.stub(IWorkspaceContextService, 'getWorkbenchState', WorkbenchState.EMPTY);
|
||||
assert.deepEqual([], testObject.getWorkspaceDisabledExtensions());
|
||||
})
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension globally', (done) => {
|
||||
testObject.setEnablement('pub.a', false)
|
||||
.then(() => assert.deepEqual(['pub.a'], testObject.getGloballyDisabledExtensions()))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => assert.deepEqual([{ id: 'pub.a' }], testObject.getGloballyDisabledExtensions()))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension globally should return truthy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false)
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(value => assert.ok(value))
|
||||
.then(done, done);
|
||||
});
|
||||
@@ -94,180 +92,180 @@ suite('ExtensionEnablementService Test', () => {
|
||||
test('test disable an extension globally triggers the change event', (done) => {
|
||||
const target = sinon.spy();
|
||||
testObject.onEnablementChanged(target);
|
||||
testObject.setEnablement('pub.a', false)
|
||||
.then(() => assert.ok(target.calledWithExactly('pub.a')))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => assert.ok(target.calledWithExactly({ id: 'pub.a' })))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension globally again should return a falsy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false)
|
||||
.then(() => testObject.setEnablement('pub.a', false))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false))
|
||||
.then(value => assert.ok(!value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension for workspace', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => assert.deepEqual(['pub.a'], testObject.getWorkspaceDisabledExtensions()))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => assert.deepEqual([{ id: 'pub.a' }], testObject.getWorkspaceDisabledExtensions()))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension for workspace returns a truthy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(value => assert.ok(value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension for workspace again should return a falsy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', false, true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false, true))
|
||||
.then(value => assert.ok(!value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension for workspace and then globally', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', false))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false))
|
||||
.then(() => {
|
||||
assert.deepEqual(['pub.a'], testObject.getWorkspaceDisabledExtensions());
|
||||
assert.deepEqual(['pub.a'], testObject.getGloballyDisabledExtensions());
|
||||
assert.deepEqual([{ id: 'pub.a' }], testObject.getWorkspaceDisabledExtensions());
|
||||
assert.deepEqual([{ id: 'pub.a' }], testObject.getGloballyDisabledExtensions());
|
||||
})
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension for workspace and then globally return a truthy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', false))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false))
|
||||
.then(value => assert.ok(value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension for workspace and then globally triggers the change event', (done) => {
|
||||
const target = sinon.spy();
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.onEnablementChanged(target))
|
||||
.then(() => testObject.setEnablement('pub.a', false))
|
||||
.then(() => assert.ok(target.calledWithExactly('pub.a')))
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false))
|
||||
.then(() => assert.ok(target.calledWithExactly({ id: 'pub.a' })))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension globally and then for workspace', (done) => {
|
||||
testObject.setEnablement('pub.a', false)
|
||||
.then(() => testObject.setEnablement('pub.a', false, true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false, true))
|
||||
.then(() => {
|
||||
assert.deepEqual(['pub.a'], testObject.getWorkspaceDisabledExtensions());
|
||||
assert.deepEqual(['pub.a'], testObject.getGloballyDisabledExtensions());
|
||||
assert.deepEqual([{ id: 'pub.a' }], testObject.getWorkspaceDisabledExtensions());
|
||||
assert.deepEqual([{ id: 'pub.a' }], testObject.getGloballyDisabledExtensions());
|
||||
})
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension globally and then for workspace return a truthy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false)
|
||||
.then(() => testObject.setEnablement('pub.a', false, true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false, true))
|
||||
.then(value => assert.ok(value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension globally and then for workspace triggers the change event', (done) => {
|
||||
const target = sinon.spy();
|
||||
testObject.setEnablement('pub.a', false)
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => testObject.onEnablementChanged(target))
|
||||
.then(() => testObject.setEnablement('pub.a', false, true))
|
||||
.then(() => assert.ok(target.calledWithExactly('pub.a')))
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false, true))
|
||||
.then(() => assert.ok(target.calledWithExactly({ id: 'pub.a' })))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test disable an extension for workspace when there is no workspace throws error', (done) => {
|
||||
instantiationService.stub(IWorkspaceContextService, 'hasWorkspace', false);
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
instantiationService.stub(IWorkspaceContextService, 'getWorkbenchState', WorkbenchState.EMPTY);
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => assert.fail('should throw an error'), error => assert.ok(error))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension globally', (done) => {
|
||||
testObject.setEnablement('pub.a', false)
|
||||
.then(() => testObject.setEnablement('pub.a', true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, true))
|
||||
.then(() => assert.deepEqual([], testObject.getGloballyDisabledExtensions()))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension globally return truthy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false)
|
||||
.then(() => testObject.setEnablement('pub.a', true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, true))
|
||||
.then(value => assert.ok(value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension globally triggers change event', (done) => {
|
||||
const target = sinon.spy();
|
||||
testObject.setEnablement('pub.a', false)
|
||||
testObject.setEnablement({ id: 'pub.a' }, false)
|
||||
.then(() => testObject.onEnablementChanged(target))
|
||||
.then(() => testObject.setEnablement('pub.a', true))
|
||||
.then(() => assert.ok(target.calledWithExactly('pub.a')))
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, true))
|
||||
.then(() => assert.ok(target.calledWithExactly({ id: 'pub.a' })))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension globally when already enabled return falsy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', true)
|
||||
testObject.setEnablement({ id: 'pub.a' }, true)
|
||||
.then(value => assert.ok(!value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension for workspace', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', true, true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, true, true))
|
||||
.then(() => assert.deepEqual([], testObject.getWorkspaceDisabledExtensions()))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension for workspace return truthy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', true, true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, true, true))
|
||||
.then(value => assert.ok(value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension for workspace triggers change event', (done) => {
|
||||
const target = sinon.spy();
|
||||
testObject.setEnablement('pub.b', false, true)
|
||||
testObject.setEnablement({ id: 'pub.b' }, false, true)
|
||||
.then(() => testObject.onEnablementChanged(target))
|
||||
.then(() => testObject.setEnablement('pub.b', true, true))
|
||||
.then(() => assert.ok(target.calledWithExactly('pub.b')))
|
||||
.then(() => testObject.setEnablement({ id: 'pub.b' }, true, true))
|
||||
.then(() => assert.ok(target.calledWithExactly({ id: 'pub.b' })))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension for workspace when already enabled return falsy promise', (done) => {
|
||||
testObject.setEnablement('pub.a', true, true)
|
||||
testObject.setEnablement({ id: 'pub.a' }, true, true)
|
||||
.then(value => assert.ok(!value))
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension for workspace when disabled in workspace and gloablly', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', false))
|
||||
.then(() => testObject.setEnablement('pub.a', true, true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false))
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, true, true))
|
||||
.then(() => {
|
||||
assert.deepEqual(['pub.a'], testObject.getGloballyDisabledExtensions());
|
||||
assert.deepEqual([{ id: 'pub.a' }], testObject.getGloballyDisabledExtensions());
|
||||
assert.deepEqual([], testObject.getWorkspaceDisabledExtensions());
|
||||
})
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test enable an extension globally when disabled in workspace and gloablly', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', false))
|
||||
.then(() => testObject.setEnablement('pub.a', true))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false))
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, true))
|
||||
.then(() => {
|
||||
assert.deepEqual(['pub.a'], testObject.getWorkspaceDisabledExtensions());
|
||||
assert.deepEqual([{ id: 'pub.a' }], testObject.getWorkspaceDisabledExtensions());
|
||||
assert.deepEqual([], testObject.getGloballyDisabledExtensions());
|
||||
})
|
||||
.then(done, done);
|
||||
});
|
||||
|
||||
test('test remove an extension from disablement list when uninstalled', (done) => {
|
||||
testObject.setEnablement('pub.a', false, true)
|
||||
.then(() => testObject.setEnablement('pub.a', false))
|
||||
.then(() => didUninstallEvent.fire({ id: 'pub.a-1.0.0' }))
|
||||
testObject.setEnablement({ id: 'pub.a' }, false, true)
|
||||
.then(() => testObject.setEnablement({ id: 'pub.a' }, false))
|
||||
.then(() => didUninstallEvent.fire({ identifier: { id: 'pub.a-1.0.0' } }))
|
||||
.then(() => {
|
||||
assert.deepEqual([], testObject.getWorkspaceDisabledExtensions());
|
||||
assert.deepEqual([], testObject.getGloballyDisabledExtensions());
|
||||
|
||||
Reference in New Issue
Block a user