11import * as React from 'react' ;
22
33import Select from '..' ;
4- import type { SelectProps } from '..' ;
4+ import type { SelectClassNamesType , SelectProps } from '..' ;
55import { render } from '../../../tests/utils' ;
66
77describe ( 'Select.Semantic' , ( ) => {
@@ -28,7 +28,7 @@ describe('Select.Semantic', () => {
2828 list : 'custom-list' ,
2929 listItem : 'custom-list-item' ,
3030 } ,
31- } ;
31+ } satisfies SelectClassNamesType ;
3232 const styles = {
3333 root : { color : 'rgb(255, 0, 0)' } ,
3434 prefix : { color : 'rgb(0, 128, 255)' } ,
@@ -60,9 +60,9 @@ describe('Select.Semantic', () => {
6060 expect ( container . querySelector ( `.${ classNames . placeholder } ` ) ) . toHaveStyle ( styles . placeholder ) ;
6161 expect ( container . querySelector ( `.${ classNames . input } ` ) ) . toHaveStyle ( styles . input ) ;
6262 expect ( container . querySelector ( `.${ classNames . content } ` ) ) . toHaveStyle ( styles . content ) ;
63- expect ( container . querySelector ( `.${ classNames . popup . root } ` ) ) . toHaveStyle ( styles . popup . root ) ;
64- expect ( container . querySelector ( `.${ classNames . popup . list } ` ) ) . toHaveStyle ( styles . popup . list ) ;
65- expect ( container . querySelector ( `.${ classNames . popup . listItem } ` ) ) . toHaveStyle (
63+ expect ( container . querySelector ( `.${ classNames . popup ? .root } ` ) ) . toHaveStyle ( styles . popup . root ) ;
64+ expect ( container . querySelector ( `.${ classNames . popup ? .list } ` ) ) . toHaveStyle ( styles . popup . list ) ;
65+ expect ( container . querySelector ( `.${ classNames . popup ? .listItem } ` ) ) . toHaveStyle (
6666 styles . popup . listItem ,
6767 ) ;
6868 } ) ;
@@ -72,16 +72,22 @@ describe('Select.Semantic', () => {
7272 root : 'custom-root' ,
7373 prefix : 'custom-prefix' ,
7474 suffix : 'custom-suffix' ,
75+ item : 'custom-item' ,
76+ itemContent : 'custom-item-content' ,
77+ itemRemove : 'custom-item-remove' ,
7578 popup : {
7679 root : 'custom-popup' ,
7780 list : 'custom-list' ,
7881 listItem : 'custom-list-item' ,
7982 } ,
80- } ;
83+ } satisfies SelectClassNamesType ;
8184 const customStyles = {
8285 root : { color : 'rgb(255, 0, 0)' } ,
8386 prefix : { color : 'rgb(0, 128, 255)' } ,
8487 suffix : { color : 'rgb(255, 128, 0)' } ,
88+ item : { background : 'rgb(255, 255, 240)' } ,
89+ itemContent : { color : 'rgb(128, 0, 128)' } ,
90+ itemRemove : { color : 'rgb(255, 0, 0)' } ,
8591 popup : {
8692 root : { color : 'rgb(128, 0, 128)' } ,
8793 list : { color : 'rgb(0, 0, 255)' } ,
@@ -107,6 +113,9 @@ describe('Select.Semantic', () => {
107113 const list = container . querySelector ( '.rc-virtual-list' ) ;
108114 const listItem = container . querySelector ( '.ant-select-item' ) ;
109115 const popup = container . querySelector ( '.ant-select-dropdown' ) ;
116+ const item = container . querySelector ( '.ant-select-selection-item' ) ;
117+ const itemContent = container . querySelector ( '.ant-select-selection-item-content' ) ;
118+ const itemRemove = container . querySelector ( '.ant-select-selection-item-remove' ) ;
110119
111120 expect ( root ) . toHaveClass ( customClassNames . root ) ;
112121 expect ( prefix ) . toHaveClass ( customClassNames . prefix ) ;
@@ -120,6 +129,15 @@ describe('Select.Semantic', () => {
120129 if ( popup ) {
121130 expect ( popup ) . toHaveClass ( customClassNames . popup . root ) ;
122131 }
132+ if ( item ) {
133+ expect ( item ) . toHaveClass ( customClassNames . item ) ;
134+ }
135+ if ( itemContent ) {
136+ expect ( itemContent ) . toHaveClass ( customClassNames . itemContent ) ;
137+ }
138+ if ( itemRemove ) {
139+ expect ( itemRemove ) . toHaveClass ( customClassNames . itemRemove ) ;
140+ }
123141
124142 expect ( root ) . toHaveStyle ( customStyles . root ) ;
125143 expect ( prefix ) . toHaveStyle ( customStyles . prefix ) ;
@@ -133,6 +151,15 @@ describe('Select.Semantic', () => {
133151 if ( popup ) {
134152 expect ( popup ) . toHaveStyle ( customStyles . popup . root ) ;
135153 }
154+ if ( item ) {
155+ expect ( item ) . toHaveStyle ( customStyles . item ) ;
156+ }
157+ if ( itemContent ) {
158+ expect ( itemContent ) . toHaveStyle ( customStyles . itemContent ) ;
159+ }
160+ if ( itemRemove ) {
161+ expect ( itemRemove ) . toHaveStyle ( customStyles . itemRemove ) ;
162+ }
136163 } ) ;
137164
138165 it ( 'should support function-based classNames and styles' , ( ) => {
0 commit comments