import { indexer } from './indexer'; import { some } from '../../../combinator'; import { input } from '../../context'; import { inspect } from '../../../debug.test'; describe('Unit: parser/inline/extension/indexer', () => { describe('indexer', () => { const parser = some(indexer); it('invalid', () => { assert.deepStrictEqual(inspect(parser, input('')), undefined); assert.deepStrictEqual(inspect(parser, input('[|a]')), undefined); assert.deepStrictEqual(inspect(parser, input(' ')), undefined); assert.deepStrictEqual(inspect(parser, input(' |')), undefined); assert.deepStrictEqual(inspect(parser, input(' |a')), undefined); assert.deepStrictEqual(inspect(parser, input(' [| ]')), undefined); assert.deepStrictEqual(inspect(parser, input(' [|]]')), undefined); assert.deepStrictEqual(inspect(parser, input(' [|a]]')), undefined); }); it('valid', () => { assert.deepStrictEqual(inspect(parser, input(' [|]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a] ')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a ]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a ]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a b]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a b]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a\tb]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|a_b]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|A]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|\\A]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|*A*]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|\\`A\\`]')), [[''], '']); assert.deepStrictEqual(inspect(parser, input(' [|\\$\\{A\\}\\$]')), [[''], '']); }); }); });