11import { assert , assertEquals } from "./asserts.js" ;
22// @deno -types="./component.d.ts"
3- import { CustomElement , State } from "./component.d.ts" ;
3+ import { CustomElement , HOF , State } from "./component.d.ts" ;
44import {
55 factorizeComponent ,
66 StateSymbol ,
@@ -22,13 +22,13 @@ test(
2222 const Component = factorizeComponent ( renderSpy , { active : false } ) ;
2323
2424 const e = constructComponent ( Component ) ;
25- e ? .connectedCallback ( ) ;
25+ e . connectedCallback && e . connectedCallback ( ) ;
2626
2727 return deferUntil ( null , ( ) => assertRenderSpy . called )
2828 . then ( ( ) => {
2929 assert ( assertRenderSpy . callCount === 1 ) ;
3030 assertRenderSpy ( ( [ e , state ] ) => {
31- assertEquals ( e [ StateSymbol ] , state ) ;
31+ assertEquals ( e . state , state ) ;
3232 } ) ;
3333 } ) ;
3434 } ) ,
@@ -37,11 +37,12 @@ test(
3737test (
3838 "factorizeComponent: Add a factory" ,
3939 withDom ( ( ) => {
40+ type ComponentState = { active : boolean } ;
4041 const [ renderSpy , assertRenderSpy ] = factorizeSpy < RenderSpyFunction > ( ) ;
41- const Component = factorizeComponent (
42+ const Component = factorizeComponent < ComponentState > (
4243 renderSpy ,
4344 { active : false } ,
44- ( factorize ) => {
45+ ( ( factorize ) => {
4546 factorize ( ( Component , render ) => {
4647 const _connectedCallback = Component . prototype . connectedCallback ;
4748
@@ -58,11 +59,11 @@ test(
5859 } ,
5960 ) ;
6061 } ) ;
61- } ,
62+ } ) as HOF < ComponentState > ,
6263 ) ;
6364
6465 const e = constructComponent ( Component ) ;
65- e ? .connectedCallback ( ) ;
66+ e . connectedCallback && e . connectedCallback ( ) ;
6667
6768 return deferUntil ( null , ( ) => assertRenderSpy . callCount === 2 )
6869 . then ( ( ) => {
@@ -80,14 +81,15 @@ test(
8081test (
8182 "factorizeComponent: Add a contructor" ,
8283 withDom ( ( ) => {
83- const Component = factorizeComponent (
84+ type ComponentState = { active : boolean }
85+ const Component = factorizeComponent < ComponentState > (
8486 ( ) => { } ,
8587 { active : false } ,
86- ( _ , construct ) => {
88+ ( ( _ , construct ) => {
8789 construct ( ( e ) => {
8890 e . attachShadow ( { mode : "open" } ) ;
8991 } ) ;
90- } ,
92+ } ) as HOF < ComponentState > ,
9193 ) ;
9294
9395 const e = constructComponent ( Component ) ;
@@ -177,13 +179,13 @@ test(
177179
178180 const e = constructComponent ( Component ) ;
179181
180- e ? .adoptedCallback ( ) ;
182+ e . adoptedCallback && e . adoptedCallback ( ) ;
181183
182- e ? .attributeChangedCallback ( "value" , null , "42" ) ;
184+ e . attributeChangedCallback && e . attributeChangedCallback ( "value" , null , "42" ) ;
183185
184- e ? .connectedCallback ( ) ;
186+ e . connectedCallback && e . connectedCallback ( ) ;
185187
186- e ? .disconnectedCallback ( ) ;
188+ e . disconnectedCallback && e . disconnectedCallback ( ) ;
187189
188190 return deferUntilNextFrame ( )
189191 . then ( ( ) => {
@@ -220,9 +222,9 @@ test(
220222test (
221223 "useTemplate" ,
222224 withDom ( ( ) => {
225+ type ComponentState = { active : boolean , count : number }
223226 const [ renderSpy , assertRenderSpy ] = factorizeSpy < RenderSpyFunction > ( ) ;
224-
225- const Component = factorizeComponent ( renderSpy , {
227+ const Component = factorizeComponent < ComponentState > ( renderSpy , {
226228 active : false ,
227229 count : 0 ,
228230 } ) ;
@@ -238,18 +240,18 @@ test(
238240 addButton : ( e ) => e . querySelector ( "button" ) ,
239241 number : ( e ) => e . querySelector ( "span" ) ,
240242 } ,
241- ) ( ( f ) => f ( Component , renderSpy ) ) ;
243+ ) ( ( f ) => f ( Component , renderSpy ) as HOF < ComponentState > ) ;
242244
243245 const e = constructComponent ( Component ) ;
244246
245- e ? .connectedCallback ( ) ;
247+ e . connectedCallback && e . connectedCallback ( ) ;
246248
247249 return deferUntil ( null , ( ) => assertRenderSpy . called )
248250 . then ( ( ) => {
249251 assert ( assertRenderSpy . called ) ;
250252 assertRenderSpy ( ( [ e ] ) => {
251- assert ( e ?. elements . addButton ) ;
252- assert ( e ?. elements . number ) ;
253+ assert ( e ?. elements ? .addButton ) ;
254+ assert ( e ?. elements ? .number ) ;
253255 } ) ;
254256 } ) ;
255257 } ) ,
0 commit comments