public function testCSSSelectorHonorsContextNode() { $this->dom->load(__DIR__ . '/_data/selector.xml'); $ctx = $this->dom->getElementsByTagName('child')->item(0); $result = $this->dom->select('child', $ctx); $this->assertEquals(1, $result->length); $this->assertEquals('child', $result->item(0)->nodeName); $this->assertEquals('other', $result->item(0)->getAttribute('attr')); }
/** * @param string $filename * * @return Configuration */ public function load($filename) { $document = new fDOMDocument(); $document->load($filename); $configuration = new Configuration($document->getElementsByTagName('directory')->item(0)->textContent, $document->getElementsByTagName('domain')->item(0)->textContent, $document->getElementsByTagName('email')->item(0)->textContent); if ($document->getElementsByTagName('nginx')->item(0)) { $configuration->setNginxConfigurationFile($document->getElementsByTagName('nginx')->item(0)->textContent); } foreach ($document->getElementsByTagName('series') as $series) { /* @var fDOMElement $series */ $configuration->addAdditionalReleaseSeries($series->getAttribute('package'), $series->getAttribute('series'), $series->getAttribute('alias')); } return $configuration; }
/** * @return MethodCollection */ public function getMethods() { $list = $this->document->getElementsByTagName('method'); return new MethodCollection($list, $this); }