summaryrefslogtreecommitdiff
path: root/ruby
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2010-04-23 20:18:48 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2010-04-23 20:18:48 +0900
commitc9fcf4020f309722e9f42a65bf7fe3b9c66a3a59 (patch)
treef421f0561552acb96b5a32185c1ca05f4baa9559 /ruby
parentb10a7367440a33c9675be8fa435c9b202ff0c4f8 (diff)
downloadmsgpack-python-c9fcf4020f309722e9f42a65bf7fe3b9c66a3a59.tar.gz
ruby: streaming deserializer test
Diffstat (limited to 'ruby')
-rw-r--r--ruby/msgpack_test.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/ruby/msgpack_test.rb b/ruby/msgpack_test.rb
index 45adf0b..8cbb586 100644
--- a/ruby/msgpack_test.rb
+++ b/ruby/msgpack_test.rb
@@ -204,9 +204,11 @@ class MessagePackTestFormat < Test::Unit::TestCase
it "gc mark" do
obj = [{["a","b"]=>["c","d"]}, ["e","f"], "d"]
+ num = 4
+ raw = obj.to_msgpack * num
pac = MessagePack::Unpacker.new
parsed = 0
- obj.to_msgpack.split(//).each do |b|
+ raw.split(//).each do |b|
pac.feed(b)
pac.each {|o|
GC.start
@@ -215,16 +217,18 @@ class MessagePackTestFormat < Test::Unit::TestCase
}
GC.start
end
- assert_equal(parsed, 1)
+ assert_equal(parsed, num)
end
it "streaming backward compatibility" do
obj = [{["a","b"]=>["c","d"]}, ["e","f"], "d"]
+ num = 4
+ raw = obj.to_msgpack * num
pac = MessagePack::Unpacker.new
buffer = ""
nread = 0
parsed = 0
- obj.to_msgpack.split(//).each do |b|
+ raw.split(//).each do |b|
buffer << b
nread = pac.execute(buffer, nread)
if pac.finished?
@@ -237,7 +241,7 @@ class MessagePackTestFormat < Test::Unit::TestCase
next unless buffer.empty?
end
end
- assert_equal(parsed, 1)
+ assert_equal(parsed, num)
end
private