diff options
Diffstat (limited to 'spec/ruby/core/io/external_encoding_spec.rb')
| -rw-r--r-- | spec/ruby/core/io/external_encoding_spec.rb | 51 |
1 files changed, 29 insertions, 22 deletions
diff --git a/spec/ruby/core/io/external_encoding_spec.rb b/spec/ruby/core/io/external_encoding_spec.rb index 9666974647..72d246cc2b 100644 --- a/spec/ruby/core/io/external_encoding_spec.rb +++ b/spec/ruby/core/io/external_encoding_spec.rb @@ -1,4 +1,5 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe :io_external_encoding_write, shared: true do describe "when Encoding.default_internal is nil" do @@ -9,19 +10,19 @@ describe :io_external_encoding_write, shared: true do it "returns nil" do @io = new_io @name, @object Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should be_nil + @io.external_encoding.should == nil end it "returns the external encoding specified when the instance was created" do @io = new_io @name, "#{@object}:ibm866" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::IBM866) + @io.external_encoding.should.equal?(Encoding::IBM866) end it "returns the encoding set by #set_encoding" do @io = new_io @name, "#{@object}:ibm866" @io.set_encoding Encoding::EUC_JP, nil - @io.external_encoding.should equal(Encoding::EUC_JP) + @io.external_encoding.should.equal?(Encoding::EUC_JP) end end @@ -34,19 +35,19 @@ describe :io_external_encoding_write, shared: true do it "returns the value of Encoding.default_external when the instance was created" do @io = new_io @name, @object Encoding.default_external = Encoding::UTF_8 - @io.external_encoding.should equal(Encoding::IBM437) + @io.external_encoding.should.equal?(Encoding::IBM437) end it "returns the external encoding specified when the instance was created" do @io = new_io @name, "#{@object}:ibm866" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::IBM866) + @io.external_encoding.should.equal?(Encoding::IBM866) end it "returns the encoding set by #set_encoding" do @io = new_io @name, "#{@object}:ibm866" @io.set_encoding Encoding::EUC_JP, nil - @io.external_encoding.should equal(Encoding::EUC_JP) + @io.external_encoding.should.equal?(Encoding::EUC_JP) end end @@ -59,19 +60,19 @@ describe :io_external_encoding_write, shared: true do it "returns the value of Encoding.default_external when the instance was created" do @io = new_io @name, @object Encoding.default_external = Encoding::UTF_8 - @io.external_encoding.should equal(Encoding::IBM866) + @io.external_encoding.should.equal?(Encoding::IBM866) end it "returns the external encoding specified when the instance was created" do @io = new_io @name, "#{@object}:ibm866" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::IBM866) + @io.external_encoding.should.equal?(Encoding::IBM866) end it "returns the encoding set by #set_encoding" do @io = new_io @name, "#{@object}:ibm866" @io.set_encoding Encoding::EUC_JP, nil - @io.external_encoding.should equal(Encoding::EUC_JP) + @io.external_encoding.should.equal?(Encoding::EUC_JP) end end end @@ -93,6 +94,12 @@ describe "IO#external_encoding" do rm_r @name end + it "can be retrieved from a closed stream" do + io = IOSpecs.io_fixture("lines.txt", "r") + io.close + io.external_encoding.should.equal?(Encoding.default_external) + end + describe "with 'r' mode" do describe "when Encoding.default_internal is nil" do before :each do @@ -102,25 +109,25 @@ describe "IO#external_encoding" do it "returns Encoding.default_external if the external encoding is not set" do @io = new_io @name, "r" - @io.external_encoding.should equal(Encoding::IBM866) + @io.external_encoding.should.equal?(Encoding::IBM866) end it "returns Encoding.default_external when that encoding is changed after the instance is created" do @io = new_io @name, "r" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::IBM437) + @io.external_encoding.should.equal?(Encoding::IBM437) end it "returns the external encoding specified when the instance was created" do @io = new_io @name, "r:utf-8" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::UTF_8) + @io.external_encoding.should.equal?(Encoding::UTF_8) end it "returns the encoding set by #set_encoding" do @io = new_io @name, "r:utf-8" @io.set_encoding Encoding::EUC_JP, nil - @io.external_encoding.should equal(Encoding::EUC_JP) + @io.external_encoding.should.equal?(Encoding::EUC_JP) end end @@ -133,19 +140,19 @@ describe "IO#external_encoding" do it "returns the value of Encoding.default_external when the instance was created" do @io = new_io @name, "r" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::IBM866) + @io.external_encoding.should.equal?(Encoding::IBM866) end it "returns the external encoding specified when the instance was created" do @io = new_io @name, "r:utf-8" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::UTF_8) + @io.external_encoding.should.equal?(Encoding::UTF_8) end it "returns the encoding set by #set_encoding" do @io = new_io @name, "r:utf-8" @io.set_encoding Encoding::EUC_JP, nil - @io.external_encoding.should equal(Encoding::EUC_JP) + @io.external_encoding.should.equal?(Encoding::EUC_JP) end end @@ -159,13 +166,13 @@ describe "IO#external_encoding" do it "returns the external encoding specified when the instance was created" do @io = new_io @name, "r:utf-8" Encoding.default_external = Encoding::IBM437 - @io.external_encoding.should equal(Encoding::UTF_8) + @io.external_encoding.should.equal?(Encoding::UTF_8) end it "returns the encoding set by #set_encoding" do @io = new_io @name, "r:utf-8" @io.set_encoding Encoding::EUC_JP, nil - @io.external_encoding.should equal(Encoding::EUC_JP) + @io.external_encoding.should.equal?(Encoding::EUC_JP) end end end @@ -173,12 +180,12 @@ describe "IO#external_encoding" do describe "with 'rb' mode" do it "returns Encoding::BINARY" do @io = new_io @name, "rb" - @io.external_encoding.should equal(Encoding::BINARY) + @io.external_encoding.should.equal?(Encoding::BINARY) end it "returns the external encoding specified by the mode argument" do @io = new_io @name, "rb:ibm437" - @io.external_encoding.should equal(Encoding::IBM437) + @io.external_encoding.should.equal?(Encoding::IBM437) end end @@ -193,12 +200,12 @@ describe "IO#external_encoding" do describe "with 'wb' mode" do it "returns Encoding::BINARY" do @io = new_io @name, "wb" - @io.external_encoding.should equal(Encoding::BINARY) + @io.external_encoding.should.equal?(Encoding::BINARY) end it "returns the external encoding specified by the mode argument" do @io = new_io @name, "wb:ibm437" - @io.external_encoding.should equal(Encoding::IBM437) + @io.external_encoding.should.equal?(Encoding::IBM437) end end |
