From 332757d8f9134a6d130442c1a127e3b78dead6f5 Mon Sep 17 00:00:00 2001 From: volkanceylan Date: Tue, 7 May 2024 02:07:20 +0300 Subject: [PATCH] Fix max supported css height test --- src/grid/internal.ts | 8 +++++--- test/grid/internal.spec.ts | 22 +++++++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/grid/internal.ts b/src/grid/internal.ts index 71c48bd..d9c498b 100644 --- a/src/grid/internal.ts +++ b/src/grid/internal.ts @@ -118,8 +118,10 @@ export function autosizeColumns(cols: Column[], availWidth: number, absoluteColM return reRender; } -export function getMaxSupportedCssHeight(): number { - return maxSupportedCssHeight ?? ((navigator.userAgent.toLowerCase().match(/gecko\//) ? 4000000 : 32000000)); +export function getMaxSupportedCssHeight(recalc?: boolean): number { + if (!recalc && maxSupportedCssHeight != null) + return maxSupportedCssHeight; + return (maxSupportedCssHeight = ((navigator.userAgent.toLowerCase().match(/gecko\//) ? 4000000 : 32000000))); } export function getScrollBarDimensions(recalc?: boolean): { width: number; height: number; } { @@ -335,7 +337,7 @@ export function removeUiStateHover() { export function getVBoxDelta(el: HTMLElement): number { if (!el) return 0; - + var style = getComputedStyle(el); if (style.boxSizing === 'border-box') return 0; diff --git a/test/grid/internal.spec.ts b/test/grid/internal.spec.ts index 2098950..1ae7d96 100644 --- a/test/grid/internal.spec.ts +++ b/test/grid/internal.spec.ts @@ -151,14 +151,18 @@ describe('getMaxSupportedCssHeight', () => { const oldNavigator = window.navigator; Object.defineProperty(window, 'navigator', { value: { - userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0' - } + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0', + }, + configurable: true, + writable: true }); - expect(getMaxSupportedCssHeight()).toBe(4000000); + expect(getMaxSupportedCssHeight(true)).toBe(4000000); Object.defineProperty(window, 'navigator', { - value: oldNavigator + value: oldNavigator, + configurable: true, + writable: true }); }); @@ -175,13 +179,17 @@ describe('getMaxSupportedCssHeight', () => { Object.defineProperty(window, 'navigator', { value: { userAgent - } + }, + configurable: true, + writable: true }); - expect(userAgent + ": " + getMaxSupportedCssHeight()).toBe(userAgent + ": " + 4000000); // concat to make it easier to debug + expect(userAgent + ": " + getMaxSupportedCssHeight(true)).toBe(userAgent + ": " + 32000000); // concat to make it easier to debug Object.defineProperty(window, 'navigator', { - value: oldNavigator + value: oldNavigator, + configurable: true, + writable: true }); }); });