mirror of
https://github.com/RocketChat/Rocket.Chat.git
synced 2025-12-28 06:47:25 +00:00
259 lines
16 KiB
TypeScript
259 lines
16 KiB
TypeScript
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);
|
|
});
|