public function testValidatorGetUnknown()
 {
     $data = array('unknown' => 'xxx');
     $validators = array('month' => 'digits');
     $input = new Zend_Filter_Input(null, $validators, $data);
     $this->assertFalse($input->hasMissing(), 'Expected hasMissing() to return false');
     $this->assertFalse($input->hasInvalid(), 'Expected hasInvalid() to return false');
     $this->assertTrue($input->hasUnknown(), 'Expected hasUnknown() to retrun true');
     $this->assertFalse($input->hasValid(), 'Expected hasValid() to return false');
     $unknown = $input->getUnknown();
     $this->assertType('array', $unknown);
     $this->assertThat($unknown, $this->arrayHasKey('unknown'));
 }
/**
 * Utility function for putting the submitted options into an array
 *
 * @param Zend_Filter_Input $input
 * @return array
 */
function _getOptions($input)
{
    $options = array();
    $dateFields = array('updated_at', 'occurs_at', 'deleted_at', 'created_at');
    /**
     * We get the unknown $input variables because we
     * don't want to have to specify each one in the
     * $validators for this demo.
     */
    $unknown = $input->getUnknown();
    foreach ($unknown as $key => $value) {
        if ($value !== '' && stristr($key, '_operator') === false) {
            //        if (stristr($key, '_operator') === false) {
            if (in_array($key, $dateFields)) {
                $operatorKey = $key . '_operator';
                $options[$key . '.' . $unknown[$operatorKey]] = $value;
            } else {
                $options[$key] = $value;
            }
        }
    }
    return $options;
}