diff options
Diffstat (limited to 'spec/rubyspec/library/stringio/append_spec.rb')
-rw-r--r-- | spec/rubyspec/library/stringio/append_spec.rb | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/spec/rubyspec/library/stringio/append_spec.rb b/spec/rubyspec/library/stringio/append_spec.rb deleted file mode 100644 index ff0dc233cd..0000000000 --- a/spec/rubyspec/library/stringio/append_spec.rb +++ /dev/null @@ -1,84 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../fixtures/classes', __FILE__) - -describe "StringIO#<< when passed [Object]" do - before :each do - @io = StringIO.new("example") - end - - it "returns self" do - (@io << "just testing").should equal(@io) - end - - it "writes the passed argument onto self" do - (@io << "just testing") - @io.string.should == "just testing" - (@io << " and more testing") - @io.string.should == "just testing and more testing" - end - - it "writes the passed argument at the current position" do - @io.pos = 5 - @io << "<test>" - @io.string.should == "examp<test>" - end - - it "pads self with \\000 when the current position is after the end" do - @io.pos = 15 - @io << "just testing" - @io.string.should == "example\000\000\000\000\000\000\000\000just testing" - end - - it "taints self's String when the passed argument is tainted" do - (@io << "test".taint) - @io.string.tainted?.should be_true - end - - it "does not taint self when the passed argument is tainted" do - (@io << "test".taint) - @io.tainted?.should be_false - end - - it "updates self's position" do - @io << "test" - @io.pos.should eql(4) - end - - it "tries to convert the passed argument to a String using #to_s" do - obj = mock("to_s") - obj.should_receive(:to_s).and_return("Test") - - (@io << obj).string.should == "Testple" - end -end - -describe "StringIO#<< when self is not writable" do - it "raises an IOError" do - io = StringIO.new("test", "r") - lambda { io << "test" }.should raise_error(IOError) - - io = StringIO.new("test") - io.close_write - lambda { io << "test" }.should raise_error(IOError) - end -end - -describe "StringIO#<< when in append mode" do - before :each do - @io = StringIO.new("example", "a") - end - - it "appends the passed argument to the end of self, ignoring current position" do - (@io << ", just testing") - @io.string.should == "example, just testing" - - @io.pos = 3 - (@io << " and more testing") - @io.string.should == "example, just testing and more testing" - end - - it "correctly updates self's position" do - @io << ", testing" - @io.pos.should eql(16) - end -end |