Revert attrs.class creation logic to what we had in v1.0.1. fix #1764

This commit is contained in:
Pierre-Yves Gerardy 2017-04-04 12:20:14 +02:00
parent 45afd4117a
commit 98e3cbdc69
2 changed files with 104 additions and 2 deletions

View file

@ -34,8 +34,8 @@ function execSelector(state, attrs, children) {
} }
} }
if (className != null) { if (className !== undefined) {
if (attrs.class != null) { if (attrs.class !== undefined) {
attrs.class = undefined attrs.class = undefined
attrs.className = className attrs.className = className
} }

View file

@ -16,6 +16,108 @@ o.spec("hyperscript", function() {
o(vnode.tag).equals("a") 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() { o("handles class in selector", function() {
var vnode = m(".a") var vnode = m(".a")