test_auto_context.py 1018 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import asyncio
  2. from nicegui import ui
  3. from .screen import Screen
  4. def test_adding_element_to_shared_index_page(screen: Screen):
  5. ui.button('add label', on_click=lambda: ui.label('added'))
  6. screen.open('/')
  7. screen.click('add label')
  8. screen.should_contain('added')
  9. def test_adding_element_to_private_page(screen: Screen):
  10. @ui.page('/')
  11. def page():
  12. ui.button('add label', on_click=lambda: ui.label('added'))
  13. screen.open('/')
  14. screen.click('add label')
  15. screen.should_contain('added')
  16. def test_adding_elements_with_async_await(screen: Screen):
  17. async def add_a():
  18. await asyncio.sleep(0.1)
  19. ui.label('A')
  20. async def add_b():
  21. await asyncio.sleep(0.1)
  22. ui.label('B')
  23. with ui.card():
  24. ui.timer(1.0, add_a, once=True)
  25. with ui.card():
  26. ui.timer(1.1, add_b, once=True)
  27. screen.open('/')
  28. assert '''
  29. card
  30. A
  31. card
  32. B
  33. ''' in screen.render_content(), f'{screen.render_content()} should show cards with "A" and "B"'