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