diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-06-09 14:36:56 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-06-09 14:36:56 +0000 |
commit | a1d6532ef658af477fc91fa27565983466500e1c (patch) | |
tree | cfa32fcb2ef702e47fa2ab63820808962aadc881 /test/ruby/test_iseq.rb | |
parent | f64e7c834f95ecc1437394b2aba5ca03e9b10968 (diff) | |
download | ruby-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.rb | 8 |
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 |