element = new Zend_Form_Element_Button('foo'); } /** * Tears down the fixture, for example, close a network connection. * This method is called after a test is executed. * * @return void */ public function tearDown() { } public function getView() { require_once 'Zend/View.php'; $view = new Zend_View(); return $view; } public function testButtonElementSubclassesSubmitElement() { $this->assertTrue($this->element instanceof Zend_Form_Element_Submit); } public function testButtonElementSubclassesXhtmlElement() { $this->assertTrue($this->element instanceof Zend_Form_Element_Xhtml); } public function testButtonElementInstanceOfBaseElement() { $this->assertTrue($this->element instanceof Zend_Form_Element); } public function testHelperAttributeSetToFormButtonByDefault() { $this->assertEquals('formButton', $this->element->getAttrib('helper')); } public function testButtonElementUsesButtonHelperInViewHelperDecoratorByDefault() { $this->_checkZf2794(); $decorator = $this->element->getDecorator('viewHelper'); $this->assertTrue($decorator instanceof Zend_Form_Decorator_ViewHelper); $decorator->setElement($this->element); $helper = $decorator->getHelper(); $this->assertEquals('formButton', $helper); } public function testGetLabelReturnsTranslatedLabelIfTranslatorIsRegistered() { $translations = include dirname(__FILE__) . '/../_files/locale/array.php'; $translate = new Zend_Translate('array', $translations, 'en'); $this->element->setTranslator($translate) ->setLabel('submit'); $test = $this->element->getLabel(); $this->assertEquals($translations['submit'], $test); } public function testTranslatedLabelIsRendered() { $this->_checkZf2794(); $this->testGetLabelReturnsTranslatedLabelIfTranslatorIsRegistered(); $this->element->setView($this->getView()); $decorator = $this->element->getDecorator('ViewHelper'); $decorator->setElement($this->element); $html = $decorator->render(''); $this->assertRegexp('/<(input|button)[^>]*?>Submit Button/', $html, $html); } /** * @group ZF-3961 */ public function testValuePropertyShouldNotBeRendered() { $this->element->setLabel('Button Label') ->setView($this->getView()); $html = $this->element->render(); $this->assertContains('Button Label', $html, $html); $this->assertNotContains('value="', $html); } /** * Used by test methods susceptible to ZF-2794, marks a test as incomplete * * @link http://framework.zend.com/issues/browse/ZF-2794 * @return void */ protected function _checkZf2794() { if (strtolower(substr(PHP_OS, 0, 3)) == 'win' && version_compare(PHP_VERSION, '5.1.4', '=')) { $this->markTestIncomplete('Error occurs for PHP 5.1.4 on Windows'); } } } // Call Zend_Form_Element_ButtonTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_Form_Element_ButtonTest::main") { Zend_Form_Element_ButtonTest::main(); }