From 2fc723b3ac0fc59f419bafbb8e8b15f27369ca1f Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Wed, 25 Oct 2017 21:24:44 -0700 Subject: [PATCH 1/2] Fix exception when setting theme Fixes #1079 --- src/renderer/ColorManager.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/renderer/ColorManager.ts b/src/renderer/ColorManager.ts index 80daf31f..6c0d2945 100644 --- a/src/renderer/ColorManager.ts +++ b/src/renderer/ColorManager.ts @@ -109,6 +109,9 @@ export class ColorManager implements IColorManager { } private _validateColor(color: string, fallback: string): string { + if (!color) { + return fallback; + } if (color.length === 7 && color.charAt(0) === '#') { return color; } From a27a4e627e422b7a203f10fc6d3e9aa4b15df445 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Wed, 25 Oct 2017 21:28:19 -0700 Subject: [PATCH 2/2] Add test for not setting bg in theme --- src/renderer/ColorManager.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/renderer/ColorManager.test.ts b/src/renderer/ColorManager.test.ts index e00f6b6d..22407604 100644 --- a/src/renderer/ColorManager.test.ts +++ b/src/renderer/ColorManager.test.ts @@ -269,6 +269,12 @@ describe('ColorManager', () => { }); describe('setTheme', () => { + it('should not throw when not setting all colors', () => { + assert.doesNotThrow(() => { + cm.setTheme({}); + }); + }); + it('should set a partial set of colors, using the default if not present', () => { assert.equal(cm.colors.background, '#000000'); assert.equal(cm.colors.foreground, '#ffffff');