<?php 
/** 
 * $Id: Link.php 1384 2007-04-06 21:02:59Z matthieu $ 
 */ 
if (!class_exists('Test_Html_Link')) { 
    if (!defined('__CLASS_PATH__')) { 
        define('__CLASS_PATH__', realpath(dirname(__FILE__) . '/../../')); 
    } 
    require_once __CLASS_PATH__ . '/Autoload.php'; 
    /** 
     * Test class for Html_Link class 
     * @author Matthieu MARY <[email protected]> 
     * @since $Date$ 
     * @package html 
     * @subpackage unit_test_case 
     */ 
    class Test_Html_Link extends Test_Html_Template implements Test_Html_Design_Interface, Test_Html_Target_Interface { 
        /** 
         * @var string $href the href tested value 
         * @access private 
         */ 
        const __HREF__ = "#"; 
        /** 
         * the expected title value 
         */ 
        const __EXPECTED_TITLE__ = "this is my expected title"; 
        /** 
         * the expected closed lavel 
         */ 
        const __CLOSE_LABEL__ = "click here"; 
        /** 
         * constructor 
         * @access public 
         * @return void 
         */ 
        public function __construct() { 
            parent :: __construct(); 
        } 
        /** 
         * reinit the Link object 
         * @access public 
         * @return void 
         */ 
        public function setUp() { 
            $this->obj = new Html_Link(self :: __HREF__); 
        } 
        /** 
        * test the set style method 
        * @access public 
        * @return void 
        */ 
        public function testDefault() { 
            $this->_testCode('<a href="' . self :: __HREF__ . '">'); 
        } 
        /** 
         * test the set style method 
         * @access public 
         * @return void 
         */ 
        public function testSetTitle() { 
            $this->obj->setTitle(self :: __EXPECTED_TITLE__); 
            $this->_testCode('<a href="' . self :: __HREF__ . '" title="' . self :: __EXPECTED_TITLE__ . '">'); 
        } 
        /** 
         * test the set style method 
         * @access public 
         * @return void 
         */ 
        public function testSetStyle() { 
            $this->obj->setStyle(parent :: __STYLE_CONTENT__); 
            $this->_testCode('<a href="' . self :: __HREF__ . '" 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('<a href="' . self :: __HREF__ . '" class="' . parent :: __STYLE_CLASS_NAME__ . '">'); 
            $this->_testGetter('getStyleClass()', parent :: __STYLE_CLASS_NAME__, $this->obj->getStyleClass()); 
        } 
        /** 
        * test the set target method 
        * @access public 
        * @return void 
        */ 
        public function testSetTarget() { 
            $this->obj->setTarget(Html_Target_Interface :: _TARG_PARENT_); 
            $this->_testCode('<a href="' . self :: __HREF__ . '" target="' . Html_Target_Interface :: _TARG_PARENT_ . '">'); 
        } 
        /** 
        * test the set target method 
        * @access public 
        * @return void 
        */ 
        public function testClose() { 
            $return = $this->obj->close(self :: __CLOSE_LABEL__); 
            $expectedValue = '<a href="' . self :: __HREF__ . '">' . self :: __CLOSE_LABEL__ . '</a>'; 
            $this->assertTrue(($return != ''), 'toString return an empty value'); 
            $this->assertTrue((strcasecmp($return, $expectedValue) == 0), "unexpected return value for toString: found $return, expected $expectedValue"); 
        } 
    } 
}
 
 |