diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-12-14 15:06:22 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-12-14 15:06:42 +0000 |
| commit | b1b0fcd0547f1b432baab03038903414a1475a1b (patch) | |
| tree | 4cbd8f88a4e4d10df834f41111c71e578b9516f2 | |
| parent | 2a4c5289179084f3df2c4be43b11c7f03416087e (diff) | |
Escape attribute values
| -rw-r--r-- | lib/html-generator.js | 2 | ||||
| -rw-r--r-- | tests/html-generator.tests.js | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/html-generator.js b/lib/html-generator.js index 62c58a8..eea0fcf 100644 --- a/lib/html-generator.js +++ b/lib/html-generator.js @@ -88,7 +88,7 @@ function HtmlGenerator() { function generateAttributeString(attributes) { return _.map(attributes, function(value, key) { - return util.format(' %s="%s"', key, value); + return util.format(' %s="%s"', key, escapeHtml(value)); }).join(""); } diff --git a/tests/html-generator.tests.js b/tests/html-generator.tests.js index fc34cf9..220a0bf 100644 --- a/tests/html-generator.tests.js +++ b/tests/html-generator.tests.js @@ -63,4 +63,10 @@ describe('HtmlGenerator', function() { generator.closeAll(); return assert.equal(generator.asString(), '<p class="tip">Hello!</p>'); }); + + test('attribute values are escaped', function() { + var generator = new HtmlGenerator(); + generator.selfClosing({tagName: "br", attributes: {"data-blah": "<"}}); + return assert.equal(generator.asString(), '<br data-blah="<" />'); + }); }) |
