File tree 2 files changed +23
-1
lines changed
2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -411,7 +411,13 @@ class ComboBox extends UI5Element {
411
411
this . filterValue = value ;
412
412
this . fireEvent ( "input" ) ;
413
413
414
- this . _openRespPopover ( ) ;
414
+ this . _filteredItems = this . _filterItems ( value ) ;
415
+
416
+ if ( ! this . _filteredItems . length ) {
417
+ this . _closeRespPopover ( ) ;
418
+ } else {
419
+ this . _openRespPopover ( ) ;
420
+ }
415
421
}
416
422
417
423
_startsWithMatchingItems ( str ) {
Original file line number Diff line number Diff line change @@ -57,17 +57,33 @@ describe("General interaction", () => {
57
57
const popover = browser . $ ( `.${ staticAreaItemClassName } ` ) . shadow$ ( "ui5-responsive-popover" ) ;
58
58
let listItems = popover . $ ( "ui5-list" ) . $$ ( "ui5-li" ) ;
59
59
60
+ // act
60
61
arrow . click ( ) ;
61
62
63
+ // assert
62
64
assert . strictEqual ( listItems . length , 11 , "Items should be 11" ) ;
63
65
66
+ // act
64
67
input . keys ( "a" ) ;
68
+
69
+ // assert
65
70
listItems = popover . $ ( "ui5-list" ) . $$ ( "ui5-li" ) ;
66
71
assert . strictEqual ( listItems . length , 5 , "Items should be 5" ) ;
67
72
73
+ // act
68
74
input . keys ( "u" ) ;
75
+
76
+ // assert
69
77
listItems = popover . $ ( "ui5-list" ) . $$ ( "ui5-li" ) ;
70
78
assert . strictEqual ( listItems . length , 2 , "Items should be 2" ) ;
79
+
80
+ // act
81
+ input . keys ( "zzz" ) ;
82
+ listItems = popover . $ ( "ui5-list" ) . $$ ( "ui5-li" ) ;
83
+
84
+ // assert
85
+ assert . strictEqual ( listItems . length , 0 , "Items should be 0" ) ;
86
+ assert . notOk ( popover . getProperty ( "opened" ) , "Popover should close" ) ;
71
87
} ) ;
72
88
73
89
it ( "Tests change event" , ( ) => {
You can’t perform that action at this time.
0 commit comments