/** * Tests whether multiple selected options are returned correctly. */ public function testSelectedOptions() { $tag = new SelectBoxGroupTag(); $tag->setContent('<group:option value="1">One</group:option> <group:option value="2" selected="selected">Two</group:option> <group:option value="3" selected="selected">Three</group:option>'); $tag->onParseTime(); $tag->onAfterAppend(); $options = $tag->getSelectedOptions(); $this->assertNotEmpty($options); $this->assertEquals('2', $options[0]->getValue()); $this->assertEquals('3', $options[1]->getValue()); // ensure method returns references $children = $tag->getChildren(); $keys = array_keys($children); $this->assertEquals(spl_object_hash($children[$keys[1]]), spl_object_hash($options[0])); $this->assertEquals(spl_object_hash($children[$keys[2]]), spl_object_hash($options[1])); }