Symfony\Component\DomCrawler\Crawler::addDocument PHP Method

addDocument() public method

Adds a \DOMDocument to the list of nodes.
public addDocument ( DOMDocument $dom )
$dom DOMDocument A \DOMDocument instance
    public function addDocument(\DOMDocument $dom)
    {
        if ($dom->documentElement) {
            $this->addNode($dom->documentElement);
        }
    }

Usage Example

 /**
  * assertSelectEquals("#binder .name", "Chuck", true,  $xml);  // any?
  * assertSelectEquals("#binder .name", "Chuck", false, $xml);  // none?
  *
  * @param array                 $selector
  * @param string                $content
  * @param integer|boolean|array $count
  * @param mixed                 $actual
  * @param string                $message
  * @param boolean               $isHtml
  * @since Method available since Release 1.0.0
  *
  * @throws PHPUnit_Framework_Exception
  */
 public static function assertSelectEquals($selector, $content, $count, $actual, $message = '', $isHtml = true)
 {
     $crawler = new Crawler();
     if ($actual instanceof DOMDocument) {
         $crawler->addDocument($actual);
     } else {
         if ($isHtml) {
             $crawler->addHtmlContent($actual);
         } else {
             $crawler->addXmlContent($actual);
         }
     }
     $crawler = $crawler->filter($selector);
     if (is_string($content)) {
         $crawler = $crawler->reduce(function (Crawler $node, $i) use($content) {
             if ($content === '') {
                 return $node->text() === '';
             }
             if (preg_match('/^regexp\\s*:\\s*(.*)/i', $content, $matches)) {
                 return (bool) preg_match($matches[1], $node->text());
             }
             return strstr($node->text(), $content) !== false;
         });
     }
     $found = count($crawler);
     if (is_numeric($count)) {
         self::assertEquals($count, $found, $message);
     } else {
         if (is_bool($count)) {
             $found = $found > 0;
             if ($count) {
                 self::assertTrue($found, $message);
             } else {
                 self::assertFalse($found, $message);
             }
         } else {
             if (is_array($count) && (isset($count['>']) || isset($count['<']) || isset($count['>=']) || isset($count['<=']))) {
                 if (isset($count['>'])) {
                     self::assertTrue($found > $count['>'], $message);
                 }
                 if (isset($count['>='])) {
                     self::assertTrue($found >= $count['>='], $message);
                 }
                 if (isset($count['<'])) {
                     self::assertTrue($found < $count['<'], $message);
                 }
                 if (isset($count['<='])) {
                     self::assertTrue($found <= $count['<='], $message);
                 }
             } else {
                 throw new PHPUnit_Framework_Exception('Invalid count format');
             }
         }
     }
 }
All Usage Examples Of Symfony\Component\DomCrawler\Crawler::addDocument