summaryrefslogtreecommitdiff
path: root/test/stringio
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-18 07:54:33 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-18 07:54:33 +0000
commit3e1c01ae463a8c9d8bbe9050251a2538ddb0292f (patch)
tree6b976948575d7ca6042198ecb76889bf50173823 /test/stringio
parentdd5fd65eef79637a951a766f5488724c87937c41 (diff)
stringio.c: separate encoding from buffer
* ext/stringio/stringio.c (strio_set_encoding): add StringIO's own encoding and separate it from the buffer string to override the encoding of string when reading. [ruby-core:72189] [Bug #11827] note that setting the encoding of its buffer string may cause unpredictable behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/stringio')
-rw-r--r--test/stringio/test_stringio.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/stringio/test_stringio.rb b/test/stringio/test_stringio.rb
index 7b99d62..9a041c2 100644
--- a/test/stringio/test_stringio.rb
+++ b/test/stringio/test_stringio.rb
@@ -148,6 +148,13 @@ class TestStringIO < Test::Unit::TestCase
f.write(s)
}
assert_equal(Encoding::ASCII_8BIT, f.string.encoding, bug10285)
+
+ bug11827 = '[ruby-core:72189] [Bug #11827]'
+ f = StringIO.new("foo\x83".freeze)
+ assert_nothing_raised(RuntimeError, bug11827) {
+ f.set_encoding(Encoding::ASCII_8BIT)
+ }
+ assert_equal("foo\x83".b, f.gets)
end
def test_mode_error