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); }