from nicegui import ui from .screen import Screen def test_refreshable(screen: Screen) -> None: numbers = [] @ui.refreshable def number_ui() -> None: ui.label('[' + ', '.join(str(n) for n in sorted(numbers)) + ']') number_ui() ui.button('Refresh', on_click=number_ui.refresh) screen.open('/') screen.should_contain('[]') numbers.append(1) screen.click('Refresh') screen.should_contain('[1]') numbers.append(2) screen.click('Refresh') screen.should_contain('[1, 2]') numbers.clear() screen.click('Refresh') screen.should_contain('[]')