@@ -207,5 +207,57 @@ describe('filtered-list', () => {
207
207
expect ( element . children [ 5 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
208
208
expect ( element . children [ 6 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
209
209
} ) ;
210
+
211
+ it ( 'allows filtering with a ? wildcard' , async ( ) => {
212
+ element . searchField . value = 'item?' ;
213
+ element . onFilterInput ( ) ;
214
+ element . requestUpdate ( ) ;
215
+ await element . updateComplete ;
216
+ expect ( element . children [ 0 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
217
+ expect ( element . children [ 1 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
218
+ expect ( element . children [ 2 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
219
+ expect ( element . children [ 3 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
220
+ expect ( element . children [ 4 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
221
+ expect ( element . children [ 5 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
222
+ } ) ;
223
+
224
+ it ( 'allows filtering with a * wildcard' , async ( ) => {
225
+ element . searchField . value = 'te*sec' ;
226
+ element . onFilterInput ( ) ;
227
+ element . requestUpdate ( ) ;
228
+ await element . updateComplete ;
229
+ expect ( element . children [ 0 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
230
+ expect ( element . children [ 1 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
231
+ expect ( element . children [ 2 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
232
+ expect ( element . children [ 3 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
233
+ expect ( element . children [ 4 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
234
+ expect ( element . children [ 5 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
235
+ } ) ;
236
+
237
+ it ( 'allows filtering with two ? wildcards' , async ( ) => {
238
+ element . searchField . value = 'nest??item' ;
239
+ element . onFilterInput ( ) ;
240
+ element . requestUpdate ( ) ;
241
+ await element . updateComplete ;
242
+ expect ( element . children [ 0 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
243
+ expect ( element . children [ 1 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
244
+ expect ( element . children [ 2 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
245
+ expect ( element . children [ 3 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
246
+ expect ( element . children [ 4 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
247
+ expect ( element . children [ 5 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
248
+ } ) ;
249
+
250
+ it ( 'allows filtering with a * and ? wildcard' , async ( ) => {
251
+ element . searchField . value = 'n*tem?' ;
252
+ element . onFilterInput ( ) ;
253
+ element . requestUpdate ( ) ;
254
+ await element . updateComplete ;
255
+ expect ( element . children [ 0 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
256
+ expect ( element . children [ 1 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
257
+ expect ( element . children [ 2 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
258
+ expect ( element . children [ 3 ] . classList . contains ( 'hidden' ) ) . to . be . true ;
259
+ expect ( element . children [ 4 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
260
+ expect ( element . children [ 5 ] . classList . contains ( 'hidden' ) ) . to . be . false ;
261
+ } ) ;
210
262
} ) ;
211
263
} ) ;
0 commit comments