예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 /**
  * 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());
 }