From 9aced410f9034fd2e3896d2324a7498975df9c6a Mon Sep 17 00:00:00 2001 From: Kaede Hoshikawa Date: Thu, 15 Sep 2022 21:24:24 +0900 Subject: [PATCH] Fix CI. --- packages/yew/src/html/component/lifecycle.rs | 30 +++++++++----------- packages/yew/tests/suspense.rs | 4 +-- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/packages/yew/src/html/component/lifecycle.rs b/packages/yew/src/html/component/lifecycle.rs index 67ad626c4bf..fca8ee27b7c 100644 --- a/packages/yew/src/html/component/lifecycle.rs +++ b/packages/yew/src/html/component/lifecycle.rs @@ -297,6 +297,17 @@ impl ComponentState { .downcast_ref::>() .map(|m| &m.component) } + + fn resume_existing_suspension(&mut self) { + if let Some(m) = self.suspension.take() { + let comp_scope = self.inner.any_scope(); + + let suspense_scope = comp_scope.find_parent_scope::().unwrap(); + let suspense = suspense_scope.get_component().unwrap(); + + suspense.resume(m); + } + } } pub(crate) struct CreateRunner { @@ -370,6 +381,7 @@ impl ComponentState { )] fn destroy(mut self, parent_to_detach: bool) { self.inner.destroy(); + self.resume_existing_suspension(); match self.render_state { #[cfg(feature = "csr")] @@ -403,15 +415,6 @@ impl ComponentState { let _ = parent_to_detach; } } - - if let Some(m) = self.suspension.take() { - let comp_scope = self.inner.any_scope(); - - let suspense_scope = comp_scope.find_parent_scope::().unwrap(); - let suspense = suspense_scope.get_component().unwrap(); - - suspense.resume(m); - } } } @@ -488,14 +491,7 @@ impl ComponentState { fn commit_render(&mut self, shared_state: &Shared>, new_root: Html) { // Currently not suspended, we remove any previous suspension and update // normally. - if let Some(m) = self.suspension.take() { - let comp_scope = self.inner.any_scope(); - - let suspense_scope = comp_scope.find_parent_scope::().unwrap(); - let suspense = suspense_scope.get_component().unwrap(); - - suspense.resume(m); - } + self.resume_existing_suspension(); match self.render_state { #[cfg(feature = "csr")] diff --git a/packages/yew/tests/suspense.rs b/packages/yew/tests/suspense.rs index e207dcb02a9..0183413f796 100644 --- a/packages/yew/tests/suspense.rs +++ b/packages/yew/tests/suspense.rs @@ -716,7 +716,7 @@ async fn test_suspend_forever() { let content = if *page == 1 { html! { } } else { - html! {

{"Page 2"}

} + html! {
{"OK"}
} }; html! { @@ -732,5 +732,5 @@ async fn test_suspend_forever() { sleep(Duration::from_millis(1500)).await; let result = obtain_result(); - assert_eq!(result.as_str(), r#"

Page 2

"#); + assert_eq!(result.as_str(), r#"OK"#); }