Empty attributes. Fixes #971

This commit is contained in:
Carroll 2016-03-03 10:27:26 +00:00
parent 791c94a0b1
commit ea946f1a0e
3 changed files with 6 additions and 1 deletions

View file

@ -96,7 +96,7 @@
classes.push(match[2])
} else if (match[3][0] === "[") {
var pair = /\[(.+?)(?:=("|'|)(.*?)\2)?\]/.exec(match[3])
cell.attrs[pair[1]] = pair[3] || (pair[2] ? "" : true)
cell.attrs[pair[1]] = pair[3] || (pair[2] ? "" : "")
}
}

View file

@ -37,6 +37,10 @@ describe("m()", function () {
expect(m("[title=bar]")).to.have.deep.property("attrs.title", "bar")
})
it("sets attr without a value as an empty string", function () {
expect(m("[empty]")).to.have.deep.property("attrs.empty", "")
})
it("sets correct single quoted attr", function () {
expect(m("[title=\'bar\']")).to.have.deep.property("attrs.title", "bar")
})

View file

@ -11,6 +11,7 @@
test(function () { return m(".foo").attrs.className === "foo" })
test(function () { return m("[title=bar]").tag === "div" })
test(function () { return m("[title=bar]").attrs.title === "bar" })
test(function () { return m("[empty]").attrs.empty === "" })
test(function () { return m("[title=\'bar\']").attrs.title === "bar" })
test(function () { return m("[title=\"bar\"]").attrs.title === "bar" })
test(function () { return m("div", "test").children[0] === "test" })