mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Allow zero items to be passed to add_options and do zero work
This commit is contained in:
@@ -520,6 +520,9 @@ class OptionList(ScrollView, can_focus=True):
|
||||
Raises:
|
||||
DuplicateID: If there is an attempt to use a duplicate ID.
|
||||
"""
|
||||
# Only work if we have items to add; but don't make a fuss out of
|
||||
# zero items to add, just carry on like nothing happened.
|
||||
if items:
|
||||
# Turn any incoming values into valid content for the list.
|
||||
content = [self._make_content(item) for item in items]
|
||||
self._contents.extend(content)
|
||||
|
||||
@@ -110,6 +110,10 @@ async def test_add_later() -> None:
|
||||
[Option("more still"), "Yet more options", "so many options!"]
|
||||
)
|
||||
assert option_list.option_count == 10
|
||||
option_list.add_option(None)
|
||||
assert option_list.option_count == 10
|
||||
option_list.add_options([])
|
||||
assert option_list.option_count == 10
|
||||
|
||||
|
||||
async def test_create_with_duplicate_id() -> None:
|
||||
|
||||
Reference in New Issue
Block a user