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; } } }
/** * @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); } }
public function testOptionsHasArrayOnConstruct() { $element = new SelectElement(); $this->assertTrue(is_array($element->getAttribute('options'))); }