@@ -4,7 +4,7 @@ import PropTypes from "prop-types"
44import React from "react"
55import { describe , it , expect , assert } from "vitest"
66
7- import { R2WCElement } from ' @r2wc/core'
7+ import { R2WCElement } from " @r2wc/core"
88
99import r2wc from "./react-to-web-component"
1010
@@ -366,99 +366,97 @@ describe("react-to-web-component 1", () => {
366366 } )
367367 } )
368368
369- it . each (
370- [ [ undefined ] , [ "open" ] , [ "closed" ] ]
371- ) (
369+ it . each ( [ [ undefined ] , [ "open" ] , [ "closed" ] ] ) (
372370 `Supports class function to react props using method transform: (shadow: %s)` ,
373371 async ( shadow ) => {
374- const ClassGreeting : React . FC < { name : string ; sayHello : ( ) => void } > = ( {
375- name,
376- sayHello,
377- } ) => (
378- < div >
379- < h1 > Hello, { name } </ h1 >
380- < button onClick = { sayHello } > Click me</ button >
381- </ div >
382- )
383-
384- const WebClassGreeting = r2wc ( ClassGreeting , {
385- props : {
386- name : "string" ,
387- sayHello : "method" ,
388- } ,
389- shadow : shadow as unknown as Exclude < Parameters < typeof r2wc > [ 1 ] , undefined > [ 'shadow' ] ,
390- } )
372+ const ClassGreeting : React . FC < { name : string ; sayHello : ( ) => void } > = ( {
373+ name,
374+ sayHello,
375+ } ) => (
376+ < div >
377+ < h1 > Hello, { name } </ h1 >
378+ < button onClick = { sayHello } > Click me</ button >
379+ </ div >
380+ )
391381
392- const tagName = `class-greeting${ shadow ? `-${ shadow } ` : '' } `
382+ const WebClassGreeting = r2wc ( ClassGreeting , {
383+ props : {
384+ name : "string" ,
385+ sayHello : "method" ,
386+ } ,
387+ shadow : shadow as unknown as Exclude <
388+ Parameters < typeof r2wc > [ 1 ] ,
389+ undefined
390+ > [ "shadow" ] ,
391+ } )
393392
394- customElements . define ( tagName , WebClassGreeting )
393+ const tagName = `class-greeting ${ shadow ? `- ${ shadow } ` : "" } `
395394
396- document . body . innerHTML = `< ${ tagName } name='Christopher'></class-greeting>`
395+ customElements . define ( tagName , WebClassGreeting )
397396
398- const el = document . querySelector < R2WCElement & { sayHello ?: ( ) => void } > (
399- tagName ,
400- )
397+ document . body . innerHTML = `<${ tagName } name='Christopher'></class-greeting>`
401398
402- if ( ! el ) {
403- throw new Error ( "Element not found" )
404- }
399+ const el = document . querySelector <
400+ R2WCElement & { sayHello ?: ( ) => void }
401+ > ( tagName )
405402
406- const sayHello = function ( this : R2WCElement ) {
407- const nameElement = this . container . querySelector ( "h1" )
408- if ( nameElement ) {
409- nameElement . textContent = "Hello, again"
403+ if ( ! el ) {
404+ throw new Error ( "Element not found" )
410405 }
411- }
412406
413- el . sayHello = sayHello
407+ const sayHello = function ( this : R2WCElement ) {
408+ const nameElement = this . container . querySelector ( "h1" )
409+ if ( nameElement ) {
410+ nameElement . textContent = "Hello, again"
411+ }
412+ }
414413
415- const docRoot = el . container . getRootNode ( ) as Document | DocumentFragment
414+ el . sayHello = sayHello
416415
417- await new Promise ( ( resolve , reject ) => {
418- const failIfNotClicked = setTimeout ( ( ) => {
419- reject ( )
420- } , 1000 )
416+ const docRoot = el . container . getRootNode ( ) as Document | DocumentFragment
421417
422- setTimeout ( ( ) => {
423- docRoot
424- . querySelector < HTMLButtonElement > ( `button` )
425- ?. click ( )
418+ await new Promise ( ( resolve , reject ) => {
419+ const failIfNotClicked = setTimeout ( ( ) => {
420+ reject ( )
421+ } , 1000 )
426422
427423 setTimeout ( ( ) => {
428- const element = docRoot . querySelector ( "h1" )
429- expect ( element ?. textContent ) . toEqual ( "Hello, again" )
430- clearTimeout ( failIfNotClicked )
431- resolve ( true )
424+ docRoot . querySelector < HTMLButtonElement > ( `button` ) ?. click ( )
425+
426+ setTimeout ( ( ) => {
427+ const element = docRoot . querySelector ( "h1" )
428+ expect ( element ?. textContent ) . toEqual ( "Hello, again" )
429+ clearTimeout ( failIfNotClicked )
430+ resolve ( true )
431+ } , 0 )
432432 } , 0 )
433- } , 0 )
434- } )
433+ } )
435434
436- const sayHelloRerendered = function ( this : R2WCElement ) {
437- const nameElement = this . container . querySelector ( "h1" )
438- if ( nameElement ) {
439- nameElement . textContent = "Hello, again rerendered"
435+ const sayHelloRerendered = function ( this : R2WCElement ) {
436+ const nameElement = this . container . querySelector ( "h1" )
437+ if ( nameElement ) {
438+ nameElement . textContent = "Hello, again rerendered"
439+ }
440440 }
441- }
442-
443- el . sayHello = sayHelloRerendered
444441
445- await new Promise ( ( resolve , reject ) => {
446- const failIfNotClicked = setTimeout ( ( ) => {
447- reject ( )
448- } , 1000 )
442+ el . sayHello = sayHelloRerendered
449443
450- setTimeout ( ( ) => {
451- docRoot
452- . querySelector < HTMLButtonElement > ( `button` )
453- ?. click ( )
444+ await new Promise ( ( resolve , reject ) => {
445+ const failIfNotClicked = setTimeout ( ( ) => {
446+ reject ( )
447+ } , 1000 )
454448
455449 setTimeout ( ( ) => {
456- const element = docRoot . querySelector < HTMLHeadingElement > ( "h1" )
457- expect ( element ?. textContent ) . toEqual ( "Hello, again rerendered" )
458- clearTimeout ( failIfNotClicked )
459- resolve ( true )
450+ docRoot . querySelector < HTMLButtonElement > ( `button` ) ?. click ( )
451+
452+ setTimeout ( ( ) => {
453+ const element = docRoot . querySelector < HTMLHeadingElement > ( "h1" )
454+ expect ( element ?. textContent ) . toEqual ( "Hello, again rerendered" )
455+ clearTimeout ( failIfNotClicked )
456+ resolve ( true )
457+ } , 0 )
460458 } , 0 )
461- } , 0 )
462- } )
463- } )
459+ } )
460+ } ,
461+ )
464462} )
0 commit comments