1. Don't add the sinatra lib dir to $: on each reload. 2. Don't remove sinatra.rb from $LOADED_FEATURES unless we're reloading.
I think this ended ended up being a much cleaner implementation, anyway.
Works around an issue introduced in Rack 0.9.0 with request body params not being parsed when the request method is PUT. This should be reverted once a fix lands in Rack. Ticket for Rack fix: http://rack.lighthouseapp.com/projects/22435-rack/tickets/20 More: http://sinatra.lighthouseapp.com/projects/9779/tickets/72
* Adds test/helper.rb and moves mock_app and other code specific to testing the framework out of Sinatra::Test. * Do not require test/unit. The sinatra/test/unit, sinatra/test/spec, and sinatra/test/rspec files can be used to choose the framework. * Add Sinatra::TestHarness, which should act similar to the Rack::Session proposal here: http://gist.github.com/41270 * Update the README with information on using the different test frameworks.
This helps to write things like: haml :template, :layout => !request.xhr?
Also added a dump_errors option so that this can be disabled when necessary.
Cleans up all warnings generated from Sinatra. There's still a bunch of warnings coming from HAML, though. It would be nice if we could use Kernel#warn for deprecation notices but that's going to be annoying if there's a bunch of unrelated warnings from other libs.