2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-06-11 18:02:26 +03:00

add parser tests

This commit is contained in:
Nikolay Kostyurin
2018-06-12 18:07:13 +02:00
parent cacfda9685
commit 77ddfca271
4 changed files with 47 additions and 21 deletions
+27 -3
View File
@@ -1,11 +1,35 @@
const Parser = require('./Parser');
const TOKEN = require('./token');
const parse = input => (new Parser(input).parse());
describe('Parser', () => {
test('parse paired tags tokens', () => {
const parser = new Parser([
[TOKEN.TYPE_TAG, 'ch'],
[TOKEN.TYPE_TAG, '/ch'],
const input = [
[TOKEN.TYPE_TAG, 'best'],
[TOKEN.TYPE_ATTR_NAME, 'name'],
[TOKEN.TYPE_ATTR_VALUE, 'value'],
[TOKEN.TYPE_WORD, 'Foo'],
[TOKEN.TYPE_SPACE, ' '],
[TOKEN.TYPE_WORD, 'Bar'],
[TOKEN.TYPE_TAG, '/best'],
];
const ast = parse(input);
expect(ast).toBeInstanceOf(Array);
expect(ast).toEqual([
{
tag: 'best',
attrs: {
name: 'value',
},
content: [
'Foo',
' ',
'Bar',
],
},
]);
});
});