import { message } from './message'; import { some } from '../../../combinator'; import { input } from '../../context'; import { inspect } from '../../../debug.test'; describe('Unit: parser/block/extension/message', () => { describe('message', () => { const parser = some(message); it('invalid', () => { assert.deepStrictEqual(inspect(parser, input('~~~message\n~~~')), undefined); assert.deepStrictEqual(inspect(parser, input('~~~message/\n~~~')), undefined); assert.deepStrictEqual(inspect(parser, input('~~~message/a\n~~~')), [['
~~~message/a\n~~~
'], '']); assert.deepStrictEqual(inspect(parser, input('~~~message/note a\n~~~')), [['
~~~message/note a\n~~~
'], '']); }); it('valid', () => { assert.deepStrictEqual(inspect(parser, input('~~~message/note\n~~~')), [['

Note

'], '']); assert.deepStrictEqual(inspect(parser, input('~~~message/note\n\n~~~')), [['

Note

'], '']); assert.deepStrictEqual(inspect(parser, input('~~~message/note\na\n~~~')), [['

Note

a

'], '']); assert.deepStrictEqual(inspect(parser, input('~~~message/note\na\n\n- \n~~~')), [['

Note

a

'], '']); assert.deepStrictEqual(inspect(parser, input('~~~message/note\n# a\n~~~')), [['

Note

# a

'], '']); assert.deepStrictEqual(inspect(parser, input('~~~message/caution\n~~~')), [['

Caution!

'], '']); assert.deepStrictEqual(inspect(parser, input('~~~message/warning\n~~~')), [['

WARNING!!

'], '']); }); }); });