예제 #1
0
 public function testGetChildNodes()
 {
     $doc = new TemplateTag();
     $doc->setContent('<html:placeholder name="foo" /><html:placeholder name="foo" /><html:placeholder name="foo" />');
     $doc->onParseTime();
     /* @var $placeHolders DomNode[] */
     $placeHolders = $doc->getChildNodes('name', 'foo', PlaceHolderTag::class);
     $this->assertEquals(3, count($placeHolders));
     $this->assertEquals('foo', $placeHolders[0]->getAttribute('name'));
     // ensure that a reference is returned instead of a clone or copy
     $children = $doc->getChildren();
     $keys = array_keys($children);
     for ($i = 0; $i < 3; $i++) {
         $this->assertEquals(spl_object_hash($placeHolders[$i]), spl_object_hash($children[$keys[$i]]));
     }
 }