| 
<?phprequire_once ('lib/simpletest/unit_tester.php');
 require_once ('html/HtmlForm.inc') ;
 
 define ('DEFAULT_FORM', "<form style=\"display:inline;\"  method=\"post\" enctype=\"application/x-www-form-urlencoded\" >") ;
 
 class HtmlFormTests extends UnitTestCase {
 
 
 public function testTextArea () {
 
 $t = new HtmlTextArea () ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $r = str_replace ("\n", "", $r) ;
 $this->assertEqual ($r,DEFAULT_FORM."<textarea></textarea></form>") ;
 
 $t = new HtmlTextArea (2, 40, "name", "class") ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $r = str_replace ("\n", "", $r) ;
 //print_array (str_split ($r)) ;
 $this->assertEqual ($r,DEFAULT_FORM."<textarea name=\"name\" rows=\"2\" cols=\"40\"  class=\"class\" ></textarea></form>") ;
 
 $t = new HtmlTextArea () ;
 $t->setData ("default text") ;
 $t->setRows (3) ;
 $t->setColumns (50) ;
 $t->setName ("my name") ;
 $t->setTabIndex (1) ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $r = str_replace ("\n", "", $r) ;
 $this->assertEqual ($r,DEFAULT_FORM."<textarea name=\"my name\" rows=\"3\" cols=\"50\" tabindex=\"1\" >default text</textarea></form>") ;
 echo "<hr>$r<hr>";
 }
 
 public function testSelect() {
 
 $t = new HtmlSelect () ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $r = str_replace ("\n", "", $r) ;
 $this->assertEqual ($r,DEFAULT_FORM."<select></select></form>") ;
 
 $t = new HtmlSelect ("my name") ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r,"<form style=\"display:inline;\"  method=\"post\" enctype=\"application/x-www-form-urlencoded\" ><select name=\"my name\" ></select></form>") ;
 
 $t = new HtmlSelect ("my name") ;
 $t->addElement (new HtmlOption ("menu een")) ;
 $t->addElement (new HtmlOption ("menu twee")) ;
 $t->addElement (new HtmlOption ("menu drie", "drie")) ;
 $t->addElement (new HtmlOption ("menu vier", "vier")) ;
 $t->setMultiple() ;
 $t->setSize (5) ;
 $this->assertTrue ($t->setSelectedByValue ("vier")) ;
 
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r,DEFAULT_FORM."<select name=\"my name\" size=\"5\" multiple ><option >menu een</option><option >menu twee</option><option value=\"drie\" >menu drie</option><option value=\"vier\" selected >menu vier</option></select></form>") ;
 echo "<hr>$r<hr>";
 
 $t = new HtmlSelect () ;
 $a = array ("US" => "United States", "BE" => "Belgium", "NL" => "Netherlands") ;
 $t->addElement ($a) ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r, DEFAULT_FORM."<select><option value=\"US\" >United States</option><option value=\"BE\" >Belgium</option><option value=\"NL\" >Netherlands</option></select></form>") ;
 echo "<hr>$r<hr>";
 }
 
 public function testLabel () {
 
 $t = new HtmlLabel () ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r,DEFAULT_FORM."<label></label></form>") ;
 
 
 $t = new HtmlLabel ("mijn label text", "id") ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r,DEFAULT_FORM."<label for=\"id\">mijn label text</label></form>") ;
 echo "<hr>$r<hr>";
 }
 
 public function testFieldSet () {
 
 $t = new HtmlFieldSet () ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r,DEFAULT_FORM."<fieldset></fieldset></form>") ;
 
 $t = new HtmlFieldSet (new HtmlLabel ("Mijn label"), "legende") ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r,DEFAULT_FORM."<fieldset><legend>legende</legend><label>Mijn label</label></fieldset></form>") ;
 echo "<hr>$r<hr>";
 }
 
 public function testInputFields () {
 
 $t = new HtmlFormInput (FORM_TEXT, "text value", "text name") ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 //print_array (str_split ($r)) ;
 $this->assertEqual ($r,DEFAULT_FORM."<input name=\"text name\" value=\"text value\" type=\"text\"  id=\"text name\" /></form>") ;
 
 $t->setName ("another name") ;
 $t->setValue ("another value") ;
 $t->setType (FORM_PASSWORD) ;
 $t->setChecked() ;
 $t->setDisabled() ;
 $t->setTabIndex(2) ;
 $t->setSize(10) ;
 $t->setMaxLength(100) ;
 $form = new HtmlForm ($t->build()) ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 //print_array (str_split ($r)) ;
 
 $this->assertEqual ($r,DEFAULT_FORM."<input name=\"another name\" value=\"another value\" type=\"password\" checked disabled tabindex=\"2\" size=\"10\" maxlength=\"100\"  id=\"text name\" /></form>") ;
 
 echo "<hr>$r<hr>";
 
 $table = new HtmlTable () ;
 $i = 0 ;
 $table->setData ($i++, 0, new HtmlTextField ()) ;
 $table->setData ($i++, 0, new HtmlPasswordField ()) ;
 $table->setData ($i++, 0, new HtmlCheckBox ()) ;
 $table->setData ($i++, 0, new HtmlRadioButton ()) ;
 $table->setData ($i++, 0, new HtmlSubmitButton ()) ;
 $table->setData ($i++, 0, new HtmlResetButton ()) ;
 $table->setData ($i++, 0, new HtmlFileSubmit ()) ;
 $table->setData ($i++, 0, new HtmlHiddenField ()) ;
 
 $form = new HtmlForm ($table->build()) ;
 $r = $form->build() ;
 echo "<hr>$r<hr>";
 }
 
 public function testForm () {
 
 $form = new HtmlForm () ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r, "<form style=\"display:inline;\"  method=\"post\" enctype=\"application/x-www-form-urlencoded\" ></form>") ;
 
 $form->setData ("test data") ;
 $form->setAction ("bad action") ;
 $form->setEncType ("no enc type") ;
 
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r, "<form style=\"display:inline;\"  action=\"bad action\" method=\"post\" enctype=\"no enc type\" >test data</form>") ;
 
 $form = new HtmlForm ("data", "action", "get", "enctype") ;
 $r = $form->build() ;
 $r = str_replace ("\n", "", $r) ;
 //print_r (htmlentities($r)) ; echo "<hr>" ;
 $this->assertEqual ($r, "<form style=\"display:inline;\"  action=\"action\" method=\"get\" enctype=\"enctype\" >data</form>") ;
 }
 }
 
 ?>
 |