test/spec_recursive.rb in rack-1.4.1 vs test/spec_recursive.rb in rack-1.4.2
- old
+ new
@@ -1,5 +1,6 @@
+require 'rack/lint'
require 'rack/recursive'
require 'rack/mock'
describe Rack::Recursive do
@app1 = lambda { |env|
@@ -26,36 +27,38 @@
}
@app4 = lambda { |env|
raise Rack::ForwardRequest.new("http://example.org/app1/quux?meh")
}
+
+ def recursive(map)
+ Rack::Lint.new Rack::Recursive.new(Rack::URLMap.new(map))
+ end
should "allow for subrequests" do
- res = Rack::MockRequest.new(Rack::Recursive.new(
- Rack::URLMap.new("/app1" => @app1,
- "/app2" => @app2))).
+ res = Rack::MockRequest.new(recursive("/app1" => @app1,
+ "/app2" => @app2)).
get("/app2")
res.should.be.ok
res.body.should.equal "App2App1"
end
should "raise error on requests not below the app" do
app = Rack::URLMap.new("/app1" => @app1,
- "/app" => Rack::Recursive.new(
- Rack::URLMap.new("/1" => @app1,
- "/2" => @app2)))
+ "/app" => recursive("/1" => @app1,
+ "/2" => @app2))
lambda {
Rack::MockRequest.new(app).get("/app/2")
}.should.raise(ArgumentError).
message.should =~ /can only include below/
end
should "support forwarding" do
- app = Rack::Recursive.new(Rack::URLMap.new("/app1" => @app1,
- "/app3" => @app3,
- "/app4" => @app4))
+ app = recursive("/app1" => @app1,
+ "/app3" => @app3,
+ "/app4" => @app4)
res = Rack::MockRequest.new(app).get("/app3")
res.should.be.ok
res.body.should.equal "App1"