Skip to content

Commit

Permalink
zauberzeug#285 add tests for all possible event registrations
Browse files Browse the repository at this point in the history
  • Loading branch information
falkoschindler committed Jan 27, 2023
1 parent 8ed3eb4 commit 394926f
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions tests/test_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,65 @@
from selenium.webdriver.common.by import By

from nicegui import ui
from nicegui.events import ClickEventArguments

from .screen import Screen


def click_sync_no_args():
ui.label('click_sync_no_args')


def click_sync_with_args(_: ClickEventArguments):
ui.label('click_sync_with_args')


async def click_async_no_args():
await asyncio.sleep(0.1)
ui.label('click_async_no_args')


async def click_async_with_args(_: ClickEventArguments):
await asyncio.sleep(0.1)
ui.label('click_async_with_args')


def test_click_events(screen: Screen):
ui.button('click_sync_no_args', on_click=click_sync_no_args)
ui.button('click_sync_with_args', on_click=click_sync_with_args)
ui.button('click_async_no_args', on_click=click_async_no_args)
ui.button('click_async_with_args', on_click=click_async_with_args)

screen.open('/')
screen.click('click_sync_no_args')
screen.click('click_sync_with_args')
screen.click('click_async_no_args')
screen.click('click_async_with_args')
screen.wait(0.5)
screen.should_contain('click_sync_no_args')
screen.should_contain('click_sync_with_args')
screen.should_contain('click_async_no_args')
screen.should_contain('click_async_with_args')


def test_generic_events(screen: Screen):
ui.label('click_sync_no_args').on('click', click_sync_no_args)
ui.label('click_sync_with_args').on('click', click_sync_with_args)
ui.label('click_async_no_args').on('click', click_async_no_args)
ui.label('click_async_with_args').on('click', click_async_with_args)

screen.open('/')
screen.click('click_sync_no_args')
screen.click('click_sync_with_args')
screen.click('click_async_no_args')
screen.click('click_async_with_args')
screen.wait(0.5)
screen.should_contain('click_sync_no_args')
screen.should_contain('click_sync_with_args')
screen.should_contain('click_async_no_args')
screen.should_contain('click_async_with_args')


def test_event_with_update_before_await(screen: Screen):
@ui.page('/')
def page():
Expand Down

0 comments on commit 394926f

Please sign in to comment.