From 1114977a2194db5457b4f9f304defa3d4d7d480e Mon Sep 17 00:00:00 2001 From: Bruno Ribeito Date: Wed, 21 Feb 2018 23:35:37 +0000 Subject: [PATCH] Fix tests --- src/renderer/ColorManager.test.ts | 9 ++++++++- src/renderer/ColorManager.ts | 6 ++++-- src/renderer/Renderer.ts | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/renderer/ColorManager.test.ts b/src/renderer/ColorManager.test.ts index 22407604..2dc60408 100644 --- a/src/renderer/ColorManager.test.ts +++ b/src/renderer/ColorManager.test.ts @@ -3,14 +3,21 @@ * @license MIT */ +import jsdom = require('jsdom'); import { assert } from 'chai'; import { ColorManager } from './ColorManager'; describe('ColorManager', () => { let cm: ColorManager; + let dom: jsdom.JSDOM; + let document: Document; + let window: Window; beforeEach(() => { - cm = new ColorManager(); + dom = new jsdom.JSDOM(''); + window = dom.window; + document = window.document; + cm = new ColorManager(document); }); describe('constructor', () => { diff --git a/src/renderer/ColorManager.ts b/src/renderer/ColorManager.ts index 33d69e26..ddb928a5 100644 --- a/src/renderer/ColorManager.ts +++ b/src/renderer/ColorManager.ts @@ -67,8 +67,10 @@ function toPaddedHex(c: number): string { */ export class ColorManager implements IColorManager { public colors: IColorSet; + private _document: Document; - constructor() { + constructor(document: Document) { + this._document = document; this.colors = { foreground: DEFAULT_FOREGROUND, background: DEFAULT_BACKGROUND, @@ -124,7 +126,7 @@ export class ColorManager implements IColorManager { private _isColorValid(color: string): boolean { const litmus = 'red'; - const d = document.createElement('div'); + const d = this._document.createElement('div'); d.style.color = litmus; d.style.color = color; diff --git a/src/renderer/Renderer.ts b/src/renderer/Renderer.ts index 2408f808..ca5fca6a 100644 --- a/src/renderer/Renderer.ts +++ b/src/renderer/Renderer.ts @@ -31,7 +31,7 @@ export class Renderer extends EventEmitter implements IRenderer { constructor(private _terminal: ITerminal, theme: ITheme) { super(); - this.colorManager = new ColorManager(); + this.colorManager = new ColorManager(document); if (theme) { this.colorManager.setTheme(theme); }