Skip to content

Commit 53b68ee

Browse files
committed
Containment
1 parent 3b84538 commit 53b68ee

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

dom/src/test/scala/com/thoughtworks/binding/ComponentModel.scala

+9-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.thoughtworks.binding
22

3-
import com.thoughtworks.binding.Binding.Var
3+
import com.thoughtworks.binding.Binding.{BindingSeq, Constants}
44
import com.thoughtworks.binding.dom.Runtime.TagsAndTags2
5+
import org.scalajs.dom.Node
56
import org.scalatest.{FreeSpec, Matchers}
67
import org.scalajs.dom.html.Div
78
import scalatags.JsDom
@@ -12,15 +13,13 @@ import scalatags.JsDom
1213
class ComponentModel extends FreeSpec with Matchers {
1314

1415
"@dom method component" in {
15-
@dom def dialog(id: String, caption: Binding[String]): Binding[Div] = <div id={id} class="dialog" data:dialog-caption={caption.bind}/>
16+
@dom def dialog(children: BindingSeq[Node]): Binding[Div] = <div class="dialog">{children}</div>
1617

17-
val caption = Var("Caption")
18-
@dom val html = <div>{dialog("message", caption).bind}</div>
18+
@dom val warning = Some(<div>warning</div>)
19+
@dom val html = <div>{dialog(Constants(<div>Some text</div> +: warning.bind.toSeq:_*)).bind}</div>
1920
html.watch()
2021

21-
assert(html.value.outerHTML == """<div><div dialog-caption="Caption" class="dialog" id="message"/></div>""")
22-
caption.value = "New caption"
23-
assert(html.value.outerHTML == """<div><div dialog-caption="New caption" class="dialog" id="message"/></div>""")
22+
assert(html.value.outerHTML == """<div><div class="dialog"><div>Some text</div><div>warning</div></div></div>""")
2423
}
2524

2625
"user defined tag component" in {
@@ -49,13 +48,11 @@ class ComponentModel extends FreeSpec with Matchers {
4948
val dialog = Dialog
5049
}
5150

52-
val caption = Var("Caption")
53-
@dom val html = <div><dialog id="message" caption={caption.bind}/></div>
51+
@dom val warning = Some(<div>warning</div>)
52+
@dom val html = <div><dialog><div>Some text</div>{warning.bind}</dialog></div>
5453
html.watch()
5554

56-
assert(html.value.outerHTML == """<div><div class="dialog" dialog-caption="Caption" id="message"/></div>""")
57-
caption.value = "New caption"
58-
assert(html.value.outerHTML == """<div><div class="dialog" dialog-caption="New caption" id="message"/></div>""")
55+
assert(html.value.outerHTML == """<div><div class="dialog"><div>Some text</div><div>warning</div></div></div>""")
5956
}
6057

6158
}

0 commit comments

Comments
 (0)