From cfa0035962f7c373ca612be5bee749803368fd5b Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 7 Jul 2011 06:44:46 +0000 Subject: * encoding.c (rb_enc_set_index, rb_enc_associate_index): should check if frozen. * parse.y (rb_intern3), ruby.c (process_options, ruby_script): defer freezing after associating encodings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/string/test_enc_associate.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 test/-ext-/string/test_enc_associate.rb (limited to 'test/-ext-') diff --git a/test/-ext-/string/test_enc_associate.rb b/test/-ext-/string/test_enc_associate.rb new file mode 100644 index 0000000000..edddfb4316 --- /dev/null +++ b/test/-ext-/string/test_enc_associate.rb @@ -0,0 +1,12 @@ +require 'test/unit' +require "-test-/string/string" + +class Test_StrEncAssociate < Test::Unit::TestCase + def test_frozen + s = Bug::String.new("abc") + s.force_encoding(Encoding::US_ASCII) + s.freeze + assert_raise(RuntimeError) {s.associate_encoding!(Encoding::US_ASCII)} + assert_raise(RuntimeError) {s.associate_encoding!(Encoding::UTF_8)} + end +end -- cgit v1.2.3