summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-02-11 11:28:31 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-02-12 15:05:29 +0900
commit52cdf400efaecc0f5e1d1f70f22dc45212e03c4c (patch)
tree162768d517e60c8bba893936bfce8b77ab55caca /test
parent921916ff9e2940f28d932af84c5b2a2e222219d0 (diff)
Workaround of instance variable on hidden object
Since 9d9aea7fe50f6340829faa105d9ffe08ebaee658, generic instance variables need `iv_index_tbl` in the object's class. As hidden objects, however, have no class, access to the variables causes a segfault. Get rid of that segfault by raising an exception, for the time being.
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_encoding.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/ruby/test_encoding.rb b/test/ruby/test_encoding.rb
index 282ac6b1ae..6d0665ae93 100644
--- a/test/ruby/test_encoding.rb
+++ b/test/ruby/test_encoding.rb
@@ -65,6 +65,18 @@ class TestEncoding < Test::Unit::TestCase
END;
end
+ def test_extra_encoding
+ assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
+ begin;
+ 200.times {|i|
+ Encoding::UTF_8.replicate("dummy#{i}")
+ }
+ e = Encoding.list.last
+ format = "%d".force_encoding(e)
+ assert_raise(TypeError) {format % 0}
+ end;
+ end
+
def test_dummy_p
assert_equal(true, Encoding::ISO_2022_JP.dummy?)
assert_equal(false, Encoding::UTF_8.dummy?)