Sha256: db29ac5318cc02c96742215e9b03532b3d6952c163d93fb354c7266a1894e138

Contents?: true

Size: 1.76 KB

Versions: 11

Compression:

Stored size: 1.76 KB

Contents

require File.expand_path('spec_helper', File.dirname(__FILE__))

describe Capybara::Server do

  it "should spool up a rack server" do
    @app = proc { |env| [200, {}, "Hello Server!"]}
    @server = Capybara::Server.new(@app).boot
    
    @res = Net::HTTP.start(@server.host, @server.port) { |http| http.get('/') }
    
    @res.body.should include('Hello Server')
  end

  it "should do nothing when no server given" do
    running do
      @server = Capybara::Server.new(nil).boot
    end.should_not raise_error
  end
  
  it "should find an available port" do
    @app1 = proc { |env| [200, {}, "Hello Server!"]}
    @app2 = proc { |env| [200, {}, "Hello Second Server!"]}

    @server1 = Capybara::Server.new(@app1).boot
    @server2 = Capybara::Server.new(@app2).boot
    
    @res1 = Net::HTTP.start(@server1.host, @server1.port) { |http| http.get('/') }
    @res1.body.should include('Hello Server')
    
    @res2 = Net::HTTP.start(@server2.host, @server2.port) { |http| http.get('/') }
    @res2.body.should include('Hello Second Server')
  end
  
  it "should use the server if it already running" do
    @app1 = proc { |env| [200, {}, "Hello Server!"]}
    @app2 = proc { |env| [200, {}, "Hello Second Server!"]}

    @server1a = Capybara::Server.new(@app1).boot
    @server1b = Capybara::Server.new(@app1).boot
    @server2a = Capybara::Server.new(@app2).boot
    @server2b = Capybara::Server.new(@app2).boot
    
    @res1 = Net::HTTP.start(@server1b.host, @server1b.port) { |http| http.get('/') }
    @res1.body.should include('Hello Server')
    
    @res2 = Net::HTTP.start(@server2b.host, @server2b.port) { |http| http.get('/') }
    @res2.body.should include('Hello Second Server')
    
    @server1a.port.should == @server1b.port
    @server2a.port.should == @server2b.port
  end

end

Version data entries

11 entries across 11 versions & 6 rubygems

Version Path
yannp-capybara-0.4.0 spec/server_spec.rb
yannp-capybara-0.3.9 spec/server_spec.rb
david-capybara-0.3.9.1 spec/server_spec.rb
capybara-0.3.9 spec/server_spec.rb
david-capybara-0.3.8 spec/server_spec.rb
katzil-capybara-0.3.8 spec/server_spec.rb
capybara-0.3.8 spec/server_spec.rb
pr0d1r2-capybara-0.3.7 spec/server_spec.rb
capybara-0.3.7 spec/server_spec.rb
capybara-0.3.6 spec/server_spec.rb
h13ronim-capybara-0.3.0.1 spec/server_spec.rb