/** * Iterates through the value_options & set the value option's appropriate class * * @param Element\MultiCheckbox $element * @return array */ public function setOptionLabelAttributes(Element\MultiCheckbox $element) { $valueOptions = $element->getValueOptions(); $elementClass = array_pop(explode('\\', get_class($element))); $labelClass = ''; foreach ($valueOptions as $key => $spec) { if (!is_array($spec)) { continue; } if (!isset($spec['label_attributes'])) { $spec['label_attributes'] = array('class' => ''); } if (is_scalar($spec['label_attributes'])) { $spec['label_attributes'] = array($spec['label_attributes']); } if (!isset($spec['label_attributes']['class'])) { $spec['label_attributes']['class'] = ''; } switch ($elementClass) { case 'MultiCheckbox': $labelClass = 'checkbox'; break; case 'Radio': $labelClass = 'radio'; break; } $class = strstr($spec['label_attributes']['class'], $labelClass) === false ? ' ' . $labelClass : ''; $spec['label_attributes']['class'] = trim($spec['label_attributes']['class'] . $class); $valueOptions[$key] = $spec; } return $valueOptions; }
public function testUnsetUndefinedValueOption() { $element = new MultiCheckboxElement(); $element->setValueOptions(array('Option 1' => 'option1', 'Option 2' => 'option2', 'Option 3' => 'option3')); $element->unsetValueOption('Option Undefined'); $valueOptions = $element->getValueOptions(); $this->assertArrayNotHasKey('Option Undefined', $valueOptions); }