From 282b3158f3b4febbcda95bdd0d65c57ebd80837f Mon Sep 17 00:00:00 2001 From: Tim De Pauw Date: Wed, 8 Mar 2017 17:24:25 -0500 Subject: [PATCH] Do not decode CDATA content --- lib/parsers/ltx.js | 2 +- test/cdata-test.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/parsers/ltx.js b/lib/parsers/ltx.js index 5548b172..b770524d 100644 --- a/lib/parsers/ltx.js +++ b/lib/parsers/ltx.js @@ -78,7 +78,7 @@ var SaxLtx = module.exports = function SaxLtx () { if (c === 93 /* ] */ && data.substr(pos + 1, 2) === ']>') { var cData = endRecording() if (cData) { - this.emit('text', unescapeXML(cData)) + this.emit('text', cData) } state = STATE_IGNORE_COMMENT } diff --git a/test/cdata-test.js b/test/cdata-test.js index 4ae00e23..379dd432 100644 --- a/test/cdata-test.js +++ b/test/cdata-test.js @@ -19,6 +19,11 @@ vows.describe('sax_ltx').addBatch({ var el = parse('') assert.equal(el.name, 'root') assert.equal(el.getText(), 'Content') + }, + 'do not unescape CDATA content': function () { + var el = parse('') + assert.equal(el.name, 'root') + assert.equal(el.getText(), 'Content & "more content"') } } }).export(module)