Make auto-focus a class var.

Related comments: https://github.com/Textualize/textual/pull/2527\#discussion_r1188776849
This commit is contained in:
Rodrigo Girão Serrão
2023-05-09 16:44:37 +01:00
parent 8d3f69a04d
commit 3245eb38bb
2 changed files with 14 additions and 13 deletions

View File

@@ -170,24 +170,24 @@ async def test_auto_focus():
assert isinstance(app.focused, Button)
app.pop_screen()
MyScreen.auto_focus = None
MyScreen.AUTO_FOCUS = None
await app.push_screen(MyScreen())
assert app.focused is None
app.pop_screen()
MyScreen.auto_focus = "Input"
MyScreen.AUTO_FOCUS = "Input"
await app.push_screen(MyScreen())
assert isinstance(app.focused, Input)
assert app.focused.id == "one"
app.pop_screen()
MyScreen.auto_focus = "#two"
MyScreen.AUTO_FOCUS = "#two"
await app.push_screen(MyScreen())
assert isinstance(app.focused, Input)
assert app.focused.id == "two"
# If we push and pop another screen, focus should be preserved for #two.
MyScreen.auto_focus = None
MyScreen.AUTO_FOCUS = None
await app.push_screen(MyScreen())
assert app.focused is None
app.pop_screen()