1..22
# ->render()
ok 1 - ->render() renders a select tag with the value selected
ok 2 - ->render() renders all choices as option tags
ok 3 - ->render() always generate a value attribute, even for empty keys
ok 4 - ->render() always generate a value attribute, even for empty keys
# multiple select
ok 5 - ->render() automatically adds a multiple HTML attributes if multiple is true
ok 6 - ->render() automatically adds a [] at the end of the name if multiple is true
ok 7 - ->render() renders a select tag with the value selected
ok 8 - ->render() renders a select tag with the value selected
ok 9 - ->render() automatically does not add a [] at the end of the name if multiple is true and the name already has one
# optgroup support
ok 10 - ->render() has support for optgroups tags
ok 11 - __construct() throws an RuntimeException if you don't pass a choices option
# choices are translated
ok 12 - ->render() translates the options
ok 13 - ->render() translates the options
# optgroup support with translated choices
ok 14 - ->render() translates the options
ok 15 - ->render() translates the options
# choices as a callable
ok 16 - ->render() accepts a sfCallable as a choices option
# attributes
ok 17 - ->render() does not pass the select HTML attributes to the option tag
ok 18 - ->render() does not pass the select HTML attributes to the option tag
ok 19 - ->render() does not pass the select HTML attributes to the option tag
ok 20 - ->render() does not pass the select HTML attributes to the option tag
# __clone()
ok 21 - __clone() changes the choices is a callable and the object is an instance of the current object
ok 22 - __clone() changes nothing if the choices is a callable and the object is not an instance of the current object
# Looks like everything went fine.