1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00
joplin/packages/fork-sax/test/parser-position.js

31 lines
952 B
JavaScript
Raw Normal View History

2020-11-05 18:58:23 +02:00
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(['<div>abcdefgh</div>'], [
[ 'opentagstart', { position: 5, startTagPosition: 1 } ],
[ 'opentag', { position: 5, startTagPosition: 1 } ],
[ 'text', { position: 19, startTagPosition: 14 } ],
[ 'closetag', { position: 19, startTagPosition: 14 } ]
])
testPosition(['<div>abcde', 'fgh</div>'], [
['opentagstart', { position: 5, startTagPosition: 1 }],
['opentag', { position: 5, startTagPosition: 1 }],
['text', { position: 19, startTagPosition: 14 }],
['closetag', { position: 19, startTagPosition: 14 }]
])