import { fig } from './fig'; import { some } from '../../../combinator'; import { input } from '../../context'; import { inspect } from '../../../debug.test'; describe('Unit: parser/block/extension/fig', () => { describe('fig', () => { const parser = some(fig); it('invalid', () => { assert.deepStrictEqual(inspect(parser, input('\n!https://host\n')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name]\nhttps://host')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name]\nhttps://host\n')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n !https://host')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n\n!https://host')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name]a\nhttps://host')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name]a\n!https://host')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name] a\nhttps://host')), undefined); assert.deepStrictEqual(inspect(parser, input('[$group-name] a\n!https://host')), [['
https://host
'], '']); assert.deepStrictEqual(inspect(parser, input('$-a\n$-b')), undefined); assert.deepStrictEqual(inspect(parser, input(' [$group-name]\n!https://host\n')), undefined); }); it('valid', () => { assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!https://host')), [['
https://host
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!https://host\n')), [['
https://host
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n|\n|-\n|')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n|\n|-\n|\n')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n```\n\n```')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n```\n\n```\n')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n```\n~~~\n```')), [['
~~~
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n$$\n\n$$')), [['
$$\n\n$$
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n$$\n\n$$\n')), [['
$$\n\n$$
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n~~~\n~~~')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n~~~\n~~~\n')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n~~~example/markdown\n~~~')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n~~~example/markdown\n~~~\n')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n~~~table\n~~~')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n~~~table\n~~~\n')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n> ')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n> \n')), [['
'], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!> *a*')), [['

a

References

    '], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n![]{https://host}')), [['
    https://host
    '], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n![]{https://host}\n')), [['
    https://host
    '], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!https://host\ncaption')), [['
    caption
    https://host
    '], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!https://host\ncaption\n')), [['
    caption
    https://host
    '], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!{https://host}\ncaption')), [['
    caption
    https://host
    '], '']); assert.deepStrictEqual(inspect(parser, input('[$group-name]\n![]{https://host}\ncaption')), [['
    caption
    https://host
    '], '']); assert.deepStrictEqual(inspect(parser, input('$group-name\n!https://host')), [['
    https://host
    '], '']); }); }); });