<?php
/**
* $Id: Form.class.php 562 2006-09-28 16:38:53Z matthieu $
*/
if (!class_exists('Test_Form_Form')) {
if (!defined('__CLASS_PATH__')) {
define('__CLASS_PATH__', realpath(dirname(__FILE__) . '/../../'));
}
require_once __CLASS_PATH__ . '/Autoload.php';
/**
* unit test case for Form_Form class
* @author matthieu <matthieu@phplibrairies.com>
* @package html
* @subpackage unit_test_case
*/
class Test_Form_Form extends Test_Html_Template implements Test_Html_Target_Interface, Test_Html_Design_Interface {
const __GET__ = 'GET';
const __FIELDNAME__ = 'formLabel';
const __DEFAULT_METHOD__ = Form_Form :: _METHOD_POST_;
const __DEFAULT_TARGET__ = Html_Target_Interface :: _TARG_SELF_;
/**
* @var string $action the form action
* @access private
*/
private $action = '';
/**
* constructor
* @access public
* @return void
*/
public function __construct() {
parent :: __construct();
$this->fieldname = self :: __FIELDNAME__;
}
/**
* reinit the FormTextarea object
* @access public
* @return void
*/
public function setUp() {
$this->obj = new Form_Form($this->action);
}
/**
* test the set style method
* @access public
* @return void
*/
public function testDefault() {
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . self :: __DEFAULT_TARGET__ . '">');
$this->_testGetter('getAction()', $this->action, $this->obj->getAction());
$this->_testGetter('getMethod()', self :: __DEFAULT_METHOD__, $this->obj->getMethod());
$this->_testGetter('getTarget()', self :: __DEFAULT_TARGET__, $this->obj->getTarget());
}
/**
* test the set style method
* @access public
* @return void
*/
public function testSetStyle() {
$this->obj->setStyle(parent :: __STYLE_CONTENT__);
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . self :: __DEFAULT_TARGET__ . '" style="' . parent :: __STYLE_CONTENT__ . '">');
$this->_testGetter('getStyle()', parent :: __STYLE_CONTENT__, $this->obj->getStyle());
}
/**
* test the set style class method
* @access public
* @return void
*/
public function testSetStyleClass() {
$this->obj->setStyleClass(parent :: __STYLE_CLASS_NAME__);
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . self :: __DEFAULT_TARGET__ . '" class="' . parent :: __STYLE_CLASS_NAME__ . '">');
}
/**
* test the set style class method
* @access public
* @return void
*/
public function testSetName() {
$this->obj->setName($this->fieldname);
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . self :: __DEFAULT_TARGET__ . '" name="' . $this->fieldname . '">');
}
/**
* test the set method method
* @access public
* @return void
*/
public function testSetMethod() {
$this->obj->setMethod(self :: __GET__);
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __GET__ . '" target="' . self :: __DEFAULT_TARGET__ . '">');
}
/**
* test the set target method
* @access public
* @return void
*/
public function testSetTarget() {
$this->obj->setTarget(Html_Target_Interface :: _TARG_PARENT_);
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . Html_Target_Interface :: _TARG_PARENT_ . '">');
}
/**
* test the add js method
* @access public
* @return void
*/
public function testAddJS() {
$js = new Html_Javascript(Html_Javascript :: __ONSUBMIT__, "alert('ok')");
$this->obj->addJs($js);
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . self :: __DEFAULT_TARGET__ . '" ' . $js->__toString() . '>');
unset ($js);
}
/**
* test the add js method with an unexpected js event
* @access public
* @return void
*/
public function testAddJSUnexpected() {
$this->obj->addJs(new Html_Javascript(Html_Javascript :: __ONCHANGE__, "alert('ok')"));
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . self :: __DEFAULT_TARGET__ . '">');
}
/**
* test the set disabled method
* @access public
* @return void
*/
public function testSetDisabled() {
try {
$this->obj->setDisabled();
$this->assertTrue(false, 'No exception is thrown when asking disabled method on ' . get_class($this->obj) . ' instance');
}
catch (Exception $e) {
$this->_testCode('<form action="' . $this->action . '" method="' . self :: __DEFAULT_METHOD__ . '" target="' . self :: __DEFAULT_TARGET__ . '">');
}
}
}
}
|