summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-03-15 22:15:39 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-03-15 22:15:39 +0900
commit1ad9b231ca6b86fe6a2f186022ad3854d2c31743 (patch)
treedccaf3b09056d4fe4cebef6a8092ff2a7e4d0d97
parenta8ced388fd6770fad16c40e819590ba84488bd80 (diff)
Added guard against [Bug #16497]
-rw-r--r--spec/ruby/library/stringio/initialize_spec.rb24
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