1..34 # __construct() ok 1 - __construct() takes a id_format argument ok 2 - ->render() id attributes takes precedence over auto generated ids ok 3 - __construct() can disable id generation # ->getLabel() ->setLabel() ok 4 - ->getLabel() returns null if no label has been defined ok 5 - ->getLabel() returns the label ok 6 - ->setLabel() changes the label # ->getDefault() ->setDefault() ok 7 - ->getDefault() returns null if no default value has been defined ok 8 - ->getDefault() returns the default value ok 9 - ->setDefault() changes the default value for the widget # ->getParent() ->setParent() ok 10 - ->getParent() returns null if no widget schema has been defined ok 11 - ->setParent() associates a widget schema to the widget # ->getIdFormat() ->setIdFormat() ok 12 - ->setIdFormat() sets the format for the generated id attribute # ->isHidden() ok 13 - ->isHidden() returns false if a widget is not hidden ok 14 - ->isHidden() returns true if a widget is hidden # ->needsMultipartForm() ok 15 - ->needsMultipartForm() returns false if the widget does not need a multipart form ok 16 - ->needsMultipartForm() returns false if the widget needs a multipart form # ->renderTag() ok 17 - ->renderTag() does not add an id if no name is given ok 18 - ->renderTag() does not add an id if one is given ok 19 - ->renderTag() adds an id if none is given and a name is given ok 20 - ->renderTag() uses the id_format to generate an id ok 21 - ->renderTag() does not close tag if not in XHTML mode # ->renderContentTag() ok 22 - ->renderContentTag() does not add an id if no name is given ok 23 - ->renderContentTag() does not add an id if one is given ok 24 - ->renderContentTag() adds an id if none is given and a name is given ok 25 - ->renderContentTag() uses the id_format to generate an id # ->generateId() ok 26 - ->setIdFormat() sets the format of the widget id ok 27 - ->generateId() removes the [] from the name ok 28 - ->generateId() replaces [] with _ ok 29 - ->generateId() takes the value into account if provided ok 30 - ->generateId() leaves valid ids ok 31 - ->generateId() returns the name if the id format does not contain %s ok 32 - ->generateId() removes invalid characters ok 33 - ->generateId() removes invalid characters ok 34 - ->generateId() removes invalid characters # Looks like everything went fine.