<?php
require_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>") ;
}
}
?>
|