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

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

    public function testProcessorParentContext()
    {
        $handlers = new HandlerContainer();
        $handlers->add('outer', function (ProcessedShortcode $s) {
            $name = $s->getParent() ? $s->getParent()->getName() : 'root';
            return $name . '[' . $s->getContent() . ']';
        });
        $handlers->addAlias('inner', 'outer');
        $handlers->addAlias('level', 'outer');
        $processor = new Processor(new RegexParser(), $handlers);
        $text = 'x [outer]a [inner]c [level]x[/level] d[/inner] b[/outer] y';
        $result = 'x root[a outer[c inner[x] d] b] y';
        $this->assertSame($result, $processor->process($text));
        $this->assertSame($result . $result, $processor->process($text . $text));
    }