| 
<?phprequire_once ('lib/simpletest/unit_tester.php');
 require_once ('html/HtmlLink.inc') ;
 require_once ('html/HtmlList.inc') ;
 require_once ('html/HtmlDocument.inc') ;
 
 
 class HtmlDocumentTests extends UnitTestCase {
 
 public function testEmptyDoc () {
 
 $d = new HtmlDocument ("title") ;
 $s = $d->build() ;
 
 $s = str_replace ("\n", "", $s) ;
 //print_r (htmlentities ($s)) ; echo "<hr>" ;
 $this->assertEqual ($s, HtmlDocument::DOCTYPE . HtmlDocument::PREAMBLE . "<head><title>title</title><meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/></head><body></body></html>") ;
 }
 
 public function testBody () {
 
 $d = new HtmlDocument ("title") ;
 $d->setBody ("hello world") ;
 $s = $d->build () ;
 $s = str_replace ("\n", "", $s) ;
 //print_r (htmlentities ($s)) ; echo "<hr>" ;
 $this->assertEqual ($s, HtmlDocument::DOCTYPE . HtmlDocument::PREAMBLE . "<head><title>title</title><meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/></head><body>hello world</body></html>") ;
 
 $t = new HtmlUnorderedList () ;
 $t->setData (2, "tweede item") ;
 $t->setData (1, "eerste item") ;
 $t->setData (0, new HtmlImage ("/junit/data/good_avatar.jpg", "test image")) ;
 
 $d->setBody ($t) ;
 $s = $d->build () ;
 $s = str_replace ("\n", "", $s) ;
 //print_array (str_split ($s)) ;
 $this->assertEqual ($s, HtmlDocument::DOCTYPE . HtmlDocument::PREAMBLE . "<head><title>title</title><meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/></head><body>".
 "<ul><li><img src=\"/junit/data/good_avatar.jpg\" alt=\"test image\" /></li>".
 "<li>eerste item</li><li>tweede item</li></ul></body></html>") ;
 }
 
 public function testHeader () {
 
 $d = new HtmlDocument ("title") ;
 $d->addStylesheet ("global.css") ;
 $d->addStylesheet ("default.css") ;
 
 $d->addStyle ("p", "bold") ;
 $d->addStyle (".dropcap", "font:12 px") ;
 
 $d->addJavaScript ("http://script1.js") ;
 $d->addJavaScript ("http://script2.js") ;
 
 $d->addMetaTag('DESCRIPTION', "big big website") ;
 
 $s = $d->build() ;
 $s = str_replace ("\n", "", $s) ;
 //print_r (htmlentities ($s)) ; echo "<hr>" ;
 //   print_array (str_split ($s)) ;
 $this->assertEqual ($s, HtmlDocument::DOCTYPE . HtmlDocument::PREAMBLE . "<head><title>title</title>".
 "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/>".
 "<meta name=\"DESCRIPTION\" content=\"big big website\" />".
 "<link rel=\"stylesheet\" href=\"global.css\" type=\"text/css\" />".
 "<link rel=\"stylesheet\" href=\"default.css\" type=\"text/css\" />".
 "<style type=\"text/css\"> <!--p { bold } .dropcap { font:12 px } --></style>".
 "<script language=\"javascript\" src=\"http://script1.js\" type=\"text/javascript\"></script>".
 "<script language=\"javascript\" src=\"http://script2.js\" type=\"text/javascript\"></script>".
 "</head><body></body></html>") ;
 }
 
 public function testAddComments () {
 $d = new HtmlDocument ("title") ;
 $d->addComment ('comment 1') ;
 $d->addComment ('comment 2') ;
 $d->addComment ('comment 3') ;
 
 $s = $d->buildComments() ;
 //echo(htmlentities($s)."<br>");
 $s = str_replace ("\n", "", $s) ;
 $this->assertEqual ($s, '<!-- comment 1 --><!-- comment 2 --><!-- comment 3 -->') ;
 
 $s = $d->build() ;
 $s = str_replace ("\n", "", $s) ;
 //echo(htmlentities($s)."<br>");
 $this->assertEqual($s, HtmlDocument::DOCTYPE . HtmlDocument::PREAMBLE .
 '<head><title>title</title><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><!-- comment 1 --><!-- comment 2 --><!-- comment 3 --></head><body></body></html>') ;
 }
 }
 
 ?>
 |