You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
268 lines
17 KiB
268 lines
17 KiB
import { parse } from '../src';
|
|
import { paragraph, plain, bold, italic, strike } from '../src/utils';
|
|
|
|
test.each([
|
|
[
|
|
`This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. , REPEATx2 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. REPEAT x3 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. REPEAT x4 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. REPEATx 5 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. , REPEAT x6 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. this can go long for some time, repeat x7 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. ,repeat x8 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some.`,
|
|
[
|
|
paragraph([
|
|
plain(
|
|
'This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&',
|
|
),
|
|
bold([
|
|
plain('()'),
|
|
italic([
|
|
plain(
|
|
`+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok`,
|
|
),
|
|
strike([
|
|
plain(
|
|
`, from now on we repeat some. , REPEATx2 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok`,
|
|
),
|
|
]),
|
|
plain(
|
|
', from now on we repeat some. REPEAT x3 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()',
|
|
),
|
|
]),
|
|
plain(
|
|
`+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok`,
|
|
),
|
|
strike([
|
|
plain(
|
|
', from now on we repeat some. REPEAT x4 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()',
|
|
),
|
|
italic([
|
|
plain(
|
|
`+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. REPEATx 5 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()`,
|
|
),
|
|
]),
|
|
plain(
|
|
`+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok`,
|
|
),
|
|
]),
|
|
plain(
|
|
`, from now on we repeat some. , REPEAT x6 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&`,
|
|
),
|
|
]),
|
|
plain(
|
|
`()_+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok`,
|
|
),
|
|
strike([
|
|
plain(
|
|
`, from now on we repeat some. this can go long for some time, repeat x7 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()`,
|
|
),
|
|
italic([
|
|
plain(
|
|
`+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok~, from now on we repeat some. ,repeat x8 This a message designed to stress test the message parser, trying to force several rules to stack at the same time !!@#$%^&*()`,
|
|
),
|
|
]),
|
|
plain(
|
|
`+, overloading the symbols {}:"|<>?, some more text ,./;'\\[], numbers too 1234567890-= let it call s o s ok`,
|
|
),
|
|
]),
|
|
plain(', from now on we repeat some.'),
|
|
]),
|
|
],
|
|
],
|
|
[
|
|
'**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__**_**__',
|
|
[
|
|
paragraph([
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
italic([bold([plain('_')])]),
|
|
bold([italic([plain('**')]), italic([plain('**')])]),
|
|
plain('__'),
|
|
]),
|
|
],
|
|
],
|
|
])('parses %p', (input, output) => {
|
|
expect(parse(input)).toMatchObject(output);
|
|
});
|
|
|