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