public function testOptionsFromCollection()
 {
     $roles = array(new MockRole('root', 'SuperAdmin'), new MockRole('admin', 'Administrator'), new MockRole('user', 'SimpleUser'));
     $this->assertDomEqual(options_from_collection_for_select($roles, 'flag', 'lib'), '<option value="root">SuperAdmin</option>
         <option value="admin">Administrator</option>
         <option value="user">SimpleUser</option>');
     $this->assertDomEqual(options_from_collection_for_select($roles, 'flag', 'lib', 'root'), '<option value="root" selected="selected">SuperAdmin</option>
         <option value="admin">Administrator</option>
         <option value="user">SimpleUser</option>');
     $this->assertDomEqual(options_from_collection_for_select($roles, 'flag', 'lib', array('root', 'user')), '<option value="root" selected="selected">SuperAdmin</option>
         <option value="admin">Administrator</option>
         <option value="user" selected="selected">SimpleUser</option>');
 }
function collection_select($objectName, $method, $object, $collection, $valueProp, $textProp, $options = array(), $htmlOptions = array())
{
    list($name, $value, $htmlOptions) = default_options($objectName, $method, $object, $htmlOptions);
    $optionsBlock = add_select_options(options_from_collection_for_select($collection, $valueProp, $textProp, $value), $options, $value);
    return select_tag($name, $optionsBlock, $htmlOptions);
}