Example #1
0
 public function testProvidesInputSpecificationForSingleSelect()
 {
     $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;
         }
     }
 }
Example #2
0
 /**
  * @dataProvider getMultiElements
  * @group multi
  */
 public function testRendersMultiElementsAsExpected($type, $inputType, $additionalMarkup)
 {
     if ($type === 'radio') {
         $element = new Element\Radio('foo');
         $this->assertEquals('radio', $element->getAttribute('type'));
     } elseif ($type === 'multi_checkbox') {
         $element = new Element\MultiCheckbox('foo');
         $this->assertEquals('multi_checkbox', $element->getAttribute('type'));
     } elseif ($type === 'select') {
         $element = new Element\Select('foo');
         $this->assertEquals('select', $element->getAttribute('type'));
     } else {
         $element = new Element('foo');
     }
     $element->setAttribute('type', $type);
     $element->setValueOptions(array('value1' => 'option', 'value2' => 'label', 'value3' => 'last'));
     $element->setAttribute('value', 'value2');
     $markup = $this->helper->render($element);
     $this->assertEquals(3, substr_count($markup, '<' . $inputType), $markup);
     $this->assertContains($additionalMarkup, $markup);
     if ($type == 'select') {
         $this->assertRegexp('#value="value2"[^>]*?(selected="selected")#', $markup);
     }
 }
Example #3
0
 public function testOptionsHasArrayOnConstruct()
 {
     $element = new SelectElement();
     $this->assertTrue(is_array($element->getAttribute('options')));
 }