@@ -3,31 +3,49 @@ import { classNamesCheck, classNamingCtx } from "."
33import expectToRender from "../expect-to-render"
44import { ClassNames } from "./defs"
55
6- describe ( classNamingCtx . name , ( ) => {
7- it ( "demo" , ( ) => {
8- function Component ( props : ClassNames < true , "class1" | "class2" > ) {
9- const classes = classNamingCtx ( props )
6+ function Component ( props : ClassNames < true , "class1" | "class2" > ) {
7+ const classes = classNamingCtx ( props )
8+ return < >
9+ < div { ...classes ( true , { class1 : true , class2 : false } ) } />
10+ < div { ...classes ( "class2" ) } />
11+ </ >
12+ }
1013
11- return < >
12- < div { ...classes ( true , { class1 : true , class2 : false } ) } />
13- < div { ...classes ( "class2" ) } />
14- </ >
15- }
14+ function App ( { classNames, className} : ClassNames < true , "App__Item" , typeof Component > ) {
15+ return < Component { ...{
16+ ...classNamingCtx ( {
17+ classNames, className
18+ } ) (
19+ true , "App__Item"
20+ ) ,
21+ classNames
22+ } } />
23+ }
1624
17- function App ( { classNames, className} : ClassNames < true , "App__Item" , typeof Component > ) {
18- const classes = classNamingCtx ( { classNames, className} )
25+ describe ( classNamingCtx . name , ( ) => {
26+ it ( "demo" , ( ) => expectToRender (
27+ < App className = "MyApp" classNames = { classNamesCheck ( ) } /> ,
28+ [
29+ '<div class="MyApp App__Item class1"></div>' ,
30+ '<div class="class2"></div>'
31+ ]
32+ ) )
1933
20- return < >
21- < Component { ...classes ( "App__Item" ) } { ...{ classNames} } />
22- </ >
23- }
34+ it ( "forget className" , ( ) => expectToRender (
35+ //@ts -expect-error Property 'className' is missing
36+ < App classNames = { classNamesCheck ( ) } /> ,
37+ [
38+ '<div class="App__Item class1"></div>' ,
39+ '<div class="class2"></div>'
40+ ]
41+ ) )
42+ it ( "forget classNames" , ( ) => expectToRender (
43+ //@ts -expect-error Property 'classNames' is missing
44+ < App className = { "MyApp" } /> ,
45+ [
46+ '<div class="MyApp App__Item class1"></div>' ,
47+ '<div class="class2"></div>'
48+ ]
49+ ) )
2450
25- expectToRender (
26- < App className = "MyApp" classNames = { classNamesCheck ( ) } /> ,
27- [
28- '<div class="App__Item class1"></div>' ,
29- '<div class="class2"></div>'
30- ]
31- )
32- } )
3351} )
0 commit comments