public function testSelectOptionGroups() { $form = new Form(); $country = $form->addSingleSelect('country'); $country->addOptionGroup('Europe')->addOptions(['GB' => 'United Kingdom', 'IE' => 'Ireland', 'FR' => 'France']); $country->addOptionGroup('America')->addOptions(['US' => 'United States', 'CA' => 'Canada']); $country->addOption('Antarctica', 'AQ'); $country->setValue('US'); $this->assertEquals('US', $country->getValue()); $id = $country->getId(); $html = '<select name="country" id="' . $id . '">' . '<optgroup label="Europe">' . '<option value="GB">United Kingdom</option>' . '<option value="IE">Ireland</option>' . '<option value="FR">France</option>' . '</optgroup>' . '<optgroup label="America">' . '<option value="US" selected="selected">United States</option>' . '<option value="CA">Canada</option>' . '</optgroup>' . '<option value="AQ">Antarctica</option>' . '</select>'; $this->assertEquals($html, $country->render()); }