From 67cfab233ae3645e24e337d225446bbf41500d85 Mon Sep 17 00:00:00 2001 From: Hristo Deshev Date: Fri, 5 Jun 2015 17:25:48 +0300 Subject: [PATCH] fix(xml parser): Fix text node data event. --- js-libs/easysax/easysax.js | 2 +- node-tests/test-xml.ts | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/js-libs/easysax/easysax.js b/js-libs/easysax/easysax.js index 3cca74f73..321eabc0a 100644 --- a/js-libs/easysax/easysax.js +++ b/js-libs/easysax/easysax.js @@ -105,7 +105,7 @@ EasySAXParser.prototype.on = function(name, cb) { case 'error': this.onError = cb || nullFunc; break; case 'startNode': this.onStartNode = cb || nullFunc; break; case 'endNode': this.onEndNode = cb || nullFunc; break; - case 'textNode': onTextNode = cb || nullFunc; break; + case 'textNode': this.onTextNode = cb || nullFunc; break; case 'cdata': this.onCDATA = cb || nullFunc; break; case 'comment': this.onComment = cb; this.is_onComment = !!cb; break; diff --git a/node-tests/test-xml.ts b/node-tests/test-xml.ts index 3e431829d..713049dd1 100644 --- a/node-tests/test-xml.ts +++ b/node-tests/test-xml.ts @@ -4,6 +4,7 @@ import xml = require('xml'); describe("xml parser", () => { let last_element = null; let last_attrs = null; + let last_data = null; let parser = null; beforeEach(() => { @@ -13,6 +14,9 @@ describe("xml parser", () => { last_element = event.elementName; last_attrs = event.attributes; break; + case xml.ParserEventType.Text: + last_data = event.data; + break; } }); }); @@ -26,4 +30,9 @@ describe("xml parser", () => { assert.equal('TextField', last_element); assert.equal('hello', last_attrs['text']); }); + + it("resolves entities", () => { + parser.parse("<>"&'"); + assert.equal("<>\"&'", last_data); + }); });