Exemplo n.º 1
0
 public function getInputSpecification()
 {
     $spec = parent::getInputSpecification();
     $spec['allow_empty'] = true;
     $spec['filters'] = [new NullFilter(NullFilter::TYPE_STRING)];
     return $spec;
 }
Exemplo n.º 2
0
 /**
  * @dataProvider selectOptionsDataProvider
  */
 public function testInArrayValidationOfOptions($valueTests, $options)
 {
     $element = new SelectElement('my-select');
     $element->setAttributes(array('options' => $options));
     $inputSpec = $element->getInputSpecification();
     $this->assertArrayHasKey('validators', $inputSpec);
     $inArrayValidator = $inputSpec['validators'][0];
     $this->assertInstanceOf('Zend\\Validator\\InArray', $inArrayValidator);
     foreach ($valueTests as $valueToTest) {
         $this->assertTrue($inArrayValidator->isValid($valueToTest));
     }
 }
Exemplo n.º 3
0
 public function testProvidesInputSpecificationForMultipleSelect()
 {
     $element = new SelectElement();
     $element->setAttributes(array('multiple' => true, 'options' => array('Option 1' => 'option1', 'Option 2' => 'option2', 'Option 3' => 'option3')));
     $inputSpec = $element->getInputSpecification();
     $this->assertArrayHasKey('validators', $inputSpec);
     $this->assertInternalType('array', $inputSpec['validators']);
     $expectedClasses = array('Zend\\Validator\\Explode');
     foreach ($inputSpec['validators'] as $validator) {
         $class = get_class($validator);
         $this->assertTrue(in_array($class, $expectedClasses), $class);
         switch ($class) {
             case 'Zend\\Validator\\Explode':
                 $this->assertInstanceOf('Zend\\Validator\\InArray', $validator->getValidator());
                 break;
             default:
                 break;
         }
     }
 }
Exemplo n.º 4
0
 public function testProvidesInputSpecificationThatIncludesValidatorsBasedOnAttributes()
 {
     $element = new SelectElement();
     $element->setAttribute('options', array('Option 1' => 'option1', 'Option 2' => 'option2', 'Option 3' => 'option3'));
     $inputSpec = $element->getInputSpecification();
     $this->assertArrayHasKey('validators', $inputSpec);
     $this->assertInternalType('array', $inputSpec['validators']);
     $expectedClasses = array('Zend\\Validator\\InArray');
     foreach ($inputSpec['validators'] as $validator) {
         $class = get_class($validator);
         $this->assertTrue(in_array($class, $expectedClasses), $class);
         switch ($class) {
             case 'Zend\\Validator\\InArray':
                 $this->assertEquals($element->getAttribute('options'), $validator->getHaystack());
                 break;
             default:
                 break;
         }
     }
 }
Exemplo n.º 5
0
 public function testDisableInputSpecification()
 {
     $element = new SelectElement();
     $element->setValueOptions(array('Option 1' => 'option1', 'Option 2' => 'option2', 'Option 3' => 'option3'));
     $element->setDisableInArrayValidator(true);
     $inputSpec = $element->getInputSpecification();
     $this->assertArrayNotHasKey('validators', $inputSpec);
 }
Exemplo n.º 6
0
 /**
  * Testing that InArray Validator Haystack is Updated if the Options
  * are added after the validator is attached
  *
  * @dataProvider selectOptionsDataProvider
  */
 public function testInArrayValidatorHaystakIsUpdated($valueTests, $options)
 {
     $element = new SelectElement('my-select');
     $inputSpec = $element->getInputSpecification();
     $inArrayValidator = $inputSpec['validators'][0];
     $this->assertInstanceOf('Zend\\Validator\\InArray', $inArrayValidator);
     $element->setValueOptions($options);
     $haystack = $inArrayValidator->getHaystack();
     $this->assertCount(count($options), $haystack);
 }
Exemplo n.º 7
0
 public function testProvidesInputSpecificationForMultipleSelectWithUseHiddenElement()
 {
     $element = new SelectElement();
     $element->setUseHiddenElement(true)->setAttributes(array('multiple' => true));
     $inputSpec = $element->getInputSpecification();
     $this->assertArrayHasKey('allow_empty', $inputSpec);
     $this->assertTrue($inputSpec['allow_empty']);
     $this->assertArrayHasKey('continue_if_empty', $inputSpec);
     $this->assertTrue($inputSpec['continue_if_empty']);
 }
Exemplo n.º 8
0
 /**
  * {@inheritDoc}
  */
 public function getInputSpecification()
 {
     $inputSpec = parent::getInputSpecification();
     $defaultFilters = [['name' => 'StringTrim']];
     if (isset($inputSpec['filters'])) {
         array_unshift($inputSpec['filters'], $defaultFilters);
     } else {
         $inputSpec['filters'] = $defaultFilters;
     }
     return $inputSpec;
 }