Change soft-fail to use the config, rather than env
[rbx.git] / spec / frozen / 1.8 / library / net / http / start_spec.rb
blob0a704c3aab3007cc4bb0bcc3177c4926d8a87d79
1 require File.dirname(__FILE__) + '/../../../spec_helper'
2 require 'net/http'
3 require File.dirname(__FILE__) + '/fixtures/http_server'
5 describe "Net::HTTP.start" do
6   before(:all) do
7     NetHTTPSpecs.start_server
8   end
9   
10   after(:all) do
11     NetHTTPSpecs.stop_server
12   end
14   it "returns a new Net::HTTP object for the passed address and port" do
15     net = Net::HTTP.start("localhost", 3333)
16     net.should be_kind_of(Net::HTTP)
17     net.address.should == "localhost"
18     net.port.should == 3333
19   end
20   
21   it "opens the tcp connection" do
22     Net::HTTP.start("localhost", 3333).started?.should be_true
23   end
24 end
26 describe "Net::HTTP.start when passed a block" do
27   before(:all) do
28     NetHTTPSpecs.start_server
29   end
30   
31   after(:all) do
32     NetHTTPSpecs.stop_server
33   end
35   it "returns the blocks return value" do
36     Net::HTTP.start("localhost", 3333) { :test }.should == :test
37   end
38   
39   it "yields the new Net::HTTP object to the block" do
40     yielded = false
41     Net::HTTP.start("localhost", 3333) do |net|
42       yielded = true
43       net.should be_kind_of(Net::HTTP)
44     end
45     yielded.should be_true
46   end
48   it "opens the tcp connection before yielding" do
49     Net::HTTP.start("localhost", 3333) { |http| http.started?.should be_true }
50   end
52   it "closes the tcp connection after yielding" do
53     net = nil
54     Net::HTTP.start("localhost", 3333) { |x| net = x }
55     net.started?.should be_false
56   end
57 end
59 describe "Net::HTTP#start" do
60   before(:all) do
61     NetHTTPSpecs.start_server
62   end
63   
64   after(:all) do
65     NetHTTPSpecs.stop_server
66   end
67   
68   before(:each) do
69     @http = Net::HTTP.new("localhost", 3333)
70   end
71   
72   it "returns self" do
73     @http.start.should equal(@http)
74   end
75   
76   it "opens the tcp connection" do
77     @http.start
78     @http.started?.should be_true
79   end
80 end
82 describe "Net::HTTP#start when self has already been started" do
83   before(:all) do
84     NetHTTPSpecs.start_server
85   end
86   
87   after(:all) do
88     NetHTTPSpecs.stop_server
89   end
91   before(:each) do
92     @http = Net::HTTP.new("localhost", 3333)
93   end
95   it "raises an IOError" do
96     @http.start
97     lambda { @http.start }.should raise_error(IOError)
98   end
99 end
101 describe "Net::HTTP#start when passed a block" do
102   before(:all) do
103     NetHTTPSpecs.start_server
104   end
105   
106   after(:all) do
107     NetHTTPSpecs.stop_server
108   end
110   before(:each) do
111     @http = Net::HTTP.new("localhost", 3333)
112   end
114   it "returns the blocks return value" do
115     @http.start { :test }.should == :test
116   end
117   
118   it "yields the new Net::HTTP object to the block" do
119     yielded = false
120     @http.start do |http|
121       yielded = true
122       http.should equal(@http)
123     end
124     yielded.should be_true
125   end
126   
127   it "opens the tcp connection before yielding" do
128     @http.start { |http| http.started?.should be_true }
129   end
130   
131   it "closes the tcp connection after yielding" do
132     @http.start { }
133     @http.started?.should be_false
134   end