mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge from master
This commit is contained in:
@@ -2,14 +2,12 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { join } from 'vs/base/common/paths';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { FolderSettingsModelParser, WorkspaceConfigurationChangeEvent, StandaloneConfigurationModelParser, AllKeysConfigurationChangeEvent, Configuration } from 'vs/workbench/services/configuration/common/configurationModels';
|
||||
import { Workspace, WorkspaceFolder } from 'vs/platform/workspace/common/workspace';
|
||||
import URI from 'vs/base/common/uri';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { ConfigurationChangeEvent, ConfigurationModel } from 'vs/platform/configuration/common/configurationModels';
|
||||
import { ConfigurationTarget } from 'vs/platform/configuration/common/configuration';
|
||||
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
@@ -115,7 +113,7 @@ suite('WorkspaceConfigurationChangeEvent', () => {
|
||||
configurationChangeEvent.change(['window.restoreWindows'], URI.file('folder2'));
|
||||
configurationChangeEvent.telemetryData(ConfigurationTarget.WORKSPACE, {});
|
||||
|
||||
let testObject = new WorkspaceConfigurationChangeEvent(configurationChangeEvent, new Workspace('id', 'name',
|
||||
let testObject = new WorkspaceConfigurationChangeEvent(configurationChangeEvent, new Workspace('id',
|
||||
[new WorkspaceFolder({ index: 0, name: '1', uri: URI.file('folder1') }),
|
||||
new WorkspaceFolder({ index: 1, name: '2', uri: URI.file('folder2') }),
|
||||
new WorkspaceFolder({ index: 2, name: '3', uri: URI.file('folder3') })]));
|
||||
|
||||
@@ -3,15 +3,12 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as sinon from 'sinon';
|
||||
import * as assert from 'assert';
|
||||
import * as os from 'os';
|
||||
import * as path from 'path';
|
||||
import * as fs from 'fs';
|
||||
import * as json from 'vs/base/common/json';
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { ParsedArgs, IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { parseArgs } from 'vs/platform/environment/node/argv';
|
||||
@@ -33,12 +30,12 @@ import { ITextFileService } from 'vs/workbench/services/textfile/common/textfile
|
||||
import { ITextModelService } from 'vs/editor/common/services/resolverService';
|
||||
import { TextModelResolverService } from 'vs/workbench/services/textmodelResolver/common/textModelResolverService';
|
||||
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
|
||||
import { IWindowConfiguration } from 'vs/platform/windows/common/windows';
|
||||
import { mkdirp } from 'vs/base/node/pfs';
|
||||
import { INotificationService } from 'vs/platform/notification/common/notification';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { CommandService } from 'vs/workbench/services/commands/common/commandService';
|
||||
import URI from 'vs/base/common/uri';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { createHash } from 'crypto';
|
||||
|
||||
class SettingsTestEnvironmentService extends EnvironmentService {
|
||||
|
||||
@@ -85,7 +82,7 @@ suite('ConfigurationEditingService', () => {
|
||||
.then(() => setUpServices());
|
||||
});
|
||||
|
||||
function setUpWorkspace(): TPromise<boolean> {
|
||||
async function setUpWorkspace(): Promise<boolean> {
|
||||
const id = uuid.generateUuid();
|
||||
parentDir = path.join(os.tmpdir(), 'vsctests', id);
|
||||
workspaceDir = path.join(parentDir, 'workspaceconfig', id);
|
||||
@@ -93,10 +90,10 @@ suite('ConfigurationEditingService', () => {
|
||||
// {{SQL CARBON EDIT}}
|
||||
workspaceSettingsDir = path.join(workspaceDir, '.azuredatastudio');
|
||||
|
||||
return mkdirp(workspaceSettingsDir, 493);
|
||||
return await mkdirp(workspaceSettingsDir, 493);
|
||||
}
|
||||
|
||||
function setUpServices(noWorkspace: boolean = false): TPromise<void> {
|
||||
function setUpServices(noWorkspace: boolean = false): Promise<void> {
|
||||
// Clear services if they are already created
|
||||
clearServices();
|
||||
|
||||
@@ -105,7 +102,7 @@ suite('ConfigurationEditingService', () => {
|
||||
instantiationService.stub(IEnvironmentService, environmentService);
|
||||
const workspaceService = new WorkspaceService(environmentService);
|
||||
instantiationService.stub(IWorkspaceContextService, workspaceService);
|
||||
return workspaceService.initialize(noWorkspace ? {} as IWindowConfiguration : URI.file(workspaceDir)).then(() => {
|
||||
return workspaceService.initialize(noWorkspace ? { id: '' } : { folder: URI.file(workspaceDir), id: createHash('md5').update(URI.file(workspaceDir).toString()).digest('hex') }).then(() => {
|
||||
instantiationService.stub(IConfigurationService, workspaceService);
|
||||
instantiationService.stub(IFileService, new FileService(workspaceService, TestEnvironmentService, new TestTextResourceConfigurationService(), new TestConfigurationService(), new TestLifecycleService(), new TestStorageService(), new TestNotificationService(), { disableWatcher: true }));
|
||||
instantiationService.stub(ITextFileService, instantiationService.createInstance(TestTextFileService));
|
||||
@@ -130,8 +127,8 @@ suite('ConfigurationEditingService', () => {
|
||||
}
|
||||
}
|
||||
|
||||
function clearWorkspace(): TPromise<void> {
|
||||
return new TPromise<void>((c, e) => {
|
||||
function clearWorkspace(): Promise<void> {
|
||||
return new Promise<void>((c, e) => {
|
||||
if (parentDir) {
|
||||
extfs.del(parentDir, os.tmpdir(), () => c(null), () => c(null));
|
||||
} else {
|
||||
|
||||
@@ -3,15 +3,12 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as assert from 'assert';
|
||||
import * as sinon from 'sinon';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as os from 'os';
|
||||
import URI from 'vs/base/common/uri';
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { ParsedArgs, IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
|
||||
@@ -20,6 +17,7 @@ import * as pfs from 'vs/base/node/pfs';
|
||||
import * as uuid from 'vs/base/common/uuid';
|
||||
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
import { WorkspaceService } from 'vs/workbench/services/configuration/node/configurationService';
|
||||
import { ISingleFolderWorkspaceInitializationPayload } from 'vs/platform/workspaces/common/workspaces';
|
||||
import { ConfigurationEditingErrorCode } from 'vs/workbench/services/configuration/node/configurationEditingService';
|
||||
import { IFileService } from 'vs/platform/files/common/files';
|
||||
import { IWorkspaceContextService, WorkbenchState, IWorkspaceFoldersChangeEvent } from 'vs/platform/workspace/common/workspace';
|
||||
@@ -34,7 +32,8 @@ import { TextModelResolverService } from 'vs/workbench/services/textmodelResolve
|
||||
import { IJSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditing';
|
||||
import { JSONEditingService } from 'vs/workbench/services/configuration/node/jsonEditingService';
|
||||
import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { IWindowConfiguration } from 'vs/platform/windows/common/windows';
|
||||
import { Uri } from 'vscode';
|
||||
import { createHash } from 'crypto';
|
||||
|
||||
class SettingsTestEnvironmentService extends EnvironmentService {
|
||||
|
||||
@@ -45,39 +44,47 @@ class SettingsTestEnvironmentService extends EnvironmentService {
|
||||
get appSettingsPath(): string { return this.customAppSettingsHome; }
|
||||
}
|
||||
|
||||
function setUpFolderWorkspace(folderName: string): TPromise<{ parentDir: string, folderDir: string }> {
|
||||
function setUpFolderWorkspace(folderName: string): Promise<{ parentDir: string, folderDir: string }> {
|
||||
const id = uuid.generateUuid();
|
||||
const parentDir = path.join(os.tmpdir(), 'vsctests', id);
|
||||
return setUpFolder(folderName, parentDir).then(folderDir => ({ parentDir, folderDir }));
|
||||
}
|
||||
|
||||
function setUpFolder(folderName: string, parentDir: string): TPromise<string> {
|
||||
function setUpFolder(folderName: string, parentDir: string): Promise<string> {
|
||||
const folderDir = path.join(parentDir, folderName);
|
||||
// {{SQL CARBON EDIT}}
|
||||
const workspaceSettingsDir = path.join(folderDir, '.azuredatastudio');
|
||||
return pfs.mkdirp(workspaceSettingsDir, 493).then(() => folderDir);
|
||||
return Promise.resolve(pfs.mkdirp(workspaceSettingsDir, 493).then(() => folderDir));
|
||||
}
|
||||
|
||||
function setUpWorkspace(folders: string[]): TPromise<{ parentDir: string, configPath: string }> {
|
||||
function convertToWorkspacePayload(folder: Uri): ISingleFolderWorkspaceInitializationPayload {
|
||||
return {
|
||||
id: createHash('md5').update(folder.fsPath).digest('hex'),
|
||||
folder
|
||||
} as ISingleFolderWorkspaceInitializationPayload;
|
||||
}
|
||||
|
||||
function setUpWorkspace(folders: string[]): Promise<{ parentDir: string, configPath: string }> {
|
||||
|
||||
const id = uuid.generateUuid();
|
||||
const parentDir = path.join(os.tmpdir(), 'vsctests', id);
|
||||
|
||||
return pfs.mkdirp(parentDir, 493)
|
||||
return Promise.resolve(pfs.mkdirp(parentDir, 493)
|
||||
.then(() => {
|
||||
const configPath = path.join(parentDir, 'vsctests.code-workspace');
|
||||
const workspace = { folders: folders.map(path => ({ path })) };
|
||||
fs.writeFileSync(configPath, JSON.stringify(workspace, null, '\t'));
|
||||
|
||||
return TPromise.join(folders.map(folder => setUpFolder(folder, parentDir)))
|
||||
return Promise.all(folders.map(folder => setUpFolder(folder, parentDir)))
|
||||
.then(() => ({ parentDir, configPath }));
|
||||
});
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
|
||||
suite('WorkspaceContextService - Folder', () => {
|
||||
test('getWorkspace()', () => {
|
||||
// {{SQL CARBON EDIT}} - Remove test
|
||||
assert.equal(0, 0);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user