/**
  * @covers Wa72\HtmlPageDom\HtmlPageCrawler::getInnerHtml
  * @covers Wa72\HtmlPageDom\HtmlPageCrawler::setInnerHtml
  * @covers Wa72\HtmlPageDom\HtmlPageCrawler::prepend
  * @covers Wa72\HtmlPageDom\HtmlPageCrawler::makeEmpty
  * @covers Wa72\HtmlPageDom\HtmlPageCrawler::setAttribute
  */
 public function testManipulationFunctions()
 {
     $c = new HtmlPageCrawler();
     $c->addHtmlContent('<html><body><div id="content"><h1>Title</h1></div></body></html>');
     $content = $c->filter('#content');
     $content->append('<p>Das ist ein Testabsatz');
     $this->assertEquals('<h1>Title</h1><p>Das ist ein Testabsatz</p>', $content->getInnerHtml());
     $content->setInnerHtml('<p>Ein neuer <b>Inhalt</p>');
     $this->assertEquals('<p>Ein neuer <b>Inhalt</b></p>', $content->getInnerHtml());
     $content->prepend('<h1>Neue Überschrift');
     $this->assertEquals('<h1>Neue &Uuml;berschrift</h1><p>Ein neuer <b>Inhalt</b></p>', $content->getInnerHtml());
     $h1 = $content->filter('h1');
     $this->assertEquals('Neue Überschrift', $h1->text());
     $b = $content->filter('b');
     $this->assertEquals('Inhalt', $b->text());
     $b2 = $c->filter('#content p b');
     $this->assertEquals('Inhalt', $b2->text());
     $content->append('<p class="a2">Zweiter Absatz</p>');
     $content->append('<p class="a3"><b>Dritter Absatz</b> und noch mehr Text</p>');
     $a3 = $content->filter('p.a3');
     $this->assertEquals('<b>Dritter Absatz</b> und noch mehr Text', $a3->getInnerHtml());
     $a3b = $a3->filter('b');
     $this->assertEquals('Dritter Absatz', $a3b->text());
     $body = $c->filter('body');
     $this->assertEquals('<div id="content"><h1>Neue &Uuml;berschrift</h1><p>Ein neuer <b>Inhalt</b></p><p class="a2">Zweiter Absatz</p><p class="a3"><b>Dritter Absatz</b> und noch mehr Text</p></div>', $body->getInnerHtml());
     $paragraphs = $c->filter('p');
     $this->assertEquals(3, count($paragraphs));
     $paragraphs->append('<span class="appended">.</span>');
     $this->assertEquals('<p>Ein neuer <b>Inhalt</b><span class="appended">.</span></p><p class="a2">Zweiter Absatz<span class="appended">.</span></p><p class="a3"><b>Dritter Absatz</b> und noch mehr Text<span class="appended">.</span></p>', $c->filter('p')->saveHTML());
     $body->makeEmpty();
     $this->assertEmpty($body->getInnerHtml());
     $body->setAttribute('class', 'mybodyclass');
     $this->assertEquals('mybodyclass', $body->attr('class'));
 }