/** * Test DOM node relocation including static content and transformation. */ public function testComplexUseCse() { $tag = new TemplateTag(); $tag->setContent('<core:appendnode includestatic="true" namespace="' . __NAMESPACE__ . '\\templates" template="include_complex" />'); $tag->onParseTime(); $tag->onAfterAppend(); $expected = 'static text'; // fill template with place holder /* @var $template TemplateTag */ $template = $tag->getChildNode('name', 'test', Template::class); $template->setPlaceHolder('test', $expected); $template->transformOnPlace(); $tag->setPlaceHolder('test', $expected); $actual = $tag->transformTemplate(); // 6 = 4 static + 1 template place holder + 1 place holder $this->assertTrue(substr_count($actual, $expected) === 6); }
/** * Happy case for template expressions. */ public function testExtractExpressionTags1() { $doc = new TemplateTag(); $doc->setContent('${placeHolder}|${dataAttribute[0]}'); $doc->onParseTime(); $doc->onAfterAppend(); $doc->setPlaceHolder('placeHolder', 'foo'); $doc->setData('dataAttribute', ['bar']); $this->assertEquals('foo|bar', $doc->transformTemplate()); }