diff options
author | Nobuyoshi Nakada <[email protected]> | 2020-03-15 22:15:39 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2020-03-15 22:15:39 +0900 |
commit | 1ad9b231ca6b86fe6a2f186022ad3854d2c31743 (patch) | |
tree | dccaf3b09056d4fe4cebef6a8092ff2a7e4d0d97 /spec/ruby/library/stringio | |
parent | a8ced388fd6770fad16c40e819590ba84488bd80 (diff) |
Added guard against [Bug #16497]
Diffstat (limited to 'spec/ruby/library/stringio')
-rw-r--r-- | spec/ruby/library/stringio/initialize_spec.rb | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/spec/ruby/library/stringio/initialize_spec.rb b/spec/ruby/library/stringio/initialize_spec.rb index 8aae47dacb..5900313106 100644 --- a/spec/ruby/library/stringio/initialize_spec.rb +++ b/spec/ruby/library/stringio/initialize_spec.rb @@ -1,6 +1,26 @@ require_relative '../../spec_helper' require 'stringio' +bug_guard = Class.new(VersionGuard) do + VERSION = StringIO.const_defined?(:VERSION) ? StringIO::VERSION : "0.0.2" + def initialize(bug, version) + @bug = bug + super(version) + @parameters = [bug, version] + end + def match? + if Range === @version + @version.include? VERSION + else + VERSION >= @version + end + end + + def self.against(*args, &block) + new(*args).run_unless(:stringio_version_is, &block) + end +end + describe "StringIO#initialize when passed [Object, mode]" do before :each do @io = StringIO.allocate @@ -206,7 +226,9 @@ describe "StringIO#initialize sets the encoding to" do it "the same as the encoding of the String when passed a String" do s = ''.force_encoding(Encoding::EUC_JP) io = StringIO.new(s) - io.external_encoding.should == Encoding::EUC_JP + bug_guard.against("[Bug #16497]", "0.0.3"..."0.1.1") do + io.external_encoding.should == Encoding::EUC_JP + end io.string.encoding.should == Encoding::EUC_JP end end |