From 6e601e835c717ac41f31d890c482939120890dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marker=20dao=20=C2=AE?= Date: Thu, 30 Apr 2026 14:01:32 +0200 Subject: [PATCH 1/4] DateBox: Remove stylesheet rules from container in label test --- e2e/testcafe-devextreme/tests/editors/dateBox/label.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts index 90578a735e22..7c412a154ab2 100644 --- a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts +++ b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts @@ -1,12 +1,11 @@ /* eslint-disable no-restricted-syntax */ -import { Selector } from 'testcafe'; import { createScreenshotsComparer } from 'devextreme-screenshot-comparer'; import Guid from 'devextreme/core/guid'; import { testScreenshot } from '../../../helpers/themeUtils'; import url from '../../../helpers/getPageUrl'; import { createWidget } from '../../../helpers/createWidget'; import { - appendElementTo, setStyleAttribute, removeStylesheetRulesFromPage, insertStylesheetRulesToPage, + appendElementTo, removeStylesheetRulesFromPage, insertStylesheetRulesToPage, } from '../../../helpers/domUtils'; const DATEBOX_CLASS = 'dx-datebox'; @@ -22,12 +21,14 @@ test('Symbol parts in label should not be cropped', async (t) => { await testScreenshot(t, takeScreenshot, 'Datebox label symbols.png', { element: '#container' }); + await removeStylesheetRulesFromPage(); + await t .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); }).before(async () => { await appendElementTo('#container', 'div', 'dateBox'); - await setStyleAttribute(Selector('#container'), 'box-sizing: border-box; width: 300px; height: 600px; padding: 8px;'); + await insertStylesheetRulesToPage('#container { box-sizing: border-box; width: 300px; height: 600px; padding: 8px; }'); for (const stylingMode of stylingModes) { for (const labelMode of visibleLabelModes) { From 8ec83e9791613e190f14e48bd82b8fe72a38d390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marker=20dao=20=C2=AE?= Date: Thu, 30 Apr 2026 14:12:38 +0200 Subject: [PATCH 2/4] refactor(testcafe) --- .../tests/editors/dateBox/label.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts index 7c412a154ab2..b84e98fe78c0 100644 --- a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts +++ b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts @@ -21,13 +21,12 @@ test('Symbol parts in label should not be cropped', async (t) => { await testScreenshot(t, takeScreenshot, 'Datebox label symbols.png', { element: '#container' }); - await removeStylesheetRulesFromPage(); - await t .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); }).before(async () => { await appendElementTo('#container', 'div', 'dateBox'); + await removeStylesheetRulesFromPage(); await insertStylesheetRulesToPage('#container { box-sizing: border-box; width: 300px; height: 600px; padding: 8px; }'); for (const stylingMode of stylingModes) { @@ -44,21 +43,21 @@ test('Symbol parts in label should not be cropped', async (t) => { }, `#${id}`); } } +}).after(async () => { + await removeStylesheetRulesFromPage(); }); test('DateBox with buttons container', async (t) => { const { takeScreenshot, compareResults } = createScreenshotsComparer(t); - await insertStylesheetRulesToPage(`#container { display: flex; flex-wrap: wrap; } .${DATEBOX_CLASS} { width: 220px; margin: 2px; }`); - await testScreenshot(t, takeScreenshot, 'DateBox render with buttons container.png'); - await removeStylesheetRulesFromPage(); - await t .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); }).before(async () => { + await removeStylesheetRulesFromPage(); + for (const stylingMode of stylingModes) { for (const buttons of [ ['clear'], @@ -82,4 +81,8 @@ test('DateBox with buttons container', async (t) => { } } } + + await insertStylesheetRulesToPage(`#container { display: flex; flex-wrap: wrap; } .${DATEBOX_CLASS} { width: 220px; margin: 2px; }`); +}).after(async () => { + await removeStylesheetRulesFromPage(); }); From a27d9e605e2eaebc1a97dc8bacfd4e734cc93968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marker=20dao=20=C2=AE?= Date: Thu, 30 Apr 2026 15:34:36 +0200 Subject: [PATCH 3/4] feat(tc): Remove page reload --- .../tests/editors/dateBox/label.ts | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts index b84e98fe78c0..1a5d4e92b4db 100644 --- a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts +++ b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts @@ -1,11 +1,12 @@ /* eslint-disable no-restricted-syntax */ +import { Selector } from 'testcafe'; import { createScreenshotsComparer } from 'devextreme-screenshot-comparer'; import Guid from 'devextreme/core/guid'; import { testScreenshot } from '../../../helpers/themeUtils'; import url from '../../../helpers/getPageUrl'; import { createWidget } from '../../../helpers/createWidget'; import { - appendElementTo, removeStylesheetRulesFromPage, insertStylesheetRulesToPage, + appendElementTo, setStyleAttribute, removeStylesheetRulesFromPage, insertStylesheetRulesToPage, } from '../../../helpers/domUtils'; const DATEBOX_CLASS = 'dx-datebox'; @@ -13,7 +14,7 @@ const DATEBOX_CLASS = 'dx-datebox'; const stylingModes = ['outlined', 'underlined', 'filled']; const visibleLabelModes = ['floating', 'static', 'outside']; -fixture.disablePageReloads`DateBox_Label` +fixture`DateBox_Label` .page(url(__dirname, '../../container.html')); test('Symbol parts in label should not be cropped', async (t) => { @@ -24,10 +25,10 @@ test('Symbol parts in label should not be cropped', async (t) => { await t .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); -}).before(async () => { +}).before(async (t) => { await appendElementTo('#container', 'div', 'dateBox'); - await removeStylesheetRulesFromPage(); - await insertStylesheetRulesToPage('#container { box-sizing: border-box; width: 300px; height: 600px; padding: 8px; }'); + await setStyleAttribute(Selector('#container'), 'padding: 8px;'); + await t.resizeWindow(300, 600); for (const stylingMode of stylingModes) { for (const labelMode of visibleLabelModes) { @@ -43,8 +44,6 @@ test('Symbol parts in label should not be cropped', async (t) => { }, `#${id}`); } } -}).after(async () => { - await removeStylesheetRulesFromPage(); }); test('DateBox with buttons container', async (t) => { @@ -56,8 +55,6 @@ test('DateBox with buttons container', async (t) => { .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); }).before(async () => { - await removeStylesheetRulesFromPage(); - for (const stylingMode of stylingModes) { for (const buttons of [ ['clear'], From e736de183470d5db803b738e750442b0506dbd7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marker=20dao=20=C2=AE?= Date: Thu, 30 Apr 2026 16:49:15 +0200 Subject: [PATCH 4/4] revert() --- e2e/testcafe-devextreme/tests/editors/dateBox/label.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts index 1a5d4e92b4db..c5184f3390d9 100644 --- a/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts +++ b/e2e/testcafe-devextreme/tests/editors/dateBox/label.ts @@ -25,10 +25,9 @@ test('Symbol parts in label should not be cropped', async (t) => { await t .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); -}).before(async (t) => { +}).before(async () => { await appendElementTo('#container', 'div', 'dateBox'); - await setStyleAttribute(Selector('#container'), 'padding: 8px;'); - await t.resizeWindow(300, 600); + await setStyleAttribute(Selector('#container'), 'box-sizing: border-box; width: 300px; height: 600px; padding: 8px;'); for (const stylingMode of stylingModes) { for (const labelMode of visibleLabelModes) {