aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_iseq.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-09 14:36:56 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-09 14:36:56 +0000
commita1d6532ef658af477fc91fa27565983466500e1c (patch)
treecfa32fcb2ef702e47fa2ab63820808962aadc881 /test/ruby/test_iseq.rb
parentf64e7c834f95ecc1437394b2aba5ca03e9b10968 (diff)
downloadruby-a1d6532ef658af477fc91fa27565983466500e1c.tar.gz
iseq.c: rb_id2str
* iseq.c (iseq_load, insn_operand_intern, rb_iseq_disasm) (rb_iseq_parameters): use rb_id2str() instead of rb_id2name() to keep encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_iseq.rb')
-rw-r--r--test/ruby/test_iseq.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/ruby/test_iseq.rb b/test/ruby/test_iseq.rb
index 2fa8f2399a..c30a0f9f20 100644
--- a/test/ruby/test_iseq.rb
+++ b/test/ruby/test_iseq.rb
@@ -15,4 +15,12 @@ class TestISeq < Test::Unit::TestCase
e = assert_raise(TypeError) {RubyVM::InstructionSequence.load(ary)}
assert_match(/:foobar/, e.message)
end if defined?(RubyVM::InstructionSequence.load)
+
+ def test_disasm_encoding
+ src = "\u{3042} = 1"
+ enc = Encoding.default_internal || Encoding.default_external
+ assert_equal(enc, RubyVM::InstructionSequence.compile(src.encode(enc)).disasm.encoding)
+ enc = enc == Encoding::UTF_8 ? Encoding::Shift_JIS : Encoding::UTF_8
+ assert_equal(true, RubyVM::InstructionSequence.compile(src.encode(enc)).disasm.ascii_only?)
+ end
end