1 require File.dirname(__FILE__) + '/../spec_helper'
3 describe Server, 'app builder' do
4 it "should build app from constructor" do
6 server = Server.new('0.0.0.0', 3000, app)
8 server.app.should == app
11 it "should build app from builder block" do
12 server = Server.new '0.0.0.0', 3000 do
13 run(proc { |env| :works })
16 server.app.call({}).should == :works
19 it "should use middlewares in builder block" do
20 server = Server.new '0.0.0.0', 3000 do
21 use Rack::ShowExceptions
22 run(proc { |env| :works })
25 server.app.class.should == Rack::ShowExceptions
26 server.app.call({}).should == :works
29 it "should work with Rack url mapper" do
30 server = Server.new '0.0.0.0', 3000 do
32 run(proc { |env| [200, {}, 'Found /test'] })
36 default_env = { 'SCRIPT_NAME' => '' }
38 server.app.call(default_env.update('PATH_INFO' => '/'))[0].should == 404
40 status, headers, body = server.app.call(default_env.update('PATH_INFO' => '/test'))
42 body.should == 'Found /test'