diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-14 21:08:06 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-14 21:08:06 +0900 |
| commit | 87835a4e60e8f7ba5c2d4283ed44f57b725d9628 (patch) | |
| tree | ebac733e2501c4a56354ec445d55645dbad18f5e /ruby/msgpack_test.rb | |
| parent | 1f18af43955b22eed97b6fcb7b53c0389e4bc0f9 (diff) | |
| download | msgpack-python-87835a4e60e8f7ba5c2d4283ed44f57b725d9628.tar.gz | |
ruby: remove init_stack, adopt rb_gc_mark_maybe
Diffstat (limited to 'ruby/msgpack_test.rb')
| -rw-r--r-- | ruby/msgpack_test.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ruby/msgpack_test.rb b/ruby/msgpack_test.rb index 4fbcea3..37db6a0 100644 --- a/ruby/msgpack_test.rb +++ b/ruby/msgpack_test.rb @@ -202,6 +202,21 @@ class MessagePackTestFormat < Test::Unit::TestCase # #check_map 5, (1<<32)-1 # memory error # end + it "gc mark" do + obj = [{["a","b"]=>["c","d"]}, ["e","f"], "d"] + pac = MessagePack::Unpacker.new + parsed = 0 + obj.to_msgpack.split(//).each do |b| + pac.feed(b) + pac.each {|o| + assert_equal(obj, o) + parsed += 1 + } + GC.start + end + assert_equal(parsed, 1) + end + private def check(len, obj) v = obj.to_msgpack |
