Skip to content

Commit f55b9fb

Browse files
debug
1 parent ceb4ac9 commit f55b9fb

68 files changed

Lines changed: 280 additions & 319 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

e2e/testcafe-devextreme/helpers/accessibility/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export interface A11yCheckOptions extends RunOptions {
66
runOnly?: any;
77
}
88

9-
export const defaultA11yCheckOptions = {
9+
const defaultOptions = {
1010
rules: {
1111
'color-contrast': { enabled: false },
1212
},
@@ -24,7 +24,7 @@ const createFullReport = (results, configuration) => {
2424

2525
export const a11yCheck = async (
2626
t: TestController,
27-
options: A11yCheckOptions = defaultA11yCheckOptions,
27+
options: A11yCheckOptions = defaultOptions,
2828
selector?: ElementContext,
2929
configuration = {},
3030
):

e2e/testcafe-devextreme/helpers/testPageUtils.ts

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/* eslint-disable spellcheck/spell-checker */
22
import { ClientFunction } from 'testcafe';
3+
import {
4+
removeStylesheetRulesFromPage,
5+
} from './domUtils';
36

47
export async function clearTestPage(testController: TestController): Promise<void> {
58
const shadowDom = process.env.shadowDom === 'true';
@@ -21,35 +24,30 @@ export async function clearTestPage(testController: TestController): Promise<voi
2124
});
2225

2326
const body = document.querySelector('body');
24-
const parentContainer = document.getElementById('parentContainer');
27+
if (body) {
28+
body.innerHTML = '';
2529

26-
if (shadowDom) {
27-
parentContainer?.remove();
28-
} else {
29-
// @ts-expect-error ts-error
30-
$(parentContainer).remove();
30+
body.className = 'dx-surface';
3131
}
3232

33-
const containerElement = document.createElement('div');
34-
containerElement.setAttribute('id', 'container');
33+
const temp = document.createElement('div');
34+
temp.innerHTML = `
35+
<div id="parentContainer" role="main">
36+
<h1 style="position: fixed; left: 0; top: 0; clip: rect(1px, 1px, 1px, 1px);">Test header</h1>
37+
<div id="container"></div>
38+
<div id="otherContainer"></div>
39+
</div>
40+
`;
3541

36-
const otherContainerElement = document.createElement('div');
37-
otherContainerElement.setAttribute('id', 'otherContainer');
38-
39-
const parentContainerElement = document.createElement('div');
40-
parentContainerElement.setAttribute('id', 'parentContainer');
41-
42-
parentContainerElement.append(containerElement, otherContainerElement);
43-
body?.prepend(parentContainerElement);
44-
45-
$('#stylesheetRules').remove();
42+
body?.prepend(temp.firstElementChild!);
4643
}, {
4744
dependencies: {
4845
shadowDom,
4946
},
5047
});
5148

5249
await clearTestPageFn.with({ boundTestRun: testController })();
50+
await removeStylesheetRulesFromPage.with({ boundTestRun: testController })();
5351
}
5452

5553
export async function loadAxeCore(t: TestController): Promise<void> {

e2e/testcafe-devextreme/tests/accessibility/dataGrid/common.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import DataGrid from 'devextreme-testcafe-models/dataGrid';
22
import FilterTextBox from 'devextreme-testcafe-models/dataGrid/editors/filterTextBox';
33
import HeaderFilter from 'devextreme-testcafe-models/dataGrid/headers/headerFilter';
4-
import { a11yCheck, defaultA11yCheckOptions } from '../../../helpers/accessibility/utils';
4+
import { a11yCheck } from '../../../helpers/accessibility/utils';
55
import url from '../../../helpers/getPageUrl';
66
import { createWidget } from '../../../helpers/createWidget';
77
import { getData } from '../../dataGrid/helpers/generateDataSourceData';
@@ -223,8 +223,8 @@ test('Header filter - filter menu', async (t) => {
223223
await t
224224
.expect(new HeaderFilter().element.exists)
225225
.ok();
226-
227-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
226+
await t.debug();
227+
await a11yCheck(t);
228228
}).before(async () => createWidget('dxDataGrid', {
229229
dataSource: getData(10, 5),
230230
keyExpr: 'field_0',
@@ -251,7 +251,7 @@ test('Filter panel', async (t) => {
251251
.expect(filterPanel.getFilterText().element.textContent)
252252
.eql('[Field 1] Contains \'val\'');
253253

254-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
254+
await a11yCheck(t);
255255
}).before(async () => createWidget('dxDataGrid', {
256256
dataSource: getData(10, 5),
257257
keyExpr: 'field_0',
@@ -584,7 +584,7 @@ test('Empty column chooser', async (t) => {
584584
.expect(dataGrid.isReady())
585585
.ok();
586586

587-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
587+
await a11yCheck(t);
588588
}).before(async () => createWidget('dxDataGrid', {
589589
dataSource: getData(10, 5),
590590
keyExpr: 'field_0',
@@ -616,7 +616,7 @@ test('Empty column chooser', async (t) => {
616616
.expect(dataGrid.getDataRow(0).isEdited)
617617
.ok();
618618

619-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
619+
await a11yCheck(t);
620620
}).before(async () => createWidget('dxDataGrid', {
621621
dataSource: getData(10, 5),
622622
keyExpr: 'field_0',
@@ -746,7 +746,7 @@ test('Batch editing mode - delete row', async (t) => {
746746
.expect(dataGrid.getDataRow(0).isRemoved)
747747
.ok();
748748

749-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
749+
await a11yCheck(t);
750750
}).before(async () => createWidget('dxDataGrid', {
751751
dataSource: getData(10, 5),
752752
keyExpr: 'field_0',
@@ -777,7 +777,7 @@ test('Form editing mode', async (t) => {
777777
.expect(dataGrid.getEditForm().element.exists)
778778
.ok();
779779

780-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
780+
await a11yCheck(t);
781781
}).before(async () => createWidget('dxDataGrid', {
782782
dataSource: getData(10, 5),
783783
keyExpr: 'field_0',
@@ -808,7 +808,7 @@ test('Popup editing mode', async (t) => {
808808
.expect(dataGrid.getPopupEditForm().element.exists)
809809
.ok();
810810

811-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
811+
await a11yCheck(t);
812812
}).before(async () => createWidget('dxDataGrid', {
813813
dataSource: getData(10, 5),
814814
keyExpr: 'field_0',
@@ -843,7 +843,7 @@ test('Validation in cell editing mode', async (t) => {
843843
.expect(dataGrid.getInvalidMessageTooltip().exists)
844844
.ok();
845845

846-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
846+
await a11yCheck(t);
847847
}).before(async () => createWidget('dxDataGrid', {
848848
dataSource: getData(10, 5),
849849
keyExpr: 'field_0',
@@ -884,7 +884,7 @@ test('Error row', async (t) => {
884884
.expect(dataGrid.getErrorRow().exists)
885885
.ok();
886886

887-
await a11yCheck(t, defaultA11yCheckOptions, DATA_GRID_SELECTOR);
887+
await a11yCheck(t);
888888
}).before(async () => createWidget('dxDataGrid', {
889889
dataSource: getData(10, 5),
890890
keyExpr: 'field_0',

e2e/testcafe-devextreme/tests/accessibility/dataGrid/editing.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import DataGrid from 'devextreme-testcafe-models/dataGrid';
2-
import { a11yCheck, defaultA11yCheckOptions } from '../../../helpers/accessibility/utils';
2+
import { a11yCheck } from '../../../helpers/accessibility/utils';
33
import url from '../../../helpers/getPageUrl';
44
import { createWidget } from '../../../helpers/createWidget';
55
import { getData } from '../../dataGrid/helpers/generateDataSourceData';
@@ -20,7 +20,7 @@ fixture.disablePageReloads`DataGrid - Editing`
2020
await t
2121
.click(dataGrid.getToolbar().getItem(0));
2222

23-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
23+
await a11yCheck(t);
2424
}).before(() => createWidget('dxDataGrid', {
2525
dataSource: getData(3, 2),
2626
height: 400,

e2e/testcafe-devextreme/tests/accessibility/dataGrid/fixedColumns.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import DataGrid from 'devextreme-testcafe-models/dataGrid';
33
import type { Properties } from 'devextreme/ui/data_grid';
44
import { createWidget } from '../../../helpers/createWidget';
55
import url from '../../../helpers/getPageUrl';
6-
import { a11yCheck, defaultA11yCheckOptions } from '../../../helpers/accessibility/utils';
6+
import { a11yCheck } from '../../../helpers/accessibility/utils';
77

88
fixture.disablePageReloads`DataGrid - Fixed columns`
99
.page(url(__dirname, '../../container.html'));
@@ -48,7 +48,7 @@ const getGridConfig = (needFixedColumnOnLeft = true): Properties => ({
4848
const COLUMNS_LENGTH = 8;
4949

5050
test('Accessibility: Scrollable should have focusable element', async (t) => {
51-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
51+
await a11yCheck(t);
5252
}).before(async () => createWidget('dxDataGrid', getGridConfig()));
5353

5454
test('Accessibility: Scrollable should have focusable element when navigate through fixed columns', async (t) => {
@@ -78,7 +78,7 @@ test('Accessibility: Scrollable should have focusable element when navigate thro
7878
const needCheckA11y = columnsByFixing[columnIndex];
7979

8080
if (needCheckA11y) {
81-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
81+
await a11yCheck(t);
8282
}
8383
}
8484
}).before(async () => createWidget('dxDataGrid', getGridConfig()));
@@ -87,14 +87,14 @@ test('Accessibility: Scrollable should always have focusable element when naviga
8787
const dataGrid = new DataGrid('#container');
8888

8989
// focus first cell in second row
90-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
90+
await a11yCheck(t);
9191
await t.click(dataGrid.getFixedDataCell(1, 0).element);
9292

9393
await t
9494
.expect(dataGrid.getFixedDataCell(1, 0).element.focused)
9595
.ok();
9696

97-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
97+
await a11yCheck(t);
9898

9999
// focus last not fixed header cell
100100
await pressKey(t, 'shift+tab', 9);
@@ -105,7 +105,7 @@ test('Accessibility: Scrollable should always have focusable element when naviga
105105
.expect(headerCell.isFocused)
106106
.ok();
107107

108-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
108+
await a11yCheck(t);
109109
}).before(async () => createWidget('dxDataGrid', getGridConfig()));
110110

111111
test('Accessibility: Scrollable should have focusable element when click out of the grid', async (t) => {
@@ -127,7 +127,7 @@ test('Accessibility: Scrollable should have focusable element when click out of
127127
offsetY: dataGridOffsetBottom + 10,
128128
});
129129

130-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
130+
await a11yCheck(t);
131131
}).before(async () => createWidget('dxDataGrid', getGridConfig()));
132132

133133
test('Accessibility: Scrollable should have focusable element when navigate out of the grid', async (t) => {
@@ -146,7 +146,7 @@ test('Accessibility: Scrollable should have focusable element when navigate out
146146
.expect(Selector('#myButton').focused)
147147
.ok();
148148

149-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
149+
await a11yCheck(t);
150150
}).before(async () => {
151151
await ClientFunction(() => { $('<div id="myButton">').appendTo('body'); })();
152152
await createWidget('dxButton', { text: 'Focus' }, '#myButton');
@@ -169,5 +169,5 @@ test('Accessibility: Scrollable should have focusable when fixed on the right si
169169
.expect(dataGrid.getFixedDataCell(0, COLUMNS_LENGTH - 1).isFocused)
170170
.ok();
171171

172-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
172+
await a11yCheck(t);
173173
}).before(async () => createWidget('dxDataGrid', getGridConfig(false)));

e2e/testcafe-devextreme/tests/accessibility/dataGrid/scrolling.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import DataGrid from 'devextreme-testcafe-models/dataGrid';
2-
import { a11yCheck, defaultA11yCheckOptions } from '../../../helpers/accessibility/utils';
2+
import { a11yCheck } from '../../../helpers/accessibility/utils';
33
import url from '../../../helpers/getPageUrl';
44
import { createWidget } from '../../../helpers/createWidget';
55
import { getData } from '../../dataGrid/helpers/generateDataSourceData';
@@ -14,7 +14,7 @@ test('Infinite scrolling', async (t) => {
1414
.expect(dataGrid.isReady())
1515
.ok();
1616

17-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
17+
await a11yCheck(t);
1818
}).before(() => createWidget('dxDataGrid', {
1919
dataSource: getData(1000, 2),
2020
height: 400,
@@ -31,7 +31,7 @@ test('Horizontal Virtual Scrolling', async (t) => {
3131
.expect(dataGrid.isReady())
3232
.ok();
3333

34-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
34+
await a11yCheck(t);
3535
}).before(() => createWidget('dxDataGrid', {
3636
dataSource: getData(20, 100),
3737
columnWidth: 100,

e2e/testcafe-devextreme/tests/accessibility/dataGrid/status.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import DataGrid from 'devextreme-testcafe-models/dataGrid';
22
import HeaderFilter from 'devextreme-testcafe-models/dataGrid/headers/headerFilter';
33
import FilterTextBox from 'devextreme-testcafe-models/dataGrid/editors/filterTextBox';
4-
import { a11yCheck, defaultA11yCheckOptions } from '../../../helpers/accessibility/utils';
4+
import { a11yCheck } from '../../../helpers/accessibility/utils';
55
import url from '../../../helpers/getPageUrl';
66
import { createWidget } from '../../../helpers/createWidget';
77

@@ -32,7 +32,7 @@ test('Accessibility: DataGrid general status should contains correct text', asyn
3232

3333
const statusText = await dataGrid.getGeneralStatusContainer().textContent;
3434

35-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
35+
await a11yCheck(t);
3636
await t.expect(statusText).eql(expectedStatusText);
3737
}).before(async () => createWidget('dxDataGrid', {
3838
dataSource: DATA_SOURCE,
@@ -59,7 +59,7 @@ test('Accessibility: DataGrid general status should contains correct text after
5959

6060
const statusText = await dataGrid.getGeneralStatusContainer().textContent;
6161

62-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
62+
await a11yCheck(t);
6363
await t.expect(statusText).eql(expectedStatusText);
6464
}).before(async () => createWidget('dxDataGrid', {
6565
dataSource: DATA_SOURCE,
@@ -81,7 +81,7 @@ test('Accessibility: DataGrid general status should contains correct text after
8181

8282
const statusText = await dataGrid.getGeneralStatusContainer().textContent;
8383

84-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
84+
await a11yCheck(t);
8585
await t.expect(statusText).eql(expectedStatusText);
8686
}).before(async () => createWidget('dxDataGrid', {
8787
dataSource: DATA_SOURCE,
@@ -106,7 +106,7 @@ test('Accessibility: DataGrid general status should contains correct text after
106106

107107
const statusText = await dataGrid.getGeneralStatusContainer().textContent;
108108

109-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
109+
await a11yCheck(t);
110110
await t.expect(statusText).eql(expectedStatusText);
111111
}).before(async () => createWidget('dxDataGrid', {
112112
dataSource: DATA_SOURCE,
@@ -130,7 +130,7 @@ test('Accessibility: DataGrid general status should contains correct text after
130130

131131
const statusText = await dataGrid.getGeneralStatusContainer().textContent;
132132

133-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
133+
await a11yCheck(t);
134134
await t.expect(statusText).eql(expectedStatusText);
135135
}).before(async () => createWidget('dxDataGrid', {
136136
dataSource: DATA_SOURCE,

e2e/testcafe-devextreme/tests/accessibility/dataGrid/templates.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import DataGrid from 'devextreme-testcafe-models/dataGrid';
2-
import { a11yCheck, defaultA11yCheckOptions } from '../../../helpers/accessibility/utils';
2+
import { a11yCheck } from '../../../helpers/accessibility/utils';
33
import url from '../../../helpers/getPageUrl';
44
import { createWidget } from '../../../helpers/createWidget';
55

6-
fixture`DataGrid - Templates`
6+
fixture.disablePageReloads`DataGrid - Templates`
77
.page(url(__dirname, '../../container.html'));
88

99
test('DataGrid with dataRowTemplate', async (t) => {
1010
const dataGrid = new DataGrid('#container');
1111

1212
await t.expect(dataGrid.isReady()).ok();
1313

14-
await a11yCheck(t, defaultA11yCheckOptions, '#container');
14+
await a11yCheck(t);
1515
}).before(async () => createWidget('dxDataGrid', {
1616
dataSource: [...new Array(10)].map((_, i) => ({
1717
ID: i + 1,

e2e/testcafe-devextreme/tests/accessibility/treeList/aria.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import TreeList from 'devextreme-testcafe-models/treeList';
22
import { createWidget } from '../../../helpers/createWidget';
33
import url from '../../../helpers/getPageUrl';
44

5-
fixture`TreeList - Aria`
5+
fixture.disablePageReloads`TreeList - Aria`
66
.page(url(__dirname, '../../container.html'));
77

88
const tasks = [

0 commit comments

Comments
 (0)