Merge from vscode 817eb6b0c720a4ecbc13c020afbbebfed667aa09 (#7356)

This commit is contained in:
Anthony Dresser
2019-09-24 21:36:17 -07:00
committed by GitHub
parent a29ae4d3b9
commit 6a6048d40f
541 changed files with 7045 additions and 7287 deletions

View File

@@ -138,8 +138,6 @@ interface ISerializedTestInput {
class TestEditorInputFactory implements IEditorInputFactory {
constructor() { }
serialize(editorInput: EditorInput): string {
let testEditorInput = <TestEditorInput>editorInput;
let testInput: ISerializedTestInput = {
@@ -1303,4 +1301,4 @@ suite('Workbench editor groups', () => {
assert.equal(dirty1Counter, 1);
assert.equal(label1ChangeCounter, 1);
});
});
});

View File

@@ -39,4 +39,11 @@ suite('Link protection domain matching', () => {
assert.ok(isURLDomainTrusted(URI.parse('https://a.b.x.org'), ['https://*.b.*.org']));
assert.ok(isURLDomainTrusted(URI.parse('https://a.a.b.x.org'), ['https://*.b.*.org']));
});
test('no scheme', () => {
assert.ok(isURLDomainTrusted(URI.parse('https://a.x.org'), ['a.x.org']));
assert.ok(isURLDomainTrusted(URI.parse('https://a.x.org'), ['*.x.org']));
assert.ok(isURLDomainTrusted(URI.parse('https://a.b.x.org'), ['*.x.org']));
assert.ok(isURLDomainTrusted(URI.parse('https://x.org'), ['*.x.org']));
});
});

View File

@@ -28,8 +28,8 @@ const emptyDialogService = new class implements IDialogService {
const emptyCommandService: ICommandService = {
_serviceBrand: undefined,
onWillExecuteCommand: () => ({ dispose: () => { } }),
onDidExecuteCommand: () => ({ dispose: () => { } }),
onWillExecuteCommand: () => Disposable.None,
onDidExecuteCommand: () => Disposable.None,
executeCommand: (commandId: string, ...args: any[]): Promise<any> => {
return Promise.resolve(undefined);
}

View File

@@ -150,7 +150,7 @@ class TestTelemetryService implements ITelemetryService {
public events: any[] = [];
private emitter = new Emitter<any>();
private readonly emitter = new Emitter<any>();
public get eventLogged(): Event<any> {
return this.emitter.event;

View File

@@ -35,17 +35,17 @@ import { IModeService } from 'vs/editor/common/services/modeService';
import { IHistoryService } from 'vs/workbench/services/history/common/history';
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
import { IWindowsService, IWindowService, INativeOpenDialogOptions, IEnterWorkspaceResult, IMessageBoxResult, MenuBarVisibility, IURIToOpen, IOpenSettings, IWindowConfiguration } from 'vs/platform/windows/common/windows';
import { IWindowsService, IWindowService, MenuBarVisibility, IURIToOpen, IOpenSettings, IWindowConfiguration } from 'vs/platform/windows/common/windows';
import { TestWorkspace } from 'vs/platform/workspace/test/common/testWorkspace';
import { createTextBufferFactoryFromStream } from 'vs/editor/common/model/textModel';
import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { TestThemeService } from 'vs/platform/theme/test/common/testThemeService';
import { IWorkspaceIdentifier, ISingleFolderWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
import { IRecentlyOpened, IRecent } from 'vs/platform/history/common/history';
import { ITextResourceConfigurationService, ITextResourcePropertiesService } from 'vs/editor/common/services/resourceConfiguration';
import { IPosition, Position as EditorPosition } from 'vs/editor/common/core/position';
import { IMenuService, MenuId, IMenu, ISerializableCommandAction } from 'vs/platform/actions/common/actions';
import { IMenuService, MenuId, IMenu } from 'vs/platform/actions/common/actions';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { MockContextKeyService, MockKeybindingService } from 'vs/platform/keybinding/test/common/mockKeybindingService';
import { ITextBufferFactory, DefaultEndOfLine, EndOfLinePreference, IModelDecorationOptions, ITextModel, ITextSnapshot } from 'vs/editor/common/model';
@@ -71,7 +71,7 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
import { ViewletDescriptor, Viewlet } from 'vs/workbench/browser/viewlet';
import { IViewlet } from 'vs/workbench/common/viewlet';
import { IStorageService, InMemoryStorageService } from 'vs/platform/storage/common/storage';
import { isLinux, isMacintosh, IProcessEnvironment } from 'vs/base/common/platform';
import { isLinux, isMacintosh } from 'vs/base/common/platform';
import { LabelService } from 'vs/workbench/services/label/common/labelService';
import { IDimension } from 'vs/platform/layout/browser/layoutService';
import { Part } from 'vs/workbench/browser/part';
@@ -460,8 +460,8 @@ export class TestLayoutService implements IWorkbenchLayoutService {
onPanelPositionChange: Event<string> = Event.None;
onLayout = Event.None;
private _onTitleBarVisibilityChange = new Emitter<void>();
private _onMenubarVisibilityChange = new Emitter<Dimension>();
private readonly _onTitleBarVisibilityChange = new Emitter<void>();
private readonly _onMenubarVisibilityChange = new Emitter<Dimension>();
public get onTitleBarVisibilityChange(): Event<void> {
return this._onTitleBarVisibilityChange.event;
@@ -1167,14 +1167,14 @@ export class TestCodeEditorService implements ICodeEditorService {
addDiffEditor(_editor: IDiffEditor): void { }
removeDiffEditor(_editor: IDiffEditor): void { }
listDiffEditors(): IDiffEditor[] { return []; }
getFocusedCodeEditor(): ICodeEditor | null { return null; }
getFocusedCodeEditor(): ICodeEditor | undefined { return undefined; }
registerDecorationType(_key: string, _options: IDecorationRenderOptions, _parentTypeKey?: string): void { }
removeDecorationType(_key: string): void { }
resolveDecorationOptions(_typeKey: string, _writable: boolean): IModelDecorationOptions { return Object.create(null); }
setTransientModelProperty(_model: ITextModel, _key: string, _value: any): void { }
getTransientModelProperty(_model: ITextModel, _key: string) { }
getActiveCodeEditor(): ICodeEditor | null { return null; }
openCodeEditor(_input: IResourceInput, _source: ICodeEditor, _sideBySide?: boolean): Promise<ICodeEditor | null> { return Promise.resolve(null); }
getActiveCodeEditor(): ICodeEditor | undefined { return undefined; }
openCodeEditor(_input: IResourceInput, _source: ICodeEditor, _sideBySide?: boolean): Promise<ICodeEditor | undefined> { return Promise.resolve(undefined); }
}
export class TestWindowService implements IWindowService {
@@ -1192,54 +1192,6 @@ export class TestWindowService implements IWindowService {
return Promise.resolve(false);
}
isMaximized(): Promise<boolean> {
return Promise.resolve(false);
}
pickFileFolderAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
pickFileAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
pickFolderAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
pickWorkspaceAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
reloadWindow(): Promise<void> {
return Promise.resolve();
}
openDevTools(): Promise<void> {
return Promise.resolve();
}
toggleDevTools(): Promise<void> {
return Promise.resolve();
}
closeWorkspace(): Promise<void> {
return Promise.resolve();
}
enterWorkspace(_path: URI): Promise<IEnterWorkspaceResult | undefined> {
return Promise.resolve(undefined);
}
toggleFullScreen(): Promise<void> {
return Promise.resolve();
}
setRepresentedFilename(_fileName: string): Promise<void> {
return Promise.resolve();
}
getRecentlyOpened(): Promise<IRecentlyOpened> {
return Promise.resolve({
workspaces: [],
@@ -1259,53 +1211,9 @@ export class TestWindowService implements IWindowService {
return Promise.resolve();
}
maximizeWindow(): Promise<void> {
return Promise.resolve();
}
unmaximizeWindow(): Promise<void> {
return Promise.resolve();
}
minimizeWindow(): Promise<void> {
return Promise.resolve();
}
openWindow(_uris: IURIToOpen[], _options?: IOpenSettings): Promise<void> {
return Promise.resolve();
}
closeWindow(): Promise<void> {
return Promise.resolve();
}
setDocumentEdited(_flag: boolean): Promise<void> {
return Promise.resolve();
}
onWindowTitleDoubleClick(): Promise<void> {
return Promise.resolve();
}
showMessageBox(_options: Electron.MessageBoxOptions): Promise<IMessageBoxResult> {
return Promise.resolve({ button: 0 });
}
showSaveDialog(_options: Electron.SaveDialogOptions): Promise<string> {
throw new Error('not implemented');
}
showOpenDialog(_options: Electron.OpenDialogOptions): Promise<string[]> {
throw new Error('not implemented');
}
updateTouchBar(_items: ISerializableCommandAction[][]): Promise<void> {
return Promise.resolve();
}
resolveProxy(url: string): Promise<string | undefined> {
return Promise.resolve(undefined);
}
}
export class TestLifecycleService implements ILifecycleService {
@@ -1315,9 +1223,9 @@ export class TestLifecycleService implements ILifecycleService {
public phase: LifecyclePhase;
public startupKind: StartupKind;
private _onBeforeShutdown = new Emitter<BeforeShutdownEvent>();
private _onWillShutdown = new Emitter<WillShutdownEvent>();
private _onShutdown = new Emitter<void>();
private readonly _onBeforeShutdown = new Emitter<BeforeShutdownEvent>();
private readonly _onWillShutdown = new Emitter<WillShutdownEvent>();
private readonly _onShutdown = new Emitter<void>();
when(): Promise<void> {
return Promise.resolve();
@@ -1362,50 +1270,6 @@ export class TestWindowsService implements IWindowsService {
return Promise.resolve(false);
}
pickFileFolderAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
pickFileAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
pickFolderAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
pickWorkspaceAndOpen(_options: INativeOpenDialogOptions): Promise<void> {
return Promise.resolve();
}
reloadWindow(_windowId: number): Promise<void> {
return Promise.resolve();
}
openDevTools(_windowId: number): Promise<void> {
return Promise.resolve();
}
toggleDevTools(_windowId: number): Promise<void> {
return Promise.resolve();
}
closeWorkspace(_windowId: number): Promise<void> {
return Promise.resolve();
}
enterWorkspace(_windowId: number, _path: URI): Promise<IEnterWorkspaceResult | undefined> {
return Promise.resolve(undefined);
}
toggleFullScreen(_windowId: number): Promise<void> {
return Promise.resolve();
}
setRepresentedFilename(_windowId: number, _fileName: string): Promise<void> {
return Promise.resolve();
}
addRecentlyOpened(_recents: IRecent[]): Promise<void> {
return Promise.resolve();
}
@@ -1429,125 +1293,18 @@ export class TestWindowsService implements IWindowsService {
return Promise.resolve();
}
closeWindow(_windowId: number): Promise<void> {
return Promise.resolve();
}
isMaximized(_windowId: number): Promise<boolean> {
return Promise.resolve(false);
}
maximizeWindow(_windowId: number): Promise<void> {
return Promise.resolve();
}
minimizeWindow(_windowId: number): Promise<void> {
return Promise.resolve();
}
unmaximizeWindow(_windowId: number): Promise<void> {
return Promise.resolve();
}
onWindowTitleDoubleClick(_windowId: number): Promise<void> {
return Promise.resolve();
}
setDocumentEdited(_windowId: number, _flag: boolean): Promise<void> {
return Promise.resolve();
}
quit(): Promise<void> {
return Promise.resolve();
}
relaunch(_options: { addArgs?: string[], removeArgs?: string[] }): Promise<void> {
return Promise.resolve();
}
whenSharedProcessReady(): Promise<void> {
return Promise.resolve();
}
toggleSharedProcess(): Promise<void> {
return Promise.resolve();
}
// Global methods
openWindow(_windowId: number, _uris: IURIToOpen[], _options: IOpenSettings): Promise<void> {
return Promise.resolve();
}
openNewWindow(): Promise<void> {
return Promise.resolve();
}
openExtensionDevelopmentHostWindow(args: ParsedArgs, env: IProcessEnvironment): Promise<void> {
return Promise.resolve();
}
getWindows(): Promise<{ id: number; workspace?: IWorkspaceIdentifier; folderUri?: ISingleFolderWorkspaceIdentifier; title: string; filename?: string; }[]> {
throw new Error('not implemented');
}
newWindowTab(): Promise<void> {
return Promise.resolve();
}
showPreviousWindowTab(): Promise<void> {
return Promise.resolve();
}
showNextWindowTab(): Promise<void> {
return Promise.resolve();
}
moveWindowTabToNewWindow(): Promise<void> {
return Promise.resolve();
}
mergeAllWindowTabs(): Promise<void> {
return Promise.resolve();
}
toggleWindowTabsBar(): Promise<void> {
return Promise.resolve();
}
updateTouchBar(_windowId: number, _items: ISerializableCommandAction[][]): Promise<void> {
return Promise.resolve();
}
getActiveWindowId(): Promise<number | undefined> {
return Promise.resolve(undefined);
}
// This needs to be handled from browser process to prevent
// foreground ordering issues on Windows
openExternal(_url: string): Promise<boolean> {
return Promise.resolve(true);
}
// TODO: this is a bit backwards
startCrashReporter(_config: Electron.CrashReporterStartOptions): Promise<void> {
return Promise.resolve();
}
showMessageBox(_windowId: number, _options: Electron.MessageBoxOptions): Promise<IMessageBoxResult> {
throw new Error('not implemented');
}
showSaveDialog(_windowId: number, _options: Electron.SaveDialogOptions): Promise<string> {
throw new Error('not implemented');
}
showOpenDialog(_windowId: number, _options: Electron.OpenDialogOptions): Promise<string[]> {
throw new Error('not implemented');
}
resolveProxy(windowId: number, url: string): Promise<string | undefined> {
return Promise.resolve(undefined);
}
}
export class TestTextResourceConfigurationService implements ITextResourceConfigurationService {
@@ -1598,6 +1355,9 @@ export class TestSharedProcessService implements ISharedProcessService {
}
registerChannel(channelName: string, channel: any): void { }
async toggleSharedProcessWindow(): Promise<void> { }
async whenSharedProcessReady(): Promise<void> { }
}
export class RemoteFileSystemProvider implements IFileSystemProvider {
@@ -1636,4 +1396,12 @@ export class TestHostService implements IHostService {
_serviceBrand: undefined;
windowCount = Promise.resolve(1);
async restart(): Promise<void> { }
async reload(): Promise<void> { }
async closeWorkspace(): Promise<void> { }
async openEmptyWindow(options?: { reuse?: boolean, remoteAuthority?: string }): Promise<void> { }
async toggleFullScreen(): Promise<void> { }
}