Updated RubySpec source to 55122684.
[rbx.git] / spec / frozen / 1.8 / library / socket / basicsocket / close_write_spec.rb
blob49b8e420638cc11b7cfdb6ee77ed12d9ee26d2ca
1 require File.dirname(__FILE__) + '/../../../spec_helper'
2 require File.dirname(__FILE__) + '/../fixtures/classes'
4 describe "Socket::BasicSocket#close_write" do
5   before :each do
6     @server = TCPServer.new(SocketSpecs.port)    
7   end
9   after :each do
10     @server.close unless @server.closed?
11   end
13   compliant_on :ruby do
14     it "closes the writing end of the socket" do
15       @server.close_write
16       lambda { @server.write("foo") }.should raise_error(IOError)
17     end
19     it "works on sockets with closed write ends" do
20       @server.close_write
21       lambda { @server.close_write }.should_not raise_error(Exception)
22       lambda { @server.write("foo") }.should raise_error(IOError)
23     end
24   end
26   not_compliant_on :ruby do
27     it "does not work on sockets with closed write ends" do
28       @server.close_write
29       lambda { @server.close_write }.should raise_error(Exception)
30     end
32     it "closes the writing end of the socket" do
33       @server.close_write
34       lambda { @server.write("foo") }.should raise_error(IOError)
35     end
36   end
37 end