summaryrefslogtreecommitdiff
path: root/ruby/msgpack_test.rb
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2010-04-14 21:08:06 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2010-04-14 21:08:06 +0900
commit87835a4e60e8f7ba5c2d4283ed44f57b725d9628 (patch)
treeebac733e2501c4a56354ec445d55645dbad18f5e /ruby/msgpack_test.rb
parent1f18af43955b22eed97b6fcb7b53c0389e4bc0f9 (diff)
downloadmsgpack-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.rb15
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