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