=== TODO: Top Priorities: * Installation + NSIS installer + Mac OS X pkg * Manual * More CGD and installation tests * FastCGIServlet: modify resin servlet to do process management * 'web/shim/rails' Web * Update Web::set_redirect() to use javascript if headers have been sent, instead of throwing nasty error. Templating * Test tags in strange circumstances, i.e. " ?> * Replace the Foreach syntax with the following: * Add support for RadioButtons * pass through all values not depended on by the tag parser. * Add support for links so that they correctly link to the current cgi, or to a different one. * Support form submits, and redirects to urls of the form "?foo=bar", ie no script is mentioned. * Provide a hook into test_unit to allow sessions to be automatically reset before a setup * Have the tag parser report which tag was not matched * The following line produces an unhelpful error message: * Make VarNotFoundException report a better error message, including line number and what var was not found. Print out some context from the template too. * Add better error reporting (including line numbers and context) for template parse errors. * Add tests to test Web::Link Web::Testing * Allow clicking of links in a test. * Add support for submitting a form to a CGI other than the current one. * Have Values in textarea's and value attributes in other fields correctly escaped so all escaping issues are handled. * Add support for specific buttons to be submitted on a form. * Provide a default form submit that submits any un-named form on the page. * Allow a request to be made directly to a form, passing in objects (objects should be serialized, unserialized before passing) * Add an assert that a particular template was used assert_form_displayed MyTemplate * Add a way to find out how long an array is in a test * Add error reporting for when a template can not be found * Report errors for unrecognized parameters for do_request * Have assert_includes handle array fields to allow for parameters with array types. Web::SimpleDispatcher * Support for useful data-binding might include - Optionally, not having eveything written back to the form - Automatic data type conversions, perhaps specified in a form tag. * Submit could do with a more helpful error message. If a field is not present, it could list out the fields that are present. * Have do request automatically encode objects * Make sure round trip object serialization works correctly