public function testPreventInfiniteLoop()
{
$handlers = new HandlerContainer();
$handlers->add('name', function (ShortcodeInterface $s) {
return $s->getName();
})->add('content', function (ShortcodeInterface $s) {
return $s->getContent();
})->add('reverse', new ReverseShortcode())->addAlias('c', 'content')->addAlias('n', 'name')->add('self', function () {
return '[self]';
})->add('other', function () {
return '[self]';
})->add('random', function () {
return '[various]';
});
$processor = new Processor(new RegexParser(), $handlers);
$processor->withMaxIterations(null);
$processor->process('[self]');
$processor->process('[other]');
$processor->process('[random]');
}