test_refreshable.py 615 B

1234567891011121314151617181920212223242526272829
  1. from nicegui import ui
  2. from .screen import Screen
  3. def test_refreshable(screen: Screen) -> None:
  4. numbers = []
  5. @ui.refreshable
  6. def number_ui() -> None:
  7. ui.label('[' + ', '.join(str(n) for n in sorted(numbers)) + ']')
  8. number_ui()
  9. ui.button('Refresh', on_click=number_ui.refresh)
  10. screen.open('/')
  11. screen.should_contain('[]')
  12. numbers.append(1)
  13. screen.click('Refresh')
  14. screen.should_contain('[1]')
  15. numbers.append(2)
  16. screen.click('Refresh')
  17. screen.should_contain('[1, 2]')
  18. numbers.clear()
  19. screen.click('Refresh')
  20. screen.should_contain('[]')