import { paragraph } from './paragraph'; import { some } from '../../combinator'; import { input } from '../context'; import { inspect } from '../../debug.test'; describe('Unit: parser/block/paragraph', () => { describe('paragraph', () => { const parser = some(paragraph); it('basic', () => { assert.deepStrictEqual(inspect(parser, input('a')), [['
a
'], '']); assert.deepStrictEqual(inspect(parser, input('ab')), [['ab
'], '']); assert.deepStrictEqual(inspect(parser, input('a\\')), [['a
'], '']); assert.deepStrictEqual(inspect(parser, input('a ')), [['a
'], '']); assert.deepStrictEqual(inspect(parser, input('a \n')), [['a
'], '']); assert.deepStrictEqual(inspect(parser, input('a\n')), [['a
'], '']); assert.deepStrictEqual(inspect(parser, input('a\nb')), [['a
b
a
\\
a
\\
a
'], '']); assert.deepStrictEqual(inspect(parser, input('a\\ \n')), [['a
'], '']); assert.deepStrictEqual(inspect(parser, input('a\\\n')), [['a
'], '']); assert.deepStrictEqual(inspect(parser, input('a\\\nb')), [['a
b
a
b
'], '']); assert.deepStrictEqual(inspect(parser, input('	 ')), [['	
'], '']); assert.deepStrictEqual(inspect(parser, input('<wbr>
'], '']); assert.deepStrictEqual(inspect(parser, input('<wbr>
'], '']); assert.deepStrictEqual(inspect(parser, input('<wbr>
a
a
<wbr>
a
<wbr>
b
*a
b
**a
b
***a
b
**ab
c
*ab
c
==a
b
a
!http://host)
b
\ta
'], '']); assert.deepStrictEqual(inspect(parser, input('[[^A]]')), [[''], '']); }); it('anchor', () => { assert.deepStrictEqual(inspect(parser, input('>>1 a\nb')), [['
>>1 a
b
>>1 a
>> b
>>11.
'], '']); assert.deepStrictEqual(inspect(parser, input('>>11 a')), [['>>11 a
'], '']); assert.deepStrictEqual(inspect(parser, input('>>>11 a')), [['>>>11 a
'], '']); assert.deepStrictEqual(inspect(parser, input('>> a\n>>1')), [['>> a
>>1
a>>1
'], '']); assert.deepStrictEqual(inspect(parser, input('ab>>1')), [['ab>>1
'], '']); assert.deepStrictEqual(inspect(parser, input('a >>1')), [['a >>1
'], '']); assert.deepStrictEqual(inspect(parser, input('a\n>>1')), [['a
>>1
a
>>1
b
a
>> b
c
\t>>1
'], '']); assert.deepStrictEqual(inspect(parser, input('\t>>>1')), [['\t>>>1
'], '']); assert.deepStrictEqual(inspect(parser, input('あ>>1')), [['あ>>1
'], '']); }); it('remark', () => { assert.deepStrictEqual(inspect(parser, input('[% a %]')), [['[% a %]
'], '']); assert.deepStrictEqual(inspect(parser, input('[% a %]b')), [['[% a %]b
'], '']); assert.deepStrictEqual(inspect(parser, input('[% a %]\nb')), [['[% a %]
b
[%
<wbr>
%]
[%
<wbr>
%]a
[%
<wbr>
%]
a
{{
\\
}}