From 0566b04a0ff9c5a7206e803f4fc7f497d1c4a31f Mon Sep 17 00:00:00 2001 From: Pierre-Yves Gerardy Date: Fri, 29 Jul 2016 15:23:06 +0200 Subject: [PATCH] Add test for `onbeforeremove` context. --- render/tests/test-onbeforeremove.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/render/tests/test-onbeforeremove.js b/render/tests/test-onbeforeremove.js index a289b055..69b1dc48 100644 --- a/render/tests/test-onbeforeremove.js +++ b/render/tests/test-onbeforeremove.js @@ -35,13 +35,17 @@ o.spec("onbeforeremove", function() { o(update.callCount).equals(0) }) o("calls onbeforeremove when removing element", function(done) { - var vnode = {tag: "div", attrs: {onbeforeremove: remove}} + var vnode = {tag: "div", attrs: { + oninit: function(){vnode.state = {}}, + onbeforeremove: remove + }} render(root, [vnode]) render(root, []) function remove(node, complete) { o(node).equals(vnode) + o(this).equals(vnode.state) o(root.childNodes.length).equals(1) o(root.firstChild).equals(vnode.dom) @@ -147,6 +151,7 @@ o.spec("onbeforeremove", function() { }) } }) + o("does not set onbeforeremove as an event handler", function() { var remove = o.spy() var vnode = {tag: "div", attrs: {onbeforeremove: remove}, children: []} @@ -156,6 +161,7 @@ o.spec("onbeforeremove", function() { o(vnode.dom.onbeforeremove).equals(undefined) o(vnode.dom.attributes["onbeforeremove"]).equals(undefined) }) + o("does not recycle when there's an onbeforeremove", function() { var remove = function(vnode, done) {done()} var vnode = {tag: "div", key: 1, attrs: {onbeforeremove: remove}} @@ -167,4 +173,8 @@ o.spec("onbeforeremove", function() { o(vnode.dom).notEquals(updated.dom) }) + + o("sets the onbeforeremove context to vnode.state", function(){ + var handler = o.spy() + }) })