diff --git a/packages/yew/src/html/mod.rs b/packages/yew/src/html/mod.rs index 08c96a576..28fa84af2 100644 --- a/packages/yew/src/html/mod.rs +++ b/packages/yew/src/html/mod.rs @@ -134,9 +134,10 @@ mod feat_csr { /// Link a downstream `NodeRef` pub(crate) fn link(&self, node_ref: Self) { // Avoid circular references - if self == &node_ref { - return; - } + debug_assert!( + self != &node_ref, + "no circular references allowed! Report this as a bug in yew" + ); let mut this = self.0.borrow_mut(); this.node = None; @@ -203,30 +204,3 @@ mod feat_hydration { pub fn create_portal(child: Html, host: Element) -> Html { VNode::VPortal(VPortal::new(child, host)) } - -#[cfg(target_arch = "wasm32")] -#[cfg(test)] -mod tests { - use gloo::utils::document; - use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure}; - - use super::*; - - wasm_bindgen_test_configure!(run_in_browser); - - #[test] - fn self_linking_node_ref() { - let node: Node = document().create_text_node("test node").into(); - let node_ref = NodeRef::new(node.clone()); - let node_ref_2 = NodeRef::new(node.clone()); - - // Link to self - node_ref.link(node_ref.clone()); - assert_eq!(node, node_ref.get().unwrap()); - - // Create cycle of two node refs - node_ref.link(node_ref_2.clone()); - node_ref_2.link(node_ref); - assert_eq!(node, node_ref_2.get().unwrap()); - } -}