From e6e181e6bc19df140614ae7f8654c110586daed5 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 15 Feb 2020 03:54:03 -0800 Subject: [PATCH] Fix firefox tests FitAddon tests --- addons/xterm-addon-fit/src/FitAddon.api.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/addons/xterm-addon-fit/src/FitAddon.api.ts b/addons/xterm-addon-fit/src/FitAddon.api.ts index b10b6563..184fb0ba 100644 --- a/addons/xterm-addon-fit/src/FitAddon.api.ts +++ b/addons/xterm-addon-fit/src/FitAddon.api.ts @@ -14,6 +14,8 @@ let page: Page; const width = 1024; const height = 768; +let isFirefox = false; + describe('FitAddon', () => { before(async function(): Promise { this.timeout(20000); @@ -25,6 +27,10 @@ describe('FitAddon', () => { await page.setViewport({ width, height }); await page.goto(APP); await openTerminal(page); + // This is used to do conditional assertions since cell height is 1 pixel higher with the + // default font on Firefox. Minor differences in font rendering/sizing is expected so this is + // fine. + isFirefox = await page.evaluate(`navigator.userAgent.toLowerCase().indexOf('firefox') > -1`); }); after(async () => { @@ -45,7 +51,7 @@ describe('FitAddon', () => { await loadFit(); assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), { cols: 87, - rows: 26 + rows: isFirefox ? 28 : 26 }); }); @@ -53,7 +59,7 @@ describe('FitAddon', () => { await loadFit(1008); assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), { cols: 110, - rows: 26 + rows: isFirefox? 28 : 26 }); }); @@ -75,14 +81,14 @@ describe('FitAddon', () => { await loadFit(); await page.evaluate(`window.fit.fit()`); assert.equal(await page.evaluate(`window.term.cols`), 87); - assert.equal(await page.evaluate(`window.term.rows`), 26); + assert.equal(await page.evaluate(`window.term.rows`), isFirefox? 28 : 26); }); it('width', async function(): Promise { await loadFit(1008); await page.evaluate(`window.fit.fit()`); assert.equal(await page.evaluate(`window.term.cols`), 110); - assert.equal(await page.evaluate(`window.term.rows`), 26); + assert.equal(await page.evaluate(`window.term.rows`), isFirefox? 28 : 26); }); it('small', async function(): Promise {