Index: test/ruby/test_string.rb =================================================================== --- test/ruby/test_string.rb (revision 30814) +++ test/ruby/test_string.rb (working copy) @@ -1308,6 +1308,18 @@ class TestString < Test::Unit::TestCase assert(a.untrusted?) end + def test_sub_bang_encoding + a = S("a") + a.force_encoding Encoding::BINARY + + r = ' ' + r.force_encoding Encoding::UTF_8 + + a.sub!(/a/) do r end + + assert_equal Encoding::BINARY, a.encoding + end + def test_succ assert_equal(S("abd"), S("abc").succ) assert_equal(S("z"), S("y").succ)