Thunder\Shortcode\Tests\ProcessorTest::testProcessorIterative PHP Метод

testProcessorIterative() публичный Метод

    public function testProcessorIterative()
    {
        $handlers = new HandlerContainer();
        $handlers->add('name', function (ShortcodeInterface $s) {
            return $s->getName();
        })->add('content', function (ShortcodeInterface $s) {
            return $s->getContent();
        })->addAlias('c', 'content')->addAlias('n', 'name')->addAlias('d', 'c')->addAlias('e', 'c');
        $processor = new Processor(new RegexParser(), $handlers);
        /** @var $processor Processor */
        $processor = $processor->withRecursionDepth(0)->withMaxIterations(2);
        $this->assertSame('x a y', $processor->process('x [c]a[/c] y'));
        $this->assertSame('x abc y', $processor->process('x [c]a[d]b[/d]c[/c] y'));
        $this->assertSame('x ab[e]c[/e]de y', $processor->process('x [c]a[d]b[e]c[/e]d[/d]e[/c] y'));
        $processor = $processor->withMaxIterations(null);
        $this->assertSame('x abcde y', $processor->process('x [c]a[d]b[e]c[/e]d[/d]e[/c] y'));
    }