11import * as domhandler from 'domhandler' ;
22import type { Element } from 'html-dom-parser' ;
3- import type { JSX } from 'react' ;
43
54import * as HTMLReactParser from '../src' ;
65import parse from '../src' ;
@@ -31,6 +30,7 @@ describe('module', () => {
3130} ) ;
3231
3332describe ( 'HTMLReactParser' , ( ) => {
33+ // eslint-disable-next-line @typescript-eslint/no-empty-function
3434 it . each ( [ undefined , null , { } , [ ] , true , false , 0 , 1 , ( ) => { } , new Date ( ) ] ) (
3535 'throws error for value: %p' ,
3636 ( value ) => {
@@ -110,7 +110,10 @@ describe('HTMLReactParser', () => {
110110 it ( 'decodes HTML entities' , ( ) => {
111111 const encodedEntities = 'asdf & ÿ ü '' ;
112112 const decodedEntities = "asdf & ÿ ü '" ;
113- const reactElement = parse ( '<i>' + encodedEntities + '</i>' ) as JSX . Element ;
113+ const reactElement = parse (
114+ '<i>' + encodedEntities + '</i>' ,
115+ ) as React . JSX . Element ;
116+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
114117 expect ( reactElement . props . children ) . toBe ( decodedEntities ) ;
115118 } ) ;
116119
@@ -136,6 +139,7 @@ describe('replace option', () => {
136139 expect (
137140 parse ( html . complex , {
138141 replace ( domNode ) {
142+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
139143 if ( ( domNode as Element ) . attribs ?. id === 'header' ) {
140144 return {
141145 type : 'h1' ,
@@ -149,6 +153,7 @@ describe('replace option', () => {
149153} ) ;
150154
151155describe ( 'library option' , ( ) => {
156+ /* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */
152157 const Preact = require ( 'preact' ) ;
153158 const React = require ( 'react' ) ;
154159
@@ -162,6 +167,7 @@ describe('library option', () => {
162167 delete parsedElement . __v ;
163168 delete preactElement . __v ;
164169 expect ( parsedElement ) . toEqual ( preactElement ) ;
170+ /* eslint-enable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */
165171 } ) ;
166172} ) ;
167173
@@ -182,7 +188,7 @@ describe('trim option', () => {
182188 <tr><td>hello</td><td>\n</td><td> </td>\t</tr>\r
183189 </tbody>
184190</table>` ;
185- const reactElement = parse ( html ) as JSX . Element ;
191+ const reactElement = parse ( html ) as React . JSX . Element ;
186192 expect ( render ( reactElement ) ) . toBe (
187193 '<table><tbody><tr><td>hello</td><td>\n</td><td>\u00a0</td></tr></tbody></table>' ,
188194 ) ;
@@ -193,7 +199,7 @@ describe('trim option', () => {
193199 const html = `<table>
194200 <tbody><tr><td> text </td><td> </td>\t</tr>\r</tbody>\n</table>` ;
195201 const options = { trim : true } ;
196- const reactElement = parse ( html , options ) as JSX . Element ;
202+ const reactElement = parse ( html , options ) as React . JSX . Element ;
197203 expect ( render ( reactElement ) ) . toBe (
198204 '<table><tbody><tr><td> text </td><td></td></tr></tbody></table>' ,
199205 ) ;
@@ -203,7 +209,7 @@ describe('trim option', () => {
203209describe ( 'invalid styles' , ( ) => {
204210 it ( 'copes with invalid styles' , ( ) => {
205211 const html = '<p style="font - size: 1em">X</p>' ;
206- const reactElement = parse ( html ) as JSX . Element ;
212+ const reactElement = parse ( html ) as React . JSX . Element ;
207213 expect ( render ( reactElement ) ) . toBe ( '<p>X</p>' ) ;
208214 } ) ;
209215} ) ;
0 commit comments