Merge from master

This commit is contained in:
Raj Musuku
2019-02-21 17:56:04 -08:00
parent 5a146e34fa
commit 666ae11639
11482 changed files with 119352 additions and 255574 deletions

View File

@@ -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') })]));

View File

@@ -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 {

View File

@@ -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);
});
});