/**
  * {@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);
 }