parser-position.js
951 Bytes
var sax = require("../lib/sax"),
assert = require("assert")
function testPosition(chunks, expectedEvents) {
var parser = sax.parser();
expectedEvents.forEach(function(expectation) {
parser['on' + expectation[0]] = function() {
for (var prop in expectation[1]) {
assert.equal(parser[prop], expectation[1][prop]);
}
}
});
chunks.forEach(function(chunk) {
parser.write(chunk);
});
};
testPosition(['<div>abcdefgh</div>'],
[ ['opentag', { position: 5, startTagPosition: 1 }]
, ['text', { position: 19, startTagPosition: 14 }]
, ['closetag', { position: 19, startTagPosition: 14 }]
]);
testPosition(['<div>abcde','fgh</div>'],
[ ['opentag', { position: 5, startTagPosition: 1 }]
, ['text', { position: 19, startTagPosition: 14 }]
, ['closetag', { position: 19, startTagPosition: 14 }]
]);