Skip to content

Commit 516aa89

Browse files
test(types): fix dtslint tests for index.test.tsx
Use single line comment instead of mutli-line comment since the tests get skipped when using the latter. Replace `ReactElement` with `Element`. Fix invalid test for `options.replace`.
1 parent 0273e2d commit 516aa89

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

test/types/index.test.tsx

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,44 @@
1-
import parse, { HTMLReactParserOptions, domToReact, htmlToDOM } from 'html-react-parser';
1+
import parse, {
2+
HTMLReactParserOptions,
3+
domToReact,
4+
htmlToDOM
5+
} from 'html-react-parser';
26
import * as React from 'react';
37

4-
/* $ExpectType ReactElement | ReactElement[] */
5-
parse('<div>text</div>');
8+
// $ExpectType Element | Element[]
9+
parse('<p>text</p>');
610

7-
// `options.replace`
8-
9-
// Return React.createElement from `replace`
10-
parse('<p id="replace">text</p>', {
11+
// $ExpectType Element | Element[]
12+
parse('<br id="replace">', {
1113
replace: domNode => {
1214
if (domNode.attribs && domNode.attribs.id === 'replace') {
13-
return React.createElement('span', {}, 'replaced');
15+
return <span>replaced</span>;
1416
}
1517
}
1618
});
1719

18-
// Return ReactElement
19-
const options: HTMLReactParserOptions = {
20+
// $ExpectType Element | Element[]
21+
parse('<br id="remove">', {
2022
replace({ attribs }) {
21-
return attribs && attribs.id === 'remove' && <React.Fragment />;
23+
return attribs && attribs.id === 'remove' && <></>;
2224
}
23-
};
25+
});
2426

25-
parse('<p><br id="remove"></p>', options);
27+
let options: HTMLReactParserOptions;
2628

27-
// Return domhandler node
28-
parse('<a id="header" href="#">Heading</a>', {
29+
options = {
2930
replace: node => {
3031
if (node.attribs && node.attribs.id === 'header') {
31-
return {
32-
type: 'h1',
33-
props: { children: 'Heading' }
34-
};
32+
return;
3533
}
3634
}
37-
});
35+
};
36+
37+
// $ExpectType Element | Element[]
38+
parse('<a id="header" href="#">Heading</a>', options);
3839

3940
// $ExpectType DomElement[]
40-
const dom = htmlToDOM('<div>text</div>');
41+
const domNodes = htmlToDOM('<div>text</div>');
4142

42-
/* $ExpectType ReactElement | ReactElement[] */
43-
domToReact(dom);
43+
// $ExpectType Element | Element[]
44+
domToReact(domNodes);

0 commit comments

Comments
 (0)