isInstanceOf($propDefaultValue, 'Zend_CodeGenerator_Php_Property_DefaultValue'); } public function testPropertyDefaultValueIsSettable() { $propDefaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(); $propDefaultValue->setValue('foo'); $this->assertEquals('foo', $propDefaultValue->getValue()); //$this->assertEquals('\'foo\';', $propDefaultValue->generate()); } public function testPropertyDefaultValueCanHandleStrings() { $propDefaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(); $propDefaultValue->setValue('foo'); $this->assertEquals('\'foo\';', $propDefaultValue->generate()); } public function testPropertyDefaultValueCanHandleArray() { $propDefaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(); $propDefaultValue->setValue(array('foo')); $this->assertEquals('array(\'foo\');', $propDefaultValue->generate()); } public function testPropertyDefaultValueCanHandleUnquotedString() { $propDefaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(); $propDefaultValue->setValue('PHP_EOL'); $propDefaultValue->setType('constant'); $this->assertEquals('PHP_EOL;', $propDefaultValue->generate()); $propDefaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(); $propDefaultValue->setValue(5); $this->assertEquals('5;', $propDefaultValue->generate()); $propDefaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(); $propDefaultValue->setValue(5.25); $this->assertEquals('5.25;', $propDefaultValue->generate()); } public function testPropertyDefaultValueCanHandleComplexArrayOfTypes() { $targetValue = array( 5, 'one' => 1, 'two' => '2', array( 'foo', 'bar', array( 'baz1', 'baz2' ) ), new Zend_CodeGenerator_Php_Property_DefaultValue(array('value' => 'PHP_EOL', 'type' => 'constant')) ); $expectedSource = << 1, 'two' => '2', array( 'foo', 'bar', array( 'baz1', 'baz2' ) ), PHP_EOL ); EOS; // On Windows, we need PHP_EOL, but heredoc provides \n $expectedSource = str_replace("\n", PHP_EOL, $expectedSource); $propDefaultValue = new Zend_CodeGenerator_Php_Property_DefaultValue(); $propDefaultValue->setValue($targetValue); $generatedTargetSource = $propDefaultValue->generate(); $this->assertEquals($expectedSource, $generatedTargetSource); } }