From 945f4bad29b1987f65f8153082ee172fb57f4cd4 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Fri, 25 May 2018 09:39:51 -0700 Subject: [PATCH] Add fallback to editor.fontFamily tests --- .../electron-browser/terminalConfigHelper.ts | 2 - .../terminalConfigHelper.test.ts | 54 +++++++++++++++++-- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts index 4a4dffe2728..978e659e1a2 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts @@ -56,8 +56,6 @@ export class TerminalConfigHelper implements ITerminalConfigHelper { let fontFamily = this.config.fontFamily || editorConfig.fontFamily; let i_rect = this._getBoundingRectFor('i', fontFamily, fontSize); let w_rect = this._getBoundingRectFor('w', fontFamily, fontSize); - console.log('i_rect.width: ' + i_rect.width); - console.log('w_rect.width: ' + w_rect.width); let invalidBounds = !i_rect.width || !w_rect.width; if (invalidBounds) { diff --git a/src/vs/workbench/parts/terminal/test/electron-browser/terminalConfigHelper.test.ts b/src/vs/workbench/parts/terminal/test/electron-browser/terminalConfigHelper.test.ts index f503ec75e12..27cc89f26cc 100644 --- a/src/vs/workbench/parts/terminal/test/electron-browser/terminalConfigHelper.test.ts +++ b/src/vs/workbench/parts/terminal/test/electron-browser/terminalConfigHelper.test.ts @@ -136,7 +136,7 @@ suite('Workbench - TerminalConfigHelper', () => { let configHelper = new TerminalConfigHelper(configurationService, null, null, null); configHelper.panelContainer = fixture; - assert.equal(configHelper.configFontIsMonospace(), true, 'Monospace is mono-spaced'); + assert.equal(configHelper.configFontIsMonospace(), true, 'monospace is monospaced'); }); test('TerminalConfigHelper - isMonospace sans-serif', function () { @@ -148,7 +148,7 @@ suite('Workbench - TerminalConfigHelper', () => { }); let configHelper = new TerminalConfigHelper(configurationService, null, null, null); configHelper.panelContainer = fixture; - assert.equal(configHelper.configFontIsMonospace(), false, 'sans-serif is not mono-spaced'); + assert.equal(configHelper.configFontIsMonospace(), false, 'sans-serif is not monospaced'); }); test('TerminalConfigHelper - isMonospace serif', function () { @@ -160,6 +160,54 @@ suite('Workbench - TerminalConfigHelper', () => { }); let configHelper = new TerminalConfigHelper(configurationService, null, null, null); configHelper.panelContainer = fixture; - assert.equal(configHelper.configFontIsMonospace(), false, 'serif is not mono-spaced'); + assert.equal(configHelper.configFontIsMonospace(), false, 'serif is not monospaced'); + }); + + test('TerminalConfigHelper - isMonospace monospace falls back to editor.fontFamily', function () { + const configurationService = new TestConfigurationService(); + configurationService.setUserConfiguration('editor', { + fontFamily: 'monospace' + }); + configurationService.setUserConfiguration('terminal', { + integrated: { + fontFamily: null + } + }); + + let configHelper = new TerminalConfigHelper(configurationService, null, null, null); + configHelper.panelContainer = fixture; + assert.equal(configHelper.configFontIsMonospace(), true, 'monospace is monospaced'); + }); + + test('TerminalConfigHelper - isMonospace sans-serif falls back to editor.fontFamily', function () { + const configurationService = new TestConfigurationService(); + configurationService.setUserConfiguration('editor', { + fontFamily: 'sans-serif' + }); + configurationService.setUserConfiguration('terminal', { + integrated: { + fontFamily: null + } + }); + + let configHelper = new TerminalConfigHelper(configurationService, null, null, null); + configHelper.panelContainer = fixture; + assert.equal(configHelper.configFontIsMonospace(), false, 'sans-serif is not monospaced'); + }); + + test('TerminalConfigHelper - isMonospace serif falls back to editor.fontFamily', function () { + const configurationService = new TestConfigurationService(); + configurationService.setUserConfiguration('editor', { + fontFamily: 'serif' + }); + configurationService.setUserConfiguration('terminal', { + integrated: { + fontFamily: null + } + }); + + let configHelper = new TerminalConfigHelper(configurationService, null, null, null); + configHelper.panelContainer = fixture; + assert.equal(configHelper.configFontIsMonospace(), false, 'serif is not monospaced'); }); }); \ No newline at end of file -- GitLab