0
require File.dirname(__FILE__) + '/helper'
0
context "Looking up a request" do
0
-
@app = Sinatra::Application.new0
+
Sinatra.application = nil0
specify "returns what's at the end" do
0
block = Proc.new { 'Hello' }
0
- @app.define_event(:get, '/', &block)
0
+ result = Sinatra.application.lookup(
0
'REQUEST_METHOD' => 'GET',
0
@@ -21,9 +29,9 @@ context "Looking up a request" do
0
specify "takes params in path" do
0
block = Proc.new { 'Hello' }
0
-
@app.define_event(:get, '/:foo', &block)0
+ result =
Sinatra.application.lookup(
0
'REQUEST_METHOD' => 'GET',
0
context "An app returns" do
0
-
@app = Sinatra::Application.new0
+
Sinatra.application = nil0
specify "404 if no events found" do
0
request = Rack::MockRequest.new(@app)
0
- result = request.get('/')
0
- result.should.be.not_found
0
- result.body.should.equal '<h1>Not Found</h1>'
0
+ body.should.equal '<h1>Not Found</h1>'
0
specify "200 if success" do
0
-
@app.define_event(:get, '/') do
0
- request = Rack::MockRequest.new(@app)
0
- result = request.get('/')
0
- result.body.should.equal 'Hello World'
0
+ body.should.equal 'Hello World'
0
specify "an objects result from each if it has it" do
0
- @app.define_event(:get, '/') do
0
- request = Rack::MockRequest.new(@app)
0
- result = request.get('/')
0
- result.body.should.equal 'foobarbaz'
0
+ body.should.equal 'foobarbaz'
0
specify "the body set if set before the last" do
0
-
@app.define_event(:get, '/') do
0
- request = Rack::MockRequest.new(@app)
0
- result = request.get('/')
0
- result.body.should.equal 'Blake'
0
+ body.should.equal 'Blake'
0
context "Events in an app" do
0
-
@app = Sinatra::Application.new0
+
Sinatra.application = nil0
specify "evaluate in a clean context" do
0
-
Sinatra::EventContext.class_eval do
0
-
@app.define_event(:get, '/foo') do
0
- request = Rack::MockRequest.new(@app)
0
- result = request.get('/foo')
0
- result.body.should.equal 'foo'
0
+ body.should.equal 'foo'
0
specify "get access to request, response, and params" do
0
-
@app.define_event(:get, '/:foo') do
0
params[:foo] + params[:bar]
0
- request = Rack::MockRequest.new(@app)
0
- result = request.get('/foo?bar=baz')
0
- result.body.should.equal 'foobaz'
0
+ body.should.equal 'foobaz'
0
specify "can filters by agent" do
0
-
@app.define_event(:get, '/', :agent => /Windows/) do
0
+
get '/', :agent => /Windows/ do
0
request.env['HTTP_USER_AGENT']
0
- request = Rack::MockRequest.new(@app)
0
- result = request.get('/', :agent => 'Windows')
0
- result.body.should.equal 'Windows'
0
+ get_it '/', :agent => 'Windows'
0
+ body.should.equal 'Windows'
0
- request = Rack::MockRequest.new(@app)
0
- result = request.get('/', :agent => 'Mac')
0
- result.should.not.be.ok
0
+ get_it '/', :agent => 'Mac'
Comments
No one has commented yet.