import { mathblock } from './mathblock'; import { some } from '../../combinator'; import { input } from '../context'; import { inspect } from '../../debug.test'; describe('Unit: parser/block/mathblock', () => { describe('mathblock', () => { const parser = some(mathblock); it('invalid', () => { assert.deepStrictEqual(inspect(parser, input('')), undefined); assert.deepStrictEqual(inspect(parser, input('\n')), undefined); assert.deepStrictEqual(inspect(parser, input('$$')), undefined); assert.deepStrictEqual(inspect(parser, input('$$\n')), undefined); assert.deepStrictEqual(inspect(parser, input('$$\na')), [['
$$\na'], '']); assert.deepStrictEqual(inspect(parser, input('$$\na$$')), [['
$$\na$$'], '']); assert.deepStrictEqual(inspect(parser, input('$$\na\n$$b')), [['
$$\na\n$$b'], '']); assert.deepStrictEqual(inspect(parser, input('$$\na\n$$\nb')), [['
$$\na\n$$\nb'], '']); assert.deepStrictEqual(inspect(parser, input('$$$\n\n\n$$$')), undefined); assert.deepStrictEqual(inspect(parser, input('$$ $$\n$$')), undefined); assert.deepStrictEqual(inspect(parser, input('$$lang\n$$')), [['
$$lang\n$$'], '']); assert.deepStrictEqual(inspect(parser, input('$$ param\n$$')), [['
$$ param\n$$'], '']); assert.deepStrictEqual(inspect(parser, input('$$\n$$\n$$')), [['
$$\n$$\n$$'], '']); assert.deepStrictEqual(inspect(parser, input('$$\n$$$')), [['
$$\n$$$'], '']); assert.deepStrictEqual(inspect(parser, input('$$$\n$$')), [['
$$$\n$$'], '']); assert.deepStrictEqual(inspect(parser, input('$$$\n$$$')), [['
$$$\n$$$'], '']); assert.deepStrictEqual(inspect(parser, input(' $$\n$$')), undefined); }); it('basic', () => { assert.deepStrictEqual(inspect(parser, input('$$\n$$')), [['