From 4a1763cc0862b2c7f9a37486470d1745c9e959bb Mon Sep 17 00:00:00 2001 From: Ryan Deba Date: Mon, 20 Nov 2017 15:11:44 -0600 Subject: [PATCH] modify component.toHTML() to include attributes with empty-string values --- src/dom_components/model/Component.js | 2 +- test/specs/dom_components/model/Component.js | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index 07092e215..6fb8465a0 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -554,7 +554,7 @@ module.exports = Backbone.Model.extend(Styleable).extend({ for (let attr in attributes) { const value = attributes[attr]; - if (!isUndefined(value) && value !== '') { + if (!isUndefined(value)) { attrs.push(`${attr}="${value}"`); } } diff --git a/test/specs/dom_components/model/Component.js b/test/specs/dom_components/model/Component.js index 5cda7b3ea..878ea0a6a 100644 --- a/test/specs/dom_components/model/Component.js +++ b/test/specs/dom_components/model/Component.js @@ -82,6 +82,16 @@ module.exports = { expect(obj.toHTML()).toEqual('
'); }); + it('Component toHTML with value-less attribute', () => { + obj = new Component({ + tagName: 'div', + attributes: { + 'data-is-a-test': '' + } + }); + expect(obj.toHTML()).toEqual('
'); + }); + it('Component toHTML with classes', () => { obj = new Component({ tagName: 'article'