view = $this->getView(); $this->element = $this->getElement(); $this->element->setView($this->view); } /** * 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(); $view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper'); return $view; } public function getElement() { $element = new Zend_Dojo_Form_Element_CurrencyTextBox( 'foo', array( 'value' => 'some text', 'label' => 'CurrencyTextBox', 'class' => 'someclass', 'style' => 'width: 100px;', ) ); return $element; } public function testShouldExtendNumberTextBox() { $this->assertTrue($this->element instanceof Zend_Dojo_Form_Element_NumberTextBox); } public function testCurrencyAccessorsShouldProxyToDijitParams() { $this->assertNull($this->element->getCurrency()); $this->assertNull($this->element->getDijitParam('currency')); $this->element->setCurrency('USD'); $this->assertEquals('USD', $this->element->getCurrency()); $this->assertEquals('USD', $this->element->getDijitParam('currency')); } public function testFractionalAccessorsShouldProxyToConstraints() { $this->assertFalse($this->element->getFractional()); $this->assertFalse(array_key_exists('constraints', $this->element->dijitParams)); $this->element->setFractional(true); $this->assertTrue($this->element->getFractional()); $this->assertEquals('true', $this->element->dijitParams['constraints']['fractional']); } public function testSymbolAccessorsShouldProxyToConstraints() { $this->assertNull($this->element->getSymbol()); $this->assertFalse($this->element->hasConstraint('symbol')); $this->element->setSymbol('USD'); $this->assertEquals('USD', $this->element->getSymbol()); $this->assertEquals('USD', $this->element->getConstraint('symbol')); } public function testSymbolMutatorShouldCastToStringAndUppercaseAndLimitTo3Chars() { $this->element->setSymbol('usdollar'); $this->assertEquals('USD', $this->element->getSymbol()); $this->assertEquals('USD', $this->element->getConstraint('symbol')); } /** * @expectedException Zend_Form_Element_Exception */ public function testSymbolMutatorShouldRaiseExceptionWhenFewerThan3CharsProvided() { $this->element->setSymbol('$'); } public function testShouldRenderCurrencyTextBoxDijit() { $html = $this->element->render(); $this->assertContains('dojoType="dijit.form.CurrencyTextBox"', $html); } } // Call Zend_Dojo_Form_Element_CurrencyTextBoxTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_Dojo_Form_Element_CurrencyTextBoxTest::main") { Zend_Dojo_Form_Element_CurrencyTextBoxTest::main(); }