diff --git a/addons/addon-fit/src/FitAddon.ts b/addons/addon-fit/src/FitAddon.ts index a1ef53e74..87b21e99e 100644 --- a/addons/addon-fit/src/FitAddon.ts +++ b/addons/addon-fit/src/FitAddon.ts @@ -48,10 +48,7 @@ export class FitAddon implements ITerminalAddon, IFitApi { return; } - // Force a full render - if (this._terminal.rows !== dims.rows || this._terminal.cols !== dims.cols) { - this._terminal.resize(dims.cols, dims.rows); - } + this._terminal.resize(dims.cols, dims.rows); } public proposeDimensions(): ITerminalDimensions | undefined { diff --git a/addons/addon-fit/test/FitAddon.test.ts b/addons/addon-fit/test/FitAddon.test.ts index a8a2d8bbe..6a7c41fa8 100644 --- a/addons/addon-fit/test/FitAddon.test.ts +++ b/addons/addon-fit/test/FitAddon.test.ts @@ -119,6 +119,17 @@ test.describe('FitAddon', () => { strictEqual(await ctx.proxy.cols, 2); strictEqual(await ctx.proxy.rows, 1); }); + + test('same dimensions', async function(): Promise { + await setDimensions(); + await ctx.page.evaluate(`window.fit.fit()`); + const cols: number = await ctx.proxy.cols; + const rows: number = await ctx.proxy.rows; + // Calling fit() again at the same container size should not throw + await ctx.page.evaluate(`window.fit.fit()`); + strictEqual(await ctx.proxy.cols, cols); + strictEqual(await ctx.proxy.rows, rows); + }); }); });