/** * @group ZF-3100 */ public function testPluginLoaderWithFilterValidateNamespaceWithSameNameFilterAndValidatorWorksPerfectly() { // Array $filters = array('date1' => array('Date')); $validators = array('date1' => array('Date')); $data = array('date1' => '1990-01-01'); $options = array('filterNamespace' => array('MyZend_Filter'), 'validatorNamespace' => array('MyZend_Validate')); $filter = new Zend_Filter_Input($filters, $validators, $data, $options); try { $filter->process(); $this->assertEquals("2000-01-01", $filter->date1); } catch (Zend_Filter_Exception $e) { $this->fail(); } // String notation $options = array('filterNamespace' => 'MyZend_Filter', 'validatorNamespace' => 'MyZend_Validate'); $filter = new Zend_Filter_Input($filters, $validators, $data, $options); try { $filter->process(); $this->assertEquals("2000-01-01", $filter->date1); } catch (Zend_Filter_Exception $e) { $this->fail(); } }
public function testProcessMissingThrowsException() { $data = array('field1' => 'ab&c'); $filters = array('*' => 'StringTrim', 'field2' => 'digits'); $validators = array('field1' => array(Zend_Filter_Input::PRESENCE => Zend_Filter_Input::PRESENCE_OPTIONAL), 'field2' => array('digits', Zend_Filter_Input::PRESENCE => Zend_Filter_Input::PRESENCE_REQUIRED)); $input = new Zend_Filter_Input($filters, $validators, $data); try { $input->process(); $this->fail('Expected to catch Zend_Filter_Exception'); } catch (Zend_Exception $e) { $this->assertType('Zend_Filter_Exception', $e, 'Expected object of type Zend_Filter_Exception, got ' . get_class($e)); $this->assertEquals("Input has missing fields", $e->getMessage()); $this->assertTrue($input->hasMissing(), 'Expected hasMissing() to return true'); $this->assertFalse($input->hasInvalid(), 'Expected hasInvalid() to return false'); $this->assertFalse($input->hasUnknown(), 'Expected hasUnknown() to return false'); $this->assertTrue($input->hasValid(), 'Expected hasValid() to return true'); } }
/** * Overrides parent implementation by adding a call to _preProcess * before the data gets processed. * * @return Zend_Filter_Input * @throws Zend_Filter_Exception */ public function process() { if ($this->_processed === true) { return; } $this->_preProcess(); return parent::process(); }