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')), [[''], '']);
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')), [[''], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!https://host\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')), [[''], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\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~~~')), [[''], '']);
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*')), [[''], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\n![]{https://host}')), [[''], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\n![]{https://host}\n')), [[''], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!https://host\ncaption')), [['caption'], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!https://host\ncaption\n')), [['caption'], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\n!{https://host}\ncaption')), [['caption'], '']);
assert.deepStrictEqual(inspect(parser, input('[$group-name]\n![]{https://host}\ncaption')), [['caption'], '']);
assert.deepStrictEqual(inspect(parser, input('$group-name\n!https://host')), [[''], '']);
});
});
});