|  | 
| 8 | 8 | from reactpy_router import browser_router, link, navigate, route, use_params, use_search_params | 
| 9 | 9 | 
 | 
| 10 | 10 | GITHUB_ACTIONS = os.getenv("GITHUB_ACTIONS", "").lower() == "true" | 
| 11 |  | -CLICK_DELAY = 350 if GITHUB_ACTIONS else 25  # Delay in miliseconds. | 
|  | 11 | +CLICK_DELAY = 400 if GITHUB_ACTIONS else 25  # Delay in miliseconds. | 
| 12 | 12 | 
 | 
| 13 | 13 | 
 | 
| 14 | 14 | async def test_simple_router(display: DisplayFixture): | 
| @@ -334,3 +334,30 @@ def sample(): | 
| 334 | 334 |     await display.page.wait_for_selector("#b") | 
| 335 | 335 |     await display.page.go_back() | 
| 336 | 336 |     await display.page.wait_for_selector("#nav-a") | 
|  | 337 | + | 
|  | 338 | + | 
|  | 339 | +async def test_navigate_component_to_current_url(display: DisplayFixture): | 
|  | 340 | +    @component | 
|  | 341 | +    def navigate_btn(to: str, html_id: str, replace: bool = False): | 
|  | 342 | +        nav_url, set_nav_url = use_state("") | 
|  | 343 | + | 
|  | 344 | +        return html.button( | 
|  | 345 | +            {"onClick": lambda _: set_nav_url(to), "id": html_id}, | 
|  | 346 | +            navigate(nav_url, replace) if nav_url else f"Navigate to {to}", | 
|  | 347 | +        ) | 
|  | 348 | + | 
|  | 349 | +    @component | 
|  | 350 | +    def sample(): | 
|  | 351 | +        return browser_router( | 
|  | 352 | +            route("/", navigate_btn("/a", "root-a")), | 
|  | 353 | +            route("/a", navigate_btn("/a", "nav-a")), | 
|  | 354 | +        ) | 
|  | 355 | + | 
|  | 356 | +    await display.show(sample) | 
|  | 357 | +    _button = await display.page.wait_for_selector("#root-a") | 
|  | 358 | +    await _button.click(delay=CLICK_DELAY) | 
|  | 359 | +    _button = await display.page.wait_for_selector("#nav-a") | 
|  | 360 | +    await _button.click(delay=CLICK_DELAY) | 
|  | 361 | +    await display.page.wait_for_selector("#nav-a") | 
|  | 362 | +    await display.page.go_back() | 
|  | 363 | +    await display.page.wait_for_selector("#root-a") | 
0 commit comments