|
@@ -140,3 +140,28 @@ def test_add_new_values(screen: Screen, option_dict: bool, multiple: bool, new_
|
|
|
screen.should_contain("value = ['a']" if multiple else 'value = None')
|
|
|
screen.should_contain("options = {'a': 'A', 'b': 'B', 'c': 'C'}" if option_dict else
|
|
|
"options = ['a', 'b', 'c']")
|
|
|
+
|
|
|
+
|
|
|
+def test_keep_filtered_options(screen: Screen):
|
|
|
+ ui.select(options=['A1', 'A2', 'B1', 'B2'], with_input=True, multiple=True)
|
|
|
+
|
|
|
+ screen.open('/')
|
|
|
+ screen.find_by_tag('input').click()
|
|
|
+ screen.should_contain('A1')
|
|
|
+ screen.should_contain('A2')
|
|
|
+ screen.should_contain('B1')
|
|
|
+ screen.should_contain('B2')
|
|
|
+
|
|
|
+ screen.find_by_tag('input').send_keys('A')
|
|
|
+ screen.wait(0.5)
|
|
|
+ screen.should_contain('A1')
|
|
|
+ screen.should_contain('A2')
|
|
|
+ screen.should_not_contain('B1')
|
|
|
+ screen.should_not_contain('B2')
|
|
|
+
|
|
|
+ screen.click('A1')
|
|
|
+ screen.wait(0.5)
|
|
|
+ screen.should_contain('A1')
|
|
|
+ screen.should_contain('A2')
|
|
|
+ screen.should_not_contain('B1')
|
|
|
+ screen.should_not_contain('B2')
|