compat/events_test.rb in bmizerany-sinatra-0.9.0 vs compat/events_test.rb in bmizerany-sinatra-0.9.0.2

- old
+ new

@@ -1,9 +1,8 @@ require File.dirname(__FILE__) + '/helper' context "Simple Events" do - def simple_request_hash(method, path) Rack::Request.new({ 'REQUEST_METHOD' => method.to_s.upcase, 'PATH_INFO' => path }) @@ -12,20 +11,20 @@ class MockResult < Struct.new(:block, :params) end def invoke_simple(path, request_path, &b) params = nil - mock_app { - get path do - params = self.params - b.call if b - end - } + get path do + params = self.params + b.call if b + end get_it request_path MockResult.new(b, params) end + setup { Sinatra.application = nil } + specify "return last value" do block = Proc.new { 'Simple' } result = invoke_simple('/', '/', &block) result.should.not.be.nil result.block.should.be block @@ -36,27 +35,31 @@ result = invoke_simple('/:foo/:bar', '/a/b') result.should.not.be.nil result.params.should.equal "foo" => 'a', "bar" => 'b' # unscapes + Sinatra.application = nil result = invoke_simple('/:foo/:bar', '/a/blake%20mizerany') result.should.not.be.nil result.params.should.equal "foo" => 'a', "bar" => 'blake mizerany' end specify "takes optional params in path" do result = invoke_simple('/?:foo?/?:bar?', '/a/b') result.should.not.be.nil result.params.should.equal "foo" => 'a', "bar" => 'b' + Sinatra.application = nil result = invoke_simple('/?:foo?/?:bar?', '/a/') result.should.not.be.nil result.params.should.equal "foo" => 'a', "bar" => nil + Sinatra.application = nil result = invoke_simple('/?:foo?/?:bar?', '/a') result.should.not.be.nil result.params.should.equal "foo" => 'a', "bar" => nil + Sinatra.application = nil result = invoke_simple('/:foo?/?:bar?', '/') result.should.not.be.nil result.params.should.equal "foo" => nil, "bar" => nil end