diff --git a/.github/workflows/testcafe_tests.yml b/.github/workflows/testcafe_tests.yml index e091afad0283..fb09cea95ba5 100644 --- a/.github/workflows/testcafe_tests.yml +++ b/.github/workflows/testcafe_tests.yml @@ -81,25 +81,25 @@ jobs: fail-fast: false matrix: ARGS: [ - # { componentFolder: "accessibility", name: "accessibility (1/5)", indices: "1/5" }, - # { componentFolder: "accessibility", name: "accessibility (2/5)", indices: "2/5" }, - # { componentFolder: "accessibility", name: "accessibility (3/5)", indices: "3/5" }, - # { componentFolder: "accessibility", name: "accessibility (4/5)", indices: "4/5" }, - # { componentFolder: "accessibility", name: "accessibility (5/5)", indices: "5/5" }, - # { componentFolder: "accessibility", name: "accessibility - material (1/7)", theme: "material.blue.light", indices: "1/7" }, - # { componentFolder: "accessibility", name: "accessibility - material (2/7)", theme: "material.blue.light", indices: "2/7" }, - # { componentFolder: "accessibility", name: "accessibility - material (3/7)", theme: "material.blue.light", indices: "3/7" }, - # { componentFolder: "accessibility", name: "accessibility - material (4/7)", theme: "material.blue.light", indices: "4/7" }, - # { componentFolder: "accessibility", name: "accessibility - material (5/7)", theme: "material.blue.light", indices: "5/7" }, - # { componentFolder: "accessibility", name: "accessibility - material (6/7)", theme: "material.blue.light", indices: "6/7" }, - # { componentFolder: "accessibility", name: "accessibility - material (7/7)", theme: "material.blue.light", indices: "7/7" }, - # { componentFolder: "accessibility", name: "accessibility - fluent (1/7)", theme: "fluent.blue.light", indices: "1/7" }, - # { componentFolder: "accessibility", name: "accessibility - fluent (2/7)", theme: "fluent.blue.light", indices: "2/7" }, - # { componentFolder: "accessibility", name: "accessibility - fluent (3/7)", theme: "fluent.blue.light", indices: "3/7" }, - # { componentFolder: "accessibility", name: "accessibility - fluent (4/7)", theme: "fluent.blue.light", indices: "4/7" }, - # { componentFolder: "accessibility", name: "accessibility - fluent (5/7)", theme: "fluent.blue.light", indices: "5/7" }, - # { componentFolder: "accessibility", name: "accessibility - fluent (6/7)", theme: "fluent.blue.light", indices: "6/7" }, - # { componentFolder: "accessibility", name: "accessibility - fluent (7/7)", theme: "fluent.blue.light", indices: "7/7" }, + { componentFolder: "accessibility", name: "accessibility (1/5)", indices: "1/5" }, + { componentFolder: "accessibility", name: "accessibility (2/5)", indices: "2/5" }, + { componentFolder: "accessibility", name: "accessibility (3/5)", indices: "3/5" }, + { componentFolder: "accessibility", name: "accessibility (4/5)", indices: "4/5" }, + { componentFolder: "accessibility", name: "accessibility (5/5)", indices: "5/5" }, + { componentFolder: "accessibility", name: "accessibility - material (1/7)", theme: "material.blue.light", indices: "1/7" }, + { componentFolder: "accessibility", name: "accessibility - material (2/7)", theme: "material.blue.light", indices: "2/7" }, + { componentFolder: "accessibility", name: "accessibility - material (3/7)", theme: "material.blue.light", indices: "3/7" }, + { componentFolder: "accessibility", name: "accessibility - material (4/7)", theme: "material.blue.light", indices: "4/7" }, + { componentFolder: "accessibility", name: "accessibility - material (5/7)", theme: "material.blue.light", indices: "5/7" }, + { componentFolder: "accessibility", name: "accessibility - material (6/7)", theme: "material.blue.light", indices: "6/7" }, + { componentFolder: "accessibility", name: "accessibility - material (7/7)", theme: "material.blue.light", indices: "7/7" }, + { componentFolder: "accessibility", name: "accessibility - fluent (1/7)", theme: "fluent.blue.light", indices: "1/7" }, + { componentFolder: "accessibility", name: "accessibility - fluent (2/7)", theme: "fluent.blue.light", indices: "2/7" }, + { componentFolder: "accessibility", name: "accessibility - fluent (3/7)", theme: "fluent.blue.light", indices: "3/7" }, + { componentFolder: "accessibility", name: "accessibility - fluent (4/7)", theme: "fluent.blue.light", indices: "4/7" }, + { componentFolder: "accessibility", name: "accessibility - fluent (5/7)", theme: "fluent.blue.light", indices: "5/7" }, + { componentFolder: "accessibility", name: "accessibility - fluent (6/7)", theme: "fluent.blue.light", indices: "6/7" }, + { componentFolder: "accessibility", name: "accessibility - fluent (7/7)", theme: "fluent.blue.light", indices: "7/7" }, { componentFolder: "common", name: "common" }, { componentFolder: "common", name: "common - material", theme: 'material.blue.light' }, { componentFolder: "common", name: "common - fluent", theme: 'fluent.blue.light' }, @@ -140,9 +140,9 @@ jobs: { componentFolder: "navigation", name: "navigation" }, { componentFolder: "navigation", name: "navigation - material", theme: 'material.blue.light' }, { componentFolder: "navigation", name: "navigation - fluent", theme: 'fluent.blue.light' }, - # { componentFolder: "fileManager", name: "fileManager" }, - # { componentFolder: "fileManager", name: "fileManager - material", theme: 'material.blue.light' }, - # { componentFolder: "fileManager", name: "fileManager - fluent", theme: 'fluent.blue.light' }, + { componentFolder: "fileManager", name: "fileManager" }, + { componentFolder: "fileManager", name: "fileManager - material", theme: 'material.blue.light' }, + { componentFolder: "fileManager", name: "fileManager - fluent", theme: 'fluent.blue.light' }, # { componentFolder: "filterBuilder", name: "filterBuilder" }, # { componentFolder: "filterBuilder", name: "filterBuilder - material", theme: 'material.blue.light' }, # { componentFolder: "filterBuilder", name: "filterBuilder - fluent", theme: 'fluent.blue.light' }, diff --git a/e2e/testcafe-devextreme/helpers/clearPage.js b/e2e/testcafe-devextreme/helpers/clearPage.js index 161494a4af8f..fd84f3fd28ef 100644 --- a/e2e/testcafe-devextreme/helpers/clearPage.js +++ b/e2e/testcafe-devextreme/helpers/clearPage.js @@ -2,7 +2,7 @@ const testCafe = require('testcafe'); module.exports = { - clearTestPage: async function() { + clearTestPage: async function(t) { const shadowDom = process.env.shadowDom === 'true'; await testCafe.ClientFunction(() => { @@ -46,6 +46,6 @@ module.exports = { dependencies: { shadowDom, } - })(); + }).with({ boundTestRun: t })(); } }; diff --git a/e2e/testcafe-devextreme/runner.js b/e2e/testcafe-devextreme/runner.js index a3b8eddaff93..3414e5d58b8e 100644 --- a/e2e/testcafe-devextreme/runner.js +++ b/e2e/testcafe-devextreme/runner.js @@ -113,24 +113,28 @@ createTestCafe({ quarantineMode: { successThreshold: 1, attemptLimit: 5 }, }; - if(args.componentFolder.trim() !== 'renovation') { - runOptions.hooks = { - test: { - before: async() => { - if(args.shadowDom) { - await addShadowRootTree(); - } - - if(args.theme) { - await changeTheme(args.theme); - } - }, - after: async() => { - await testPageUtils.clearTestPage(); + runOptions.hooks = { + test: { + before: async() => { + if(args.shadowDom) { + await addShadowRootTree(); + } + + if(args.theme) { + await changeTheme(args.theme); } }, - }; - } + after: async(t) => { + await testPageUtils.clearTestPage(t); + + await createTestCafe.ClientFunction(() => { + document.body.style.minHeight = '100px'; + }).with({ boundTestRun: t })(); + + await t.click(createTestCafe.Selector('body'), { offsetX: -1, offsetY: 1 }); + } + }, + }; if(args.browsers === 'chrome:docker') { runOptions.disableScreenshots = true; diff --git a/e2e/testcafe-devextreme/tests/accessibility/map.ts b/e2e/testcafe-devextreme/tests/accessibility/map.ts index edf5a9ac4586..e2833d680bde 100644 --- a/e2e/testcafe-devextreme/tests/accessibility/map.ts +++ b/e2e/testcafe-devextreme/tests/accessibility/map.ts @@ -3,8 +3,10 @@ import url from '../../helpers/getPageUrl'; import { testAccessibility, Configuration } from '../../helpers/accessibility/test'; import { Options } from '../../helpers/generateOptionMatrix'; -fixture.disablePageReloads`Accessibility` - .page(url(__dirname, '../container.html')); +fixture`Accessibility` + .page(url(__dirname, '../container.html')) + // avoid `sj_evt is not defined` error + .skipJsErrors(); const markersData = [ { location: '40.7825, -73.966111' }, @@ -18,21 +20,27 @@ const options: Options = { apiKey: [{ bing: 'Aq3LKP2BOmzWY47TZoT1YdieypN_rB6RY9FqBfx-MDCKjvvWBbT68R51xwbL-AqC', }], - hint: [undefined, 'hint'], controls: [true, false], zoom: [undefined, 10], markers: [markersData], }; const a11yCheckConfig = { - // NOTE: color-contrast issues - rules: { 'color-contrast': { enabled: false } }, + rules: { + 'color-contrast': { enabled: false }, + 'aria-command-name': { enabled: false }, + }, +}; + +const created = async (t: TestController): Promise => { + await t.wait(3000); }; const configuration: Configuration = { component: 'dxMap', a11yCheckConfig, options, + created, }; testAccessibility(configuration); diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (fluent-blue-light).png index e7523fff434a..b10bc787059e 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (generic-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (generic-light).png index 2618cee98c3c..3656dbcbad70 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (generic-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (material-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (material-blue-light).png index d6d279323c30..ffb13e144320 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (material-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when input contains long text (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (fluent-blue-light).png index 342999363251..5f203d56158e 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (generic-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (generic-light).png index 0414c71a2bc3..6bd3f1899323 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (generic-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (material-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (material-blue-light).png index 82837614493c..214173ecfc66 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (material-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagebox when send button has focus (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-blue-light).png index 42d33b3249ed..860ac4cfa60e 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (fluent-blue-light).png index 96470d89fca5..380073a78a96 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (generic-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (generic-light).png index ebecbc148930..ce61b5819f49 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (generic-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (material-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (material-blue-light).png index 437ee2bdd46f..de979f919b3c 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (material-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar middle position after typing in textarea (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (fluent-blue-light).png index a6590b3bf184..3ed84f484d1a 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (generic-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (generic-light).png index eb8821f55c26..46eef8d278d5 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (generic-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (material-blue-light).png b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (material-blue-light).png index 20bbdbd6fe35..f4d5a2f9a955 100644 Binary files a/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (material-blue-light).png and b/e2e/testcafe-devextreme/tests/chat/etalons/Messagelist scrollbar position after typing in textarea (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & start in row, rtl (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & start in row, rtl (fluent-blue-light).png index c424770993cd..86e8e5ae969d 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & start in row, rtl (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & start in row, rtl (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & row, hover inside row, rtl (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & row, hover inside row, rtl (fluent-blue-light).png index dddda184c910..908fc0c6998b 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & row, hover inside row, rtl (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & row, hover inside row, rtl (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/keyboard.ts b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/keyboard.ts index 55ee42b47ba8..50a339378057 100644 --- a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/keyboard.ts +++ b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/keyboard.ts @@ -2,7 +2,7 @@ import { Selector } from 'testcafe'; import DateRangeBox from 'devextreme-testcafe-models/dateRangeBox'; import url from '../../../helpers/getPageUrl'; import { createWidget } from '../../../helpers/createWidget'; -import { appendElementTo } from '../../../helpers/domUtils'; +import { appendElementTo, insertStylesheetRulesToPage } from '../../../helpers/domUtils'; fixture.disablePageReloads`DateRangeBox keyboard navigation` .page(url(__dirname, '../../container.html')); @@ -1250,10 +1250,10 @@ test('DateRangeBox keyboard navigation via `shift+tab` key if applyValueMode is }); test('DateRangeBox should not be closed by press shift+tab key on endDate input', async (t) => { - const dateRangeBox = new DateRangeBox('#container'); + const dateRangeBox = new DateRangeBox('#dateRangeBox'); await t - .click(Selector('body'), { offsetX: -50 }) + .click(Selector('#nextFocusableElement')) .pressKey('shift+tab'); await t @@ -1279,18 +1279,29 @@ test('DateRangeBox should not be closed by press shift+tab key on endDate input' .eql(false) .expect(dateRangeBox.isFocused) .notOk(); -}).before(async () => createWidget('dxDateRangeBox', { - value: ['2021/09/17', '2021/10/24'], - openOnFieldClick: true, - opened: true, - width: 500, - dropDownOptions: { - hideOnOutsideClick: false, - }, - calendarOptions: { - focusStateEnabled: false, - }, -})); +}).before(async () => { + await insertStylesheetRulesToPage('#container { display: flex; }'); + + await appendElementTo('#container', 'div', 'dateRangeBox'); + await appendElementTo('#container', 'div', 'nextFocusableElement'); + + await createWidget('dxDateRangeBox', { + value: ['2021/09/17', '2021/10/24'], + openOnFieldClick: true, + opened: true, + width: 500, + dropDownOptions: { + hideOnOutsideClick: false, + }, + calendarOptions: { + focusStateEnabled: false, + }, + }, '#dateRangeBox'); + + await createWidget('dxButton', { + text: 'Next Focusable Element', + }, '#nextFocusableElement'); +}); [ { key: 'left', offsetInDays: -1 }, diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (generic-light).png b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (generic-light).png index e2b6e57bb7cb..aa0434670793 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (generic-light).png and b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (material-blue-light).png index 3c393ac01676..9d063f78f867 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/list/etalons/First item should not be focused when deleted (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/editors/list/etalons/First item should not be focused when deleted (fluent-blue-light).png index 903b78f4cd90..d746616c4a20 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/list/etalons/First item should not be focused when deleted (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/list/etalons/First item should not be focused when deleted (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/lookup/common.ts b/e2e/testcafe-devextreme/tests/editors/lookup/common.ts index 07a80fa97cd5..9d56e80be4fb 100644 --- a/e2e/testcafe-devextreme/tests/editors/lookup/common.ts +++ b/e2e/testcafe-devextreme/tests/editors/lookup/common.ts @@ -35,6 +35,8 @@ test('Popup should not be closed if lookup is placed at the page bottom (T101803 await t .expect(await lookup.isOpened()) .ok(); + + await lookup.close(); }).before(async () => createWidget('dxLookup', { items: [1, 2, 3], usePopover: false, diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (generic-light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (generic-light).png index 6890d7f863ac..e29a31fcc4d8 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (generic-light).png and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (material-blue-light).png index b297f398a53d..cd40d7a2f44d 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled (material-blue-light).png index b514fc3bd03a..c13b4b4c6f3a 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined (material-blue-light).png index 58b11f97607b..70199d2924d3 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined (material-blue-light).png index 08a71c41016a..071d9f7babb0 100644 Binary files a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_overlap_shading_EmptyDrawerHidden_#popup1.png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_overlap_shading_EmptyDrawerHidden_#popup1.png index 0481ae9fbda3..66d0d1d640d3 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_overlap_shading_EmptyDrawerHidden_#popup1.png and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_overlap_shading_EmptyDrawerHidden_#popup1.png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_push_shading_EmptyDrawerHidden_#popup1.png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_push_shading_EmptyDrawerHidden_#popup1.png index 6789d5ef3ba6..5e9937fbad1f 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_push_shading_EmptyDrawerHidden_#popup1.png and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_push_shading_EmptyDrawerHidden_#popup1.png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_shrink_shading_EmptyDrawerHidden_#popup1.png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_shrink_shading_EmptyDrawerHidden_#popup1.png index 6789d5ef3ba6..5e9937fbad1f 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_shrink_shading_EmptyDrawerHidden_#popup1.png and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/drawer_shrink_shading_EmptyDrawerHidden_#popup1.png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/common.ts b/e2e/testcafe-devextreme/tests/navigation/menu/common.ts index bcbc4abc6e00..933015c6e677 100644 --- a/e2e/testcafe-devextreme/tests/navigation/menu/common.ts +++ b/e2e/testcafe-devextreme/tests/navigation/menu/common.ts @@ -103,7 +103,7 @@ safeSizeTest('Menu delimiter appearance when orientation is horizontal', async ( await testScreenshot(t, takeScreenshot, 'Delimiter, horizontal menu, submenu less than root item.png'); - await setAttribute('#container', 'style', 'padding-top: 450px;'); + await setAttribute('#container', 'style', 'padding-top: 430px;'); await t .click(menu.getItem(1)) @@ -117,7 +117,7 @@ safeSizeTest('Menu delimiter appearance when orientation is horizontal', async ( await testScreenshot(t, takeScreenshot, 'Delimiter, horizontal menu, submenu less than root item, bottom collision.png'); - await setAttribute('#container', 'style', 'padding-left: 100px;'); + await setAttribute('#container', 'style', 'padding-left: 80px;'); await t .click(menu.getItem(3)) @@ -125,7 +125,7 @@ safeSizeTest('Menu delimiter appearance when orientation is horizontal', async ( await testScreenshot(t, takeScreenshot, 'Delimiter, horizontal menu, right collision.png'); - await setAttribute('#container', 'style', 'padding-top: 450px; padding-left: 100px;'); + await setAttribute('#container', 'style', 'padding-top: 400px; padding-left: 80px;'); await t .click(menu.getItem(2)) @@ -147,6 +147,9 @@ safeSizeTest('Menu delimiter appearance when orientation is horizontal', async ( }, { id: '2_2', text: 'SuperLED 42', + }, { + id: '2_2', + text: 'SuperLED 60', }], }, { text: 'Monitors', @@ -162,6 +165,12 @@ safeSizeTest('Menu delimiter appearance when orientation is horizontal', async ( items: [{ id: '4_1', text: 'Projector Plus', + }, { + id: '4_2', + text: 'Projector PlusHD', + }, { + id: '4_3', + text: 'Projector & Screens', }], }] as Item[]; @@ -187,14 +196,14 @@ safeSizeTest('Menu delimiter appearance when orientation is vertical', async (t) await testScreenshot(t, takeScreenshot, 'Delimiter appearance, orientation is vertical, bottom collision.png'); - await setAttribute('#container', 'style', 'padding-top: 0px; padding-left: 350px;'); + await setAttribute('#container', 'style', 'padding-top: 0px; padding-left: 340px;'); await t .click(menu.getItem(2)); await testScreenshot(t, takeScreenshot, 'Delimiter appearance, orientation is vertical, right collision.png'); - await setAttribute('#container', 'style', 'padding-top: 400px; padding-left: 350px;'); + await setAttribute('#container', 'style', 'padding-top: 400px; padding-left: 320px;'); await t .click(menu.getItem(0)) diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (fluent-blue-light).png index 56793c23218b..b88f6d1420ae 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (generic-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (generic-light).png index 05408a5b0e88..772dc5e34adf 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (generic-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (material-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (material-blue-light).png index bac2e599aee3..e266fa414844 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (material-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, bottom right collision (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (fluent-blue-light).png index dce227d08a3d..59ab8ace18d0 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (generic-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (generic-light).png index 29de9e496921..d144a447f473 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (generic-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (material-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (material-blue-light).png index 19e0ca1c0f83..6533c333a5fe 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (material-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter appearance, orientation is vertical, right collision (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (generic-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (generic-light).png index dbbe8154f211..7bde675d27bf 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (generic-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (material-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (material-blue-light).png index 93a2b6133d55..cdf7d2868a37 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (material-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, bottom right collision (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, right collision (generic-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, right collision (generic-light).png index ac89dae8af4b..97131139409d 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, right collision (generic-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, right collision (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (fluent-blue-light).png index 463cb56fedee..7eac8bd5903e 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (generic-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (generic-light).png index 4e0010263f2a..973d913d12bd 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (generic-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (material-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (material-blue-light).png index dd4c73c47b47..16b14f59783f 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (material-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu less than root item, bottom collision (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (fluent-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (fluent-blue-light).png index ae951a99cd55..bb6f15786cdc 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (fluent-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (fluent-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (generic-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (generic-light).png index 263df47aee04..cb36de04f359 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (generic-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (generic-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (material-blue-light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (material-blue-light).png index 3acd6ef6373c..839cf6aa3706 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (material-blue-light).png and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Delimiter, horizontal menu, submenu more than root item, bottom collision (material-blue-light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/common.ts b/e2e/testcafe-devextreme/tests/navigation/splitter/common.ts index 946482447256..1e4f4d149590 100644 --- a/e2e/testcafe-devextreme/tests/navigation/splitter/common.ts +++ b/e2e/testcafe-devextreme/tests/navigation/splitter/common.ts @@ -1,4 +1,3 @@ -import { Selector } from 'testcafe'; import { createScreenshotsComparer } from 'devextreme-screenshot-comparer'; import Splitter from 'devextreme-testcafe-models/splitter'; import url from '../../../helpers/getPageUrl'; @@ -37,8 +36,6 @@ fixture.disablePageReloads`Splitter_common` const { takeScreenshot, compareResults } = createScreenshotsComparer(t); const splitter = new Splitter('#container'); - await t.click(Selector('body'), { offsetX: -50 }); - await testScreenshot(t, takeScreenshot, getScreenshotName('normal'), { element: '#container' }); await testScreenshot(t, takeScreenshot, getScreenshotName('normal'), { element: '#container', theme: darkTheme }); diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/resize.ts b/e2e/testcafe-devextreme/tests/navigation/splitter/resize.ts index 5a8a7a95f724..838bf986474f 100644 --- a/e2e/testcafe-devextreme/tests/navigation/splitter/resize.ts +++ b/e2e/testcafe-devextreme/tests/navigation/splitter/resize.ts @@ -1,12 +1,10 @@ import Splitter from 'devextreme-testcafe-models/splitter'; import url from '../../../helpers/getPageUrl'; import { createWidget } from '../../../helpers/createWidget'; -import { clearTestPage } from '../../../helpers/clearPage'; import { safeSizeTest } from '../../../helpers/safeSizeTest'; fixture.disablePageReloads`Splitter_integration` - .page(url(__dirname, '../../container.html')) - .afterEach(async () => clearTestPage()); + .page(url(__dirname, '../../container.html')); safeSizeTest('non resizable pane should not change its size during resize', async (t) => { const splitter = new Splitter('#container'); diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=never (generic-light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=never (generic-light).png index 3ea74c296672..971524b6a53a 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=never (generic-light).png and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=never (generic-light).png differ diff --git a/packages/testcafe-models/internal/dropDownList.ts b/packages/testcafe-models/internal/dropDownList.ts index 22dd99181ad9..ce0d2ca55339 100644 --- a/packages/testcafe-models/internal/dropDownList.ts +++ b/packages/testcafe-models/internal/dropDownList.ts @@ -69,4 +69,14 @@ export default abstract class DropDownList extends TextBox { dependencies: { getInstance }, })(); } + + close(): Promise { + const { getInstance } = this; + + return ClientFunction(() => { + (getInstance() as any).close(); + }, { + dependencies: { getInstance }, + })(); + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 04e11f422102..03fc02349405 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20417,13 +20417,15 @@ snapshots: transitivePeerDependencies: - '@parcel/core' - '@parcel/cache@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))': + '@parcel/cache@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)': dependencies: '@parcel/core': 2.12.0(@swc/helpers@0.5.11) '@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) '@parcel/logger': 2.12.0 '@parcel/utils': 2.12.0 lmdb: 2.8.5 + transitivePeerDependencies: + - '@swc/helpers' '@parcel/codeframe@2.12.0': dependencies: @@ -20483,7 +20485,7 @@ snapshots: '@parcel/core@2.12.0(@swc/helpers@0.5.11)': dependencies: '@mischnic/json-sourcemap': 0.1.1 - '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) + '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) '@parcel/diagnostic': 2.12.0 '@parcel/events': 2.12.0 '@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) @@ -20898,7 +20900,7 @@ snapshots: '@parcel/types@2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)': dependencies: - '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11)) + '@parcel/cache': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) '@parcel/diagnostic': 2.12.0 '@parcel/fs': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11) '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)