summaryrefslogtreecommitdiff
path: root/spec/ruby/library/stringio/open_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/stringio/open_spec.rb')
-rw-r--r--spec/ruby/library/stringio/open_spec.rb190
1 files changed, 99 insertions, 91 deletions
diff --git a/spec/ruby/library/stringio/open_spec.rb b/spec/ruby/library/stringio/open_spec.rb
index adb784c890..23c7b34e09 100644
--- a/spec/ruby/library/stringio/open_spec.rb
+++ b/spec/ruby/library/stringio/open_spec.rb
@@ -4,173 +4,177 @@ require 'stringio'
describe "StringIO.open when passed [Object, mode]" do
it "uses the passed Object as the StringIO backend" do
io = StringIO.open(str = "example", "r")
- io.string.should equal(str)
+ io.string.should.equal?(str)
end
it "returns the blocks return value when yielding" do
- ret = StringIO.open("example", "r") { :test }
- ret.should equal(:test)
+ ret = StringIO.open(+"example", "r") { :test }
+ ret.should.equal?(:test)
end
it "yields self to the passed block" do
io = nil
- StringIO.open("example", "r") { |strio| io = strio }
- io.should be_kind_of(StringIO)
+ StringIO.open(+"example", "r") { |strio| io = strio }
+ io.should.is_a?(StringIO)
end
it "closes self after yielding" do
io = nil
- StringIO.open("example", "r") { |strio| io = strio }
- io.closed?.should be_true
+ StringIO.open(+"example", "r") { |strio| io = strio }
+ io.closed?.should == true
end
it "even closes self when an exception is raised while yielding" do
io = nil
begin
- StringIO.open("example", "r") do |strio|
+ StringIO.open(+"example", "r") do |strio|
io = strio
raise "Error"
end
rescue
end
- io.closed?.should be_true
+ io.closed?.should == true
end
it "sets self's string to nil after yielding" do
io = nil
- StringIO.open("example", "r") { |strio| io = strio }
- io.string.should be_nil
+ StringIO.open(+"example", "r") { |strio| io = strio }
+ io.string.should == nil
end
it "even sets self's string to nil when an exception is raised while yielding" do
io = nil
begin
- StringIO.open("example", "r") do |strio|
+ StringIO.open(+"example", "r") do |strio|
io = strio
raise "Error"
end
rescue
end
- io.string.should be_nil
+ io.string.should == nil
end
it "sets the mode based on the passed mode" do
- io = StringIO.open("example", "r")
- io.closed_read?.should be_false
- io.closed_write?.should be_true
+ io = StringIO.open(+"example", "r")
+ io.closed_read?.should == false
+ io.closed_write?.should == true
- io = StringIO.open("example", "rb")
- io.closed_read?.should be_false
- io.closed_write?.should be_true
+ io = StringIO.open(+"example", "rb")
+ io.closed_read?.should == false
+ io.closed_write?.should == true
- io = StringIO.open("example", "r+")
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "r+")
+ io.closed_read?.should == false
+ io.closed_write?.should == false
- io = StringIO.open("example", "rb+")
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "rb+")
+ io.closed_read?.should == false
+ io.closed_write?.should == false
- io = StringIO.open("example", "w")
- io.closed_read?.should be_true
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "w")
+ io.closed_read?.should == true
+ io.closed_write?.should == false
- io = StringIO.open("example", "wb")
- io.closed_read?.should be_true
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "wb")
+ io.closed_read?.should == true
+ io.closed_write?.should == false
- io = StringIO.open("example", "w+")
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "w+")
+ io.closed_read?.should == false
+ io.closed_write?.should == false
- io = StringIO.open("example", "wb+")
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "wb+")
+ io.closed_read?.should == false
+ io.closed_write?.should == false
- io = StringIO.open("example", "a")
- io.closed_read?.should be_true
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "a")
+ io.closed_read?.should == true
+ io.closed_write?.should == false
- io = StringIO.open("example", "ab")
- io.closed_read?.should be_true
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "ab")
+ io.closed_read?.should == true
+ io.closed_write?.should == false
- io = StringIO.open("example", "a+")
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "a+")
+ io.closed_read?.should == false
+ io.closed_write?.should == false
- io = StringIO.open("example", "ab+")
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", "ab+")
+ io.closed_read?.should == false
+ io.closed_write?.should == false
end
it "allows passing the mode as an Integer" do
- io = StringIO.open("example", IO::RDONLY)
- io.closed_read?.should be_false
- io.closed_write?.should be_true
+ io = StringIO.open(+"example", IO::RDONLY)
+ io.closed_read?.should == false
+ io.closed_write?.should == true
- io = StringIO.open("example", IO::RDWR)
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", IO::RDWR)
+ io.closed_read?.should == false
+ io.closed_write?.should == false
- io = StringIO.open("example", IO::WRONLY)
- io.closed_read?.should be_true
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", IO::WRONLY)
+ io.closed_read?.should == true
+ io.closed_write?.should == false
- io = StringIO.open("example", IO::WRONLY | IO::TRUNC)
- io.closed_read?.should be_true
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", IO::WRONLY | IO::TRUNC)
+ io.closed_read?.should == true
+ io.closed_write?.should == false
- io = StringIO.open("example", IO::RDWR | IO::TRUNC)
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", IO::RDWR | IO::TRUNC)
+ io.closed_read?.should == false
+ io.closed_write?.should == false
- io = StringIO.open("example", IO::WRONLY | IO::APPEND)
- io.closed_read?.should be_true
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", IO::WRONLY | IO::APPEND)
+ io.closed_read?.should == true
+ io.closed_write?.should == false
- io = StringIO.open("example", IO::RDWR | IO::APPEND)
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io = StringIO.open(+"example", IO::RDWR | IO::APPEND)
+ io.closed_read?.should == false
+ io.closed_write?.should == false
end
- it "raises a #{frozen_error_class} when passed a frozen String in truncate mode as StringIO backend" do
- -> { StringIO.open("example".freeze, IO::TRUNC) }.should raise_error(frozen_error_class)
+ it "raises a FrozenError when passed a frozen String in truncate mode as StringIO backend" do
+ -> { StringIO.open("example".freeze, IO::TRUNC) }.should.raise(FrozenError)
end
it "tries to convert the passed mode to a String using #to_str" do
obj = mock('to_str')
obj.should_receive(:to_str).and_return("r")
- io = StringIO.open("example", obj)
+ io = StringIO.open(+"example", obj)
- io.closed_read?.should be_false
- io.closed_write?.should be_true
+ io.closed_read?.should == false
+ io.closed_write?.should == true
end
it "raises an Errno::EACCES error when passed a frozen string with a write-mode" do
(str = "example").freeze
- -> { StringIO.open(str, "r+") }.should raise_error(Errno::EACCES)
- -> { StringIO.open(str, "w") }.should raise_error(Errno::EACCES)
- -> { StringIO.open(str, "a") }.should raise_error(Errno::EACCES)
+ -> { StringIO.open(str, "r+") }.should.raise(Errno::EACCES)
+ -> { StringIO.open(str, "w") }.should.raise(Errno::EACCES)
+ -> { StringIO.open(str, "a") }.should.raise(Errno::EACCES)
end
end
describe "StringIO.open when passed [Object]" do
it "uses the passed Object as the StringIO backend" do
io = StringIO.open(str = "example")
- io.string.should equal(str)
+ io.string.should.equal?(str)
end
it "yields self to the passed block" do
io = nil
- ret = StringIO.open("example") { |strio| io = strio }
- io.should equal(ret)
+ ret = StringIO.open(+"example") { |strio| io = strio }
+ io.should.equal?(ret)
end
- it "sets the mode to read-write" do
- io = StringIO.open("example")
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ it "sets the mode to read-write (r+)" do
+ io = StringIO.open(+"example")
+ io.closed_read?.should == false
+ io.closed_write?.should == false
+
+ io = StringIO.new(+"example")
+ io.printf("%d", 123)
+ io.string.should == "123mple"
end
it "tries to convert the passed Object to a String using #to_str" do
@@ -183,8 +187,8 @@ describe "StringIO.open when passed [Object]" do
it "automatically sets the mode to read-only when passed a frozen string" do
(str = "example").freeze
io = StringIO.open(str)
- io.closed_read?.should be_false
- io.closed_write?.should be_true
+ io.closed_read?.should == false
+ io.closed_write?.should == true
end
end
@@ -192,13 +196,17 @@ describe "StringIO.open when passed no arguments" do
it "yields self to the passed block" do
io = nil
ret = StringIO.open { |strio| io = strio }
- io.should equal(ret)
+ io.should.equal?(ret)
end
- it "sets the mode to read-write" do
+ it "sets the mode to read-write (r+)" do
io = StringIO.open
- io.closed_read?.should be_false
- io.closed_write?.should be_false
+ io.closed_read?.should == false
+ io.closed_write?.should == false
+
+ io = StringIO.new(+"example")
+ io.printf("%d", 123)
+ io.string.should == "123mple"
end
it "uses an empty String as the StringIO backend" do