From 563bc7a399b473631b644cc35e63202fd61987ac Mon Sep 17 00:00:00 2001 From: Tom Kaminski Date: Mon, 18 Feb 2019 12:22:34 -0600 Subject: [PATCH] Prepending self node fix --- Tests/HtmlPageCrawlerTest.php | 4 ++++ src/HtmlPageCrawler.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Tests/HtmlPageCrawlerTest.php b/Tests/HtmlPageCrawlerTest.php index aebdefa..e9510e0 100644 --- a/Tests/HtmlPageCrawlerTest.php +++ b/Tests/HtmlPageCrawlerTest.php @@ -260,6 +260,10 @@ public function testPrepend() $c = new HtmlPageCrawler('
'); $c->filter('#content')->prepend(new HtmlPageCrawler('

Text before h1

and more text before

')); $this->assertEquals('

Text before h1

and more text before

', $c->saveHTML()); + + $c = new HtmlPageCrawler('
Prepend Self
'); + $c->filter('#content')->prepend($c->filter('span')); + $this->assertEquals('
Prepend Self
', $c->saveHTML()); } /** diff --git a/src/HtmlPageCrawler.php b/src/HtmlPageCrawler.php index e91cefc..e59c3e5 100644 --- a/src/HtmlPageCrawler.php +++ b/src/HtmlPageCrawler.php @@ -483,7 +483,7 @@ public function prepend($content) $newnode = static::importNewnode($newnode, $node, $i); if ($refnode === null) { $node->appendChild($newnode); - } else { + } else if ($refnode !== $newnode) { $node->insertBefore($newnode, $refnode); } $newnodes[] = $newnode;