summaryrefslogtreecommitdiff
path: root/spec/ruby/library/stringio/initialize_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/stringio/initialize_spec.rb')
-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