From ba487e212343dc3336d68a973a1797e2a8078b4c Mon Sep 17 00:00:00 2001 From: Finn Bear Date: Wed, 11 Sep 2024 13:00:01 -0700 Subject: [PATCH] Attempt to stop tests from interferring with each other. --- packages/yew-router/tests/link.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/yew-router/tests/link.rs b/packages/yew-router/tests/link.rs index 028ce86657c..abad4265fc2 100644 --- a/packages/yew-router/tests/link.rs +++ b/packages/yew-router/tests/link.rs @@ -1,3 +1,4 @@ +use std::sync::Mutex; use std::time::Duration; use serde::{Deserialize, Serialize}; @@ -80,6 +81,10 @@ fn navigation_menu() -> Html { } } +/// When multiple tests use browser router, and at least one has a base name, +/// can't run them at the same time. +static BROWSER_ROUTER: Mutex<()> = Mutex::new(()); + #[function_component(RootForBrowserRouter)] fn root_for_browser_router() -> Html { html! { @@ -91,6 +96,7 @@ fn root_for_browser_router() -> Html { #[test] async fn link_in_browser_router() { + let _guard = BROWSER_ROUTER.lock().unwrap(); let div = gloo::utils::document().create_element("div").unwrap(); let _ = div.set_attribute("id", "browser-router"); let _ = gloo::utils::body().append_child(&div); @@ -113,9 +119,9 @@ async fn link_in_browser_router() { "/search?q=Rust&lang=en_US", link_href("#browser-router ul > li.search-q-lang > a") ); + drop(_guard); } -/* #[function_component(RootForBasename)] fn root_for_basename() -> Html { html! { @@ -127,6 +133,7 @@ fn root_for_basename() -> Html { #[test] async fn link_with_basename() { + let _guard = BROWSER_ROUTER.lock().unwrap(); let div = gloo::utils::document().create_element("div").unwrap(); let _ = div.set_attribute("id", "with-basename"); let _ = gloo::utils::body().append_child(&div); @@ -152,8 +159,8 @@ async fn link_with_basename() { "/base/search?q=Rust&lang=en_US", link_href("#with-basename ul > li.search-q-lang > a") ); + drop(_guard); } -*/ #[function_component(RootForHashRouter)] fn root_for_hash_router() -> Html {