PHP Classes

File: HtmlDocumentTests.php

Recommend this page to a friend!
  Classes of Bruyndonckx   HTML Generator Class   HtmlDocumentTests.php   Download  
File: HtmlDocumentTests.php
Role: Unit test script
Content type: text/plain
Description: Test HTML Document
Class: HTML Generator Class
Generate HTML documents programmatically
Author: By
Last change:
Date: 15 years ago
Size: 3,961 bytes
 

Contents

Class file image Download
<?php
require_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>') ;
    }
}

?>