浏览代码

add a test for derefing signals to a closure

Evan Almloff 1 年之前
父节点
当前提交
87dae6a41f
共有 1 个文件被更改,包括 24 次插入0 次删除
  1. 24 0
      packages/signals/tests/create.rs

+ 24 - 0
packages/signals/tests/create.rs

@@ -29,6 +29,30 @@ fn create_signals_global() {
     }
     }
 }
 }
 
 
+#[test]
+fn deref_signal() {
+    let mut dom = VirtualDom::new(|cx| {
+        render! {
+            for _ in 0..10 {
+                Child {}
+            }
+        }
+    });
+
+    fn Child(cx: Scope) -> Element {
+        let signal = Signal::new("hello world".to_string());
+
+        // You can call signals like functions to get a Ref of their value.
+        assert_eq!(&*signal(), "hello world");
+
+        render! {
+            "hello world"
+        }
+    }
+
+    let _edits = dom.rebuild().santize();
+}
+
 #[test]
 #[test]
 fn drop_signals() {
 fn drop_signals() {
     let mut dom = VirtualDom::new(|cx| {
     let mut dom = VirtualDom::new(|cx| {