From 45afd4117ac23663f7037a34f4e4ac674126fdce Mon Sep 17 00:00:00 2001 From: Pierre-Yves Gerardy Date: Mon, 3 Apr 2017 23:52:18 +0200 Subject: [PATCH 1/2] Fix render tests for Browsers --- render/tests/index.html | 2 +- render/tests/test-onbeforeremove.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/render/tests/index.html b/render/tests/index.html index b978ae6f..eda51921 100644 --- a/render/tests/index.html +++ b/render/tests/index.html @@ -8,7 +8,7 @@ - + diff --git a/render/tests/test-onbeforeremove.js b/render/tests/test-onbeforeremove.js index 2e23215b..0e83d4a0 100644 --- a/render/tests/test-onbeforeremove.js +++ b/render/tests/test-onbeforeremove.js @@ -199,9 +199,8 @@ o.spec("onbeforeremove", function() { render(root, [{tag: component}]) render(root, []) + o(onremove.callCount).equals(0) callAsync(function(){ - o(onremove.callCount).equals(0) - callAsync(function() { o(onremove.callCount).equals(1) done() From 98e3cbdc696ee038a13f4cfc9240de0e9de52e24 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Gerardy Date: Tue, 4 Apr 2017 12:20:14 +0200 Subject: [PATCH 2/2] Revert attrs.class creation logic to what we had in v1.0.1. fix #1764 --- render/hyperscript.js | 4 +- render/tests/test-hyperscript.js | 102 +++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 2 deletions(-) diff --git a/render/hyperscript.js b/render/hyperscript.js index ece288fc..3d4b21e4 100644 --- a/render/hyperscript.js +++ b/render/hyperscript.js @@ -34,8 +34,8 @@ function execSelector(state, attrs, children) { } } - if (className != null) { - if (attrs.class != null) { + if (className !== undefined) { + if (attrs.class !== undefined) { attrs.class = undefined attrs.className = className } diff --git a/render/tests/test-hyperscript.js b/render/tests/test-hyperscript.js index cf0b3155..3ef03358 100644 --- a/render/tests/test-hyperscript.js +++ b/render/tests/test-hyperscript.js @@ -16,6 +16,108 @@ o.spec("hyperscript", function() { o(vnode.tag).equals("a") }) + o("v1.0.1 bug-for-bug regression suite", function(){ + o + console.log(m('a', { + class: null + }).attrs, { + class: undefined, + className: null + }) + o(m('a', { + class: null + }).attrs).deepEquals({ + class: undefined, + className: null + }) + o(m('a', { + class: undefined + }).attrs).deepEquals({ + class: undefined, + }) + o(m('a', { + class: false + }).attrs).deepEquals({ + class: undefined, + className: false + }) + o(m('a', { + class: true + }).attrs).deepEquals({ + class: undefined, + className: true + }) + console.log(m('a.x', { + class: null + }).attrs, { + class: undefined, + className: "x null" + }) + o(m('a.x', { + class: null + }).attrs).deepEquals({ + class: undefined, + className: "x null" + }) + o(m('a.x', { + class: undefined + }).attrs).deepEquals({ + class: undefined, + className: "x" + }) + o(m('a.x', { + class: false + }).attrs).deepEquals({ + class: undefined, + className: "x false" + }) + o(m('a.x', { + class: true + }).attrs).deepEquals({ + class: undefined, + className: "x true" + }) + o(m('a', { + className: null + }).attrs).deepEquals({ + className: null + }) + o(m('a', { + className: undefined + }).attrs).deepEquals({ + className: undefined + }) + o(m('a', { + className: false + }).attrs).deepEquals({ + className: false + }) + o(m('a', { + className: true + }).attrs).deepEquals({ + className: true + }) + o(m('a.x', { + className: null + }).attrs).deepEquals({ + className: "x" + }) + o(m('a.x', { + className: undefined + }).attrs).deepEquals({ + className: "x" + }) + o(m('a.x', { + className: false + }).attrs).deepEquals({ + className: "x" + }) + o(m('a.x', { + className: true + }).attrs).deepEquals({ + className: "x true" + }) + }) o("handles class in selector", function() { var vnode = m(".a")