assertTrue($valid->isValid('test')); } public function testStaticCallback() { $valid = new Zend_Validate_Callback( array('Zend_Validate_CallbackTest', 'staticCallback') ); $this->assertTrue($valid->isValid('test')); } public function testSettingDefaultOptionsAfterwards() { $valid = new Zend_Validate_Callback(array($this, 'objectCallback')); $valid->setOptions('options'); $this->assertEquals(array('options'), $valid->getOptions()); $this->assertTrue($valid->isValid('test')); } public function testSettingDefaultOptions() { $valid = new Zend_Validate_Callback(array('callback' => array($this, 'objectCallback'), 'options' => 'options')); $this->assertEquals(array('options'), $valid->getOptions()); $this->assertTrue($valid->isValid('test')); } public function testGettingCallback() { $valid = new Zend_Validate_Callback(array($this, 'objectCallback')); $this->assertEquals(array($this, 'objectCallback'), $valid->getCallback()); } public function testInvalidCallback() { $valid = new Zend_Validate_Callback(array($this, 'objectCallback')); try { $valid->setCallback('invalidcallback'); $this->fail('Exception expected'); } catch (Zend_Exception $e) { $this->assertContains('Invalid callback given', $e->getMessage()); } } public function testAddingValueOptions() { $valid = new Zend_Validate_Callback(array('callback' => array($this, 'optionsCallback'), 'options' => 'options')); $this->assertEquals(array('options'), $valid->getOptions()); $this->assertTrue($valid->isValid('test', 'something')); } public function objectCallback($value) { return true; } public static function staticCallback($value) { return true; } public function optionsCallback($value) { $args = func_get_args(); $this->assertContains('something', $args); return $args; } } if (PHPUnit_MAIN_METHOD == 'Zend_Validate_CallbackTest::main') { Zend_Validate_CallbackTest::main(); }