diff --git a/yew/src/html/scope.rs b/yew/src/html/scope.rs
index 2ad669d423e..cdaba64ff87 100644
--- a/yew/src/html/scope.rs
+++ b/yew/src/html/scope.rs
@@ -30,9 +30,9 @@ pub(crate) enum ComponentUpdate {
/// Untyped scope used for accessing parent scope
#[derive(Debug, Clone)]
pub struct AnyScope {
- type_id: TypeId,
- parent: Option>,
- state: Rc,
+ pub(crate) type_id: TypeId,
+ pub(crate) parent: Option>,
+ pub(crate) state: Rc,
}
impl From> for AnyScope {
diff --git a/yew/src/virtual_dom/vtag.rs b/yew/src/virtual_dom/vtag.rs
index bcd7c91ec55..4c770bf32cb 100644
--- a/yew/src/virtual_dom/vtag.rs
+++ b/yew/src/virtual_dom/vtag.rs
@@ -507,6 +507,7 @@ where
mod tests {
use super::*;
use crate::{html, Component, ComponentLink, Html, ShouldRender};
+ use std::any::TypeId;
#[cfg(feature = "std_web")]
use stdweb::web::{document, IElement};
#[cfg(feature = "wasm_test")]
@@ -515,6 +516,14 @@ mod tests {
#[cfg(feature = "wasm_test")]
wasm_bindgen_test_configure!(run_in_browser);
+ fn test_scope() -> AnyScope {
+ AnyScope {
+ type_id: TypeId::of::<()>(),
+ parent: None,
+ state: Rc::new(()),
+ }
+ }
+
struct Comp;
impl Component for Comp {
@@ -839,7 +848,7 @@ mod tests {
#[cfg(feature = "web_sys")]
let document = web_sys::window().unwrap().document().unwrap();
- let scope = AnyScope::default();
+ let scope = test_scope();
let div_el = document.create_element("div").unwrap();
let namespace = SVG_NAMESPACE;
#[cfg(feature = "web_sys")]
@@ -982,7 +991,7 @@ mod tests {
#[test]
fn it_does_not_set_empty_class_name() {
- let scope = AnyScope::default();
+ let scope = test_scope();
let parent = document().create_element("div").unwrap();
#[cfg(feature = "std_web")]
@@ -999,7 +1008,7 @@ mod tests {
#[test]
fn it_does_not_set_missing_class_name() {
- let scope = AnyScope::default();
+ let scope = test_scope();
let parent = document().create_element("div").unwrap();
#[cfg(feature = "std_web")]
@@ -1016,7 +1025,7 @@ mod tests {
#[test]
fn it_sets_class_name() {
- let scope = AnyScope::default();
+ let scope = test_scope();
let parent = document().create_element("div").unwrap();
#[cfg(feature = "std_web")]
@@ -1072,7 +1081,7 @@ mod tests {
#[test]
fn swap_order_of_classes() {
- let scope = AnyScope::default();
+ let scope = test_scope();
let parent = document().create_element("div").unwrap();
#[cfg(feature = "std_web")]
@@ -1123,7 +1132,7 @@ mod tests {
#[test]
fn add_class_to_the_middle() {
- let scope = AnyScope::default();
+ let scope = test_scope();
let parent = document().create_element("div").unwrap();
#[cfg(feature = "std_web")]