diff --git a/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts b/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts index 00132c93923..2c76c1f1964 100644 --- a/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts +++ b/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts @@ -9,7 +9,7 @@ import URI from 'vs/base/common/uri'; import * as dom from 'vs/base/browser/dom'; import { CodeEditorServiceImpl } from 'vs/editor/browser/services/codeEditorServiceImpl'; import { IDecorationRenderOptions } from 'vs/editor/common/editorCommon'; -import { TestThemeService, TestTheme } from 'vs/workbench/test/workbenchTestServices'; +import { TestTheme, TestThemeService } from "vs/platform/theme/test/common/testThemeService"; const themeServiceMock = new TestThemeService(); diff --git a/src/vs/platform/theme/test/common/testThemeService.ts b/src/vs/platform/theme/test/common/testThemeService.ts new file mode 100644 index 00000000000..358c842250e --- /dev/null +++ b/src/vs/platform/theme/test/common/testThemeService.ts @@ -0,0 +1,56 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +'use strict'; + +import Event, { Emitter } from 'vs/base/common/event'; +import { IThemeService, ITheme, DARK } from 'vs/platform/theme/common/themeService'; +import { Color } from 'vs/base/common/color'; + +export class TestTheme implements ITheme { + + constructor(private colors: { [id: string]: string; } = {}, public type = DARK) { + } + + getColor(color: string, useDefault?: boolean): Color { + let value = this.colors[color]; + if (value) { + return Color.fromHex(value); + } + return void 0; + } + + defines(color: string): boolean { + throw new Error('Method not implemented.'); + } +} + +export class TestThemeService implements IThemeService { + + _serviceBrand: any; + _theme: ITheme; + _onThemeChange = new Emitter(); + + constructor(theme = new TestTheme()) { + this._theme = theme; + } + + getTheme(): ITheme { + return this._theme; + } + + setTheme(theme: ITheme) { + this._theme = theme; + this.fireThemeChange(); + } + + fireThemeChange() { + this._onThemeChange.fire(this._theme); + } + + public get onThemeChange(): Event { + return this._onThemeChange.event; + } +} diff --git a/src/vs/workbench/services/editor/test/browser/editorService.test.ts b/src/vs/workbench/services/editor/test/browser/editorService.test.ts index 1c3c11e3c10..54217ba4ba0 100644 --- a/src/vs/workbench/services/editor/test/browser/editorService.test.ts +++ b/src/vs/workbench/services/editor/test/browser/editorService.test.ts @@ -13,10 +13,11 @@ import URI from 'vs/base/common/uri'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { EditorInput, EditorOptions, TextEditorOptions } from 'vs/workbench/common/editor'; import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput'; -import { workbenchInstantiationService, TestThemeService } from 'vs/workbench/test/workbenchTestServices'; +import { workbenchInstantiationService } from 'vs/workbench/test/workbenchTestServices'; import { DelegatingWorkbenchEditorService, WorkbenchEditorService, IEditorPart } from 'vs/workbench/services/editor/browser/editorService'; import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput'; import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput'; +import { TestThemeService } from "vs/platform/theme/test/common/testThemeService"; let activeEditor: BaseEditor = { getSelection: function () { diff --git a/src/vs/workbench/test/browser/part.test.ts b/src/vs/workbench/test/browser/part.test.ts index 6aeb1db693b..ab78553845b 100644 --- a/src/vs/workbench/test/browser/part.test.ts +++ b/src/vs/workbench/test/browser/part.test.ts @@ -11,7 +11,7 @@ import { Part } from 'vs/workbench/browser/part'; import * as Types from 'vs/base/common/types'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { StorageService, InMemoryLocalStorage } from 'vs/platform/storage/common/storageService'; -import { TestThemeService } from 'vs/workbench/test/workbenchTestServices'; +import { TestThemeService } from "vs/platform/theme/test/common/testThemeService"; import { TestWorkspace } from 'vs/platform/workspace/test/common/testWorkspace'; class MyPart extends Part { diff --git a/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts b/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts index 1e0a71232ba..367222c9df8 100644 --- a/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts +++ b/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts @@ -15,8 +15,9 @@ import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtils'; import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry'; -import { workbenchInstantiationService, TestThemeService } from 'vs/workbench/test/workbenchTestServices'; +import { workbenchInstantiationService } from 'vs/workbench/test/workbenchTestServices'; import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput'; +import { TestThemeService } from "vs/platform/theme/test/common/testThemeService"; const NullThemeService = new TestThemeService(); diff --git a/src/vs/workbench/test/workbenchTestServices.ts b/src/vs/workbench/test/workbenchTestServices.ts index 37078f3b9a5..5eb26d1dadc 100644 --- a/src/vs/workbench/test/workbenchTestServices.ts +++ b/src/vs/workbench/test/workbenchTestServices.ts @@ -50,10 +50,10 @@ import { IWindowsService, IWindowService } from 'vs/platform/windows/common/wind import { TestWorkspace } from 'vs/platform/workspace/test/common/testWorkspace'; import { RawTextSource, IRawTextSource } from 'vs/editor/common/model/textSource'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; -import { IThemeService, ITheme, DARK } from 'vs/platform/theme/common/themeService'; -import { Color } from 'vs/base/common/color'; +import { IThemeService } from 'vs/platform/theme/common/themeService'; import { isLinux } from 'vs/base/common/platform'; import { generateUuid } from "vs/base/common/uuid"; +import { TestThemeService } from "vs/platform/theme/test/common/testThemeService"; export function createFileInput(instantiationService: IInstantiationService, resource: URI): FileEditorInput { return instantiationService.createInstance(FileEditorInput, resource, void 0); @@ -1031,48 +1031,3 @@ export class TestWindowsService implements IWindowsService { } } -export class TestTheme implements ITheme { - - constructor(private colors: { [id: string]: string; } = {}, public type = DARK) { - } - - getColor(color: string, useDefault?: boolean): Color { - let value = this.colors[color]; - if (value) { - return Color.fromHex(value); - } - return void 0; - } - - defines(color: string): boolean { - throw new Error('Method not implemented.'); - } -} - -export class TestThemeService implements IThemeService { - - _serviceBrand: any; - _theme: ITheme; - _onThemeChange = new Emitter(); - - constructor(theme = new TestTheme()) { - this._theme = theme; - } - - getTheme(): ITheme { - return this._theme; - } - - setTheme(theme: ITheme) { - this._theme = theme; - this.fireThemeChange(); - } - - fireThemeChange() { - this._onThemeChange.fire(this._theme); - } - - public get onThemeChange(): Event { - return this._onThemeChange.event; - } -} diff --git a/tslint.json b/tslint.json index 518f55aca4a..43f49cf7352 100644 --- a/tslint.json +++ b/tslint.json @@ -173,9 +173,9 @@ "vs/nls", "**/vs/base/{common,browser}/**", "**/vs/platform/*/{common,browser}/**", + "**/vs/platform/*/test/{common,browser}/**", "**/vs/editor/{common,browser}/**", - "**/vs/editor/test/{common,browser}/**", - "vs/workbench/test/workbenchTestServices" // TODO@Alex + "**/vs/editor/test/{common,browser}/**" ] }, {