1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-30 10:36:35 +02:00
joplin/packages/fork-sax/test/attribute-no-space.js

72 lines
2.4 KiB
JavaScript
Raw Normal View History

2020-11-05 18:58:23 +02:00
// non-strict: no error
require(__dirname).test({
xml: '<root attr1="first"attr2="second"/>',
expect: [
[ 'opentagstart', { name: 'root', attributes: {} } ],
[ 'attribute', { name: 'attr1', value: 'first' } ],
[ 'attribute', { name: 'attr2', value: 'second' } ],
[ 'opentag', { name: 'root', attributes: { attr1: 'first', attr2: 'second' }, isSelfClosing: true } ],
[ 'closetag', 'root' ]
],
strict: false,
opt: { lowercase: true }
})
// strict: should give an error, but still parse
require(__dirname).test({
xml: '<root attr1="first"attr2="second"/>',
expect: [
[ 'opentagstart', { name: 'root', attributes: {} } ],
[ 'attribute', { name: 'attr1', value: 'first' } ],
[ 'error', 'No whitespace between attributes\nLine: 0\nColumn: 20\nChar: a' ],
[ 'attribute', { name: 'attr2', value: 'second' } ],
[ 'opentag', { name: 'root', attributes: { attr1: 'first', attr2: 'second' }, isSelfClosing: true } ],
[ 'closetag', 'root' ]
],
strict: true,
opt: { }
}
)
// strict: other cases should still pass
require(__dirname).test({
xml: '<root attr1="first" attr2="second"/>',
expect: [
[ 'opentagstart', { name: 'root', attributes: {} } ],
[ 'attribute', { name: 'attr1', value: 'first' } ],
[ 'attribute', { name: 'attr2', value: 'second' } ],
[ 'opentag', { name: 'root', attributes: { attr1: 'first', attr2: 'second' }, isSelfClosing: true } ],
[ 'closetag', 'root' ]
],
strict: true,
opt: { }
})
// strict: other cases should still pass
require(__dirname).test({
xml: '<root attr1="first"\nattr2="second"/>',
expect: [
[ 'opentagstart', { name: 'root', attributes: {} } ],
[ 'attribute', { name: 'attr1', value: 'first' } ],
[ 'attribute', { name: 'attr2', value: 'second' } ],
[ 'opentag', { name: 'root', attributes: { attr1: 'first', attr2: 'second' }, isSelfClosing: true } ],
[ 'closetag', 'root' ]
],
strict: true,
opt: { }
})
// strict: other cases should still pass
require(__dirname).test({
xml: '<root attr1="first" attr2="second"/>',
expect: [
[ 'opentagstart', { name: 'root', attributes: {} } ],
[ 'attribute', { name: 'attr1', value: 'first' } ],
[ 'attribute', { name: 'attr2', value: 'second' } ],
[ 'opentag', { name: 'root', attributes: { attr1: 'first', attr2: 'second' }, isSelfClosing: true } ],
[ 'closetag', 'root' ]
],
strict: true,
opt: { }
})