var sax = require('../lib/sax')
var tap = require('tap')
function testPosition (chunks, expectedEvents) {
var parser = sax.parser()
expectedEvents.forEach(function (expectation) {
parser['on' + expectation[0]] = function () {
for (var prop in expectation[1]) {
tap.equal(parser[prop], expectation[1][prop])
}
}
})
chunks.forEach(function (chunk) {
parser.write(chunk)
})
}
testPosition(['
abcdefgh
'], [
[ 'opentagstart', { position: 5, startTagPosition: 1 } ],
[ 'opentag', { position: 5, startTagPosition: 1 } ],
[ 'text', { position: 19, startTagPosition: 14 } ],
[ 'closetag', { position: 19, startTagPosition: 14 } ]
])
testPosition(['abcde', 'fgh
'], [
['opentagstart', { position: 5, startTagPosition: 1 }],
['opentag', { position: 5, startTagPosition: 1 }],
['text', { position: 19, startTagPosition: 14 }],
['closetag', { position: 19, startTagPosition: 14 }]
])