New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ersatz-node-expat

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ersatz-node-expat - npm Package Compare versions

Comparing version 0.1.4 to 0.1.5

25

lib.js

@@ -14,3 +14,3 @@ /**

this._text = [];
this._text = "";

@@ -28,2 +28,3 @@ function _toMap(arr) {

var level = 0;

@@ -33,12 +34,20 @@ self._xml = new xml.SaxParser(function (cb) {

cb.onStartDocument(function () {
//xx console.log("onStartDocument");
});
cb.onEndDocument(function () {
self._text = "";
self.emit("close");
// be careful ! this event could be called at the end of a unterminated string , when data
// is written by chunk => we need to check that we are at the root level.
if (level === 0) {
self.emit("close");
}
});
cb.onStartElementNS(function (elem, attrs, prefix, uri, namespaces) {
self.emit("startElement", elem, _toMap(attrs));
level = level+1;
self.emit("startElement", elem, _toMap(attrs),prefix,uri,namespaces);
self._text = "";
});
cb.onEndElementNS(function (elem, prefix, uri) {

@@ -53,7 +62,13 @@

}
self.emit("endElement", elem);
//xx console.log("onEndElementNS");
self.emit("endElement", elem , prefix, uri);
level = level - 1;
});
cb.onCharacters(function (chars) {
///xxx console.log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ",chars,self._text);
self._text += chars;
});
});

@@ -60,0 +75,0 @@

{
"name": "ersatz-node-expat",
"version": "0.1.4",
"version": "0.1.5",
"description": "node-expat compatible module using only javascript ( no libexpat)",

@@ -13,4 +13,5 @@ "main": "lib.js",

"mocha": "^1.19.0",
"node-expat": "2.3.11",
"should": "^3.3.1",
"node-expat": "2.3.11"
"sinon": "^1.17.2"
},

@@ -17,0 +18,0 @@ "dependencies": {

/*global require,describe, it*/
var sinon = require("sinon");
var should = require("should");
var expat;

@@ -121,2 +124,44 @@ try {

});
it("should read a document sent by chunks",function() {
var spy_startElement = sinon.spy();
var spy_endElement = sinon.spy();
var spy_text = sinon.spy();
var spy_error = sinon.spy();
var parser = new ersatz.Parser('UTF-8');
parser.on('startElement', spy_startElement);
parser.on('endElement', spy_endElement);
parser.on('text', spy_text);
parser.on('error', spy_error);
parser.write("<ELE");
parser.write("MENT>");
parser.write("Hel");
parser.write("lo\nWo");
parser.write("rld<");
parser.write("/EL");
parser.write("EMENT>");
parser.end();
spy_error.callCount.should.eql(0);
spy_startElement.callCount.should.eql(1);
spy_startElement.getCall(0).args[0].should.eql("ELEMENT");
spy_endElement.callCount.should.eql(1);
spy_endElement.getCall(0).args[0].should.eql("ELEMENT");
spy_text.callCount.should.eql(2);
spy_text.getCall(0).args[0].should.eql("Hello");
spy_text.getCall(1).args[0].should.eql("World");
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc