parent
6f7f543b07
commit
203df39c30
8 changed files with 84 additions and 183 deletions
|
|
@ -808,7 +808,7 @@ o.spec("component", function() {
|
|||
o(methods[hook].args.length).equals(attrs[hook].args.length)(hook)
|
||||
})
|
||||
})
|
||||
o("recycled components get a fresh state", function() {
|
||||
o("no recycling occurs (was: recycled components get a fresh state)", function() {
|
||||
var step = 0
|
||||
var firstState
|
||||
var view = o.spy(function(vnode) {
|
||||
|
|
@ -827,7 +827,7 @@ o.spec("component", function() {
|
|||
step = 1
|
||||
render(root, [{tag: "div", children: [{tag: component, key: 1}]}])
|
||||
|
||||
o(child).equals(root.firstChild.firstChild)
|
||||
o(child).notEquals(root.firstChild.firstChild) // this used to be a recycling pool test
|
||||
o(view.callCount).equals(2)
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ o.spec("onbeforeupdate", function() {
|
|||
render(root, temp)
|
||||
render(root, updated)
|
||||
|
||||
o(vnodes[0].dom).equals(updated[0].dom)
|
||||
o(vnodes[0].dom).notEquals(updated[0].dom) // this used to be a recycling pool test
|
||||
o(updated[0].dom.nodeName).equals("DIV")
|
||||
o(onbeforeupdate.callCount).equals(0)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ o.spec("onremove", function() {
|
|||
o(vnode.dom.attributes["onremove"]).equals(undefined)
|
||||
o(vnode.events).equals(undefined)
|
||||
})
|
||||
o("calls onremove on recycle", function() {
|
||||
o("calls onremove on keyed nodes", function() {
|
||||
var remove = o.spy()
|
||||
var vnodes = [{tag: "div", key: 1}]
|
||||
var temp = [{tag: "div", key: 2, attrs: {onremove: remove}}]
|
||||
|
|
@ -101,7 +101,7 @@ o.spec("onremove", function() {
|
|||
render(root, temp)
|
||||
render(root, updated)
|
||||
|
||||
o(vnodes[0].dom).equals(updated[0].dom)
|
||||
o(vnodes[0].dom).notEquals(updated[0].dom) // this used to be a recycling pool test
|
||||
o(remove.callCount).equals(1)
|
||||
})
|
||||
o("does not recycle when there's an onremove", function() {
|
||||
|
|
@ -211,7 +211,7 @@ o.spec("onremove", function() {
|
|||
render(root, [temp])
|
||||
render(root, [updated])
|
||||
|
||||
o(vnode.dom).equals(updated.dom)
|
||||
o(vnode.dom).notEquals(updated.dom) // this used to be a recycling pool test
|
||||
o(onremove.callCount).equals(1)
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -237,7 +237,7 @@ o.spec("updateElement", function() {
|
|||
|
||||
o(updated.dom.firstChild.namespaceURI).equals("http://www.w3.org/2000/svg")
|
||||
})
|
||||
o("restores correctly when recycling", function() {
|
||||
o("doesn't restore since we're not recycling", function() {
|
||||
var vnode = {tag: "div", key: 1}
|
||||
var updated = {tag: "div", key: 2}
|
||||
|
||||
|
|
@ -250,9 +250,9 @@ o.spec("updateElement", function() {
|
|||
var c = vnode.dom
|
||||
|
||||
o(root.childNodes.length).equals(1)
|
||||
o(a).equals(c)
|
||||
o(a).notEquals(c) // this used to be a recycling pool test
|
||||
})
|
||||
o("restores correctly when recycling via map", function() {
|
||||
o("doesn't restore since we're not recycling (via map)", function() {
|
||||
var a = {tag: "div", key: 1}
|
||||
var b = {tag: "div", key: 2}
|
||||
var c = {tag: "div", key: 3}
|
||||
|
|
@ -269,6 +269,6 @@ o.spec("updateElement", function() {
|
|||
var y = root.childNodes[1]
|
||||
|
||||
o(root.childNodes.length).equals(3)
|
||||
o(x).equals(y)
|
||||
o(x).notEquals(y) // this used to be a recycling pool test
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -776,7 +776,7 @@ o.spec("updateNodes", function() {
|
|||
o(root.childNodes[0].childNodes[1].childNodes.length).equals(1)
|
||||
o(root.childNodes[1].childNodes.length).equals(0)
|
||||
})
|
||||
o("recycles", function() {
|
||||
o("doesn't recycle", function() {
|
||||
var vnodes = [{tag: "div", key: 1}]
|
||||
var temp = []
|
||||
var updated = [{tag: "div", key: 1}]
|
||||
|
|
@ -785,10 +785,10 @@ o.spec("updateNodes", function() {
|
|||
render(root, temp)
|
||||
render(root, updated)
|
||||
|
||||
o(vnodes[0].dom).equals(updated[0].dom)
|
||||
o(vnodes[0].dom).notEquals(updated[0].dom) // this used to be a recycling pool test
|
||||
o(updated[0].dom.nodeName).equals("DIV")
|
||||
})
|
||||
o("recycles when not keyed", function() {
|
||||
o("doesn't recycle when not keyed", function() {
|
||||
var vnodes = [{tag: "div"}]
|
||||
var temp = []
|
||||
var updated = [{tag: "div"}]
|
||||
|
|
@ -798,19 +798,22 @@ o.spec("updateNodes", function() {
|
|||
render(root, updated)
|
||||
|
||||
o(root.childNodes.length).equals(1)
|
||||
o(vnodes[0].dom).equals(updated[0].dom)
|
||||
o(vnodes[0].dom).notEquals(updated[0].dom) // this used to be a recycling pool test
|
||||
o(updated[0].dom.nodeName).equals("DIV")
|
||||
})
|
||||
o("recycles deep", function() {
|
||||
o("doesn't recycle deep", function() {
|
||||
var vnodes = [{tag: "div", children: [{tag: "a", key: 1}]}]
|
||||
var temp = [{tag: "div"}]
|
||||
var updated = [{tag: "div", children: [{tag: "a", key: 1}]}]
|
||||
|
||||
render(root, vnodes)
|
||||
|
||||
var oldChild = vnodes[0].dom.firstChild
|
||||
|
||||
render(root, temp)
|
||||
render(root, updated)
|
||||
|
||||
o(vnodes[0].dom.firstChild).equals(updated[0].dom.firstChild)
|
||||
o(oldChild).notEquals(updated[0].dom.firstChild) // this used to be a recycling pool test
|
||||
o(updated[0].dom.firstChild.nodeName).equals("A")
|
||||
})
|
||||
o("mixed unkeyed tags are not broken by recycle", function() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue