/** * {@inheritdoc} */ public function filter(\DOMElement $element) { $nodes = $this->query->query($element->ownerDocument); foreach ($nodes as $node) { $node->parentNode->removeChild($node); $element->appendChild($node); } }
function it_moves_elements_into_node(QueryInterface $query) { $document = new \DOMDocument(); $target = $document->createElement('div'); $target->setAttribute('class', 'target'); $element = $document->createElement('div'); $element->setAttribute('id', 'test'); $document->appendChild($target); $document->appendChild($element); $query->query($document)->shouldBeCalled()->willReturn(array($target)); $this->filter($element); expect($document->childNodes->length)->toBe(1); expect($document->childNodes->item(0)->childNodes->length)->toBe(1); expect($document->childNodes->item(0)->childNodes->item(0))->toBe($target); }
/** * {@inheritdoc} */ public function query(\DOMDocument $document) { return $this->query->query($document); }
function it_delegates_query(QueryInterface $query, \DOMDocument $document, \DOMNodeList $nodeList) { $query->query($document)->shouldBeCalled()->willReturn($nodeList); $this->query($document)->shouldReturn($nodeList); }