Tests use hyperscript instead of manually constructing nodes

This commit is contained in:
Barney Carroll 2021-04-14 17:05:14 +01:00 committed by Stephan Hoyer
parent 5502570b16
commit 31d2ed4be8
27 changed files with 1515 additions and 1841 deletions

View file

@ -3,6 +3,8 @@
var o = require("ospec")
var domMock = require("../../test-utils/domMock")
var vdom = require("../../render/render")
var m = require("../../render/hyperscript")
m.fragment = require("../../render/fragment")
o.spec("createFragment", function() {
var $window, root, render
@ -13,36 +15,36 @@ o.spec("createFragment", function() {
})
o("creates fragment", function() {
var vnode = {tag: "[", children: [{tag: "a"}]}
render(root, [vnode])
var vnode = m.fragment(m("a"))
render(root, vnode)
o(vnode.dom.nodeName).equals("A")
})
o("handles empty fragment", function() {
var vnode = {tag: "[", children: []}
render(root, [vnode])
var vnode = m.fragment()
render(root, vnode)
o(vnode.dom).equals(null)
o(vnode.domSize).equals(0)
})
o("handles childless fragment", function() {
var vnode = {tag: "["}
render(root, [vnode])
var vnode = m.fragment()
render(root, vnode)
o(vnode.dom).equals(null)
o(vnode.domSize).equals(0)
})
o("handles multiple children", function() {
var vnode = {tag: "[", children: [{tag: "a"}, {tag: "b"}]}
render(root, [vnode])
var vnode = m.fragment(m("a"), m("b"))
render(root, vnode)
o(vnode.domSize).equals(2)
o(vnode.dom.nodeName).equals("A")
o(vnode.dom.nextSibling.nodeName).equals("B")
})
o("handles td", function() {
var vnode = {tag: "[", children: [{tag: "td"}]}
render(root, [vnode])
var vnode = m.fragment(m("td"))
render(root, vnode)
o(vnode.dom).notEquals(null)
o(vnode.dom.nodeName).equals("TD")