mirror of
https://gitee.com/ant-design/ant-design.git
synced 2024-12-04 04:58:55 +08:00
01ca7c7821
* test: replace testing-lib * test: replace testing-lib * test: replace testing-lib * test: update snap * test: replace testing-lib * test: replace testing-lib * test: update for lint * merge: merge * test: testing-lib * test: replace testing-lib * test: testing-lib * test: testing-lib * test: replace testing-lib * test: replace testing-lib * test: Replace test aria replacment logic * test: Update snapshot * chore: hack for id * test: clean up * test: clean demo * chore: update * test: snapshot update * test: fix snapshot rep logic * test: fix snapshot rep logic * test: fix snapshot rep logic * chore: update demo * test: fix snapshot rep logic * test: Update snapshot * test: rest snapshot * test: update snapshot * test: Update test case * test: config env * chore: clean up * chore: Use renderServer instead * test: adjust testing logic * test: modify test logic * test: split ssr test * test: skip if need skip * chore: ignore test file covv Co-authored-by: 二货机器人 <smith3816@gmail.com>
46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
import { toHaveNoViolations } from 'jest-axe';
|
|
import '@testing-library/jest-dom';
|
|
import format, { plugins } from 'pretty-format';
|
|
|
|
function formatHTML(nodes: any) {
|
|
const htmlContent = format(nodes, {
|
|
plugins: [plugins.DOMCollection, plugins.DOMElement],
|
|
});
|
|
|
|
const filtered = htmlContent
|
|
.split(/[\n\r]+/)
|
|
.filter(line => line.trim())
|
|
.join('\n');
|
|
|
|
return filtered;
|
|
}
|
|
|
|
/**
|
|
* React 17 & 18 will have different behavior in some special cases:
|
|
*
|
|
* React 17:
|
|
*
|
|
* ```html
|
|
* <span> Hello World </span>
|
|
* ```
|
|
*
|
|
* React 18:
|
|
*
|
|
* ```html
|
|
* <span> Hello World </span>
|
|
* ```
|
|
*
|
|
* These diff is nothing important in front end but will break in snapshot diff.
|
|
*/
|
|
expect.addSnapshotSerializer({
|
|
test: element =>
|
|
typeof HTMLElement !== 'undefined' &&
|
|
(element instanceof HTMLElement ||
|
|
element instanceof DocumentFragment ||
|
|
element instanceof HTMLCollection ||
|
|
(Array.isArray(element) && element[0] instanceof HTMLElement)),
|
|
print: element => formatHTML(element),
|
|
});
|
|
|
|
expect.extend(toHaveNoViolations);
|