diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-23 20:18:48 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-23 20:18:48 +0900 |
| commit | c9fcf4020f309722e9f42a65bf7fe3b9c66a3a59 (patch) | |
| tree | f421f0561552acb96b5a32185c1ca05f4baa9559 /ruby | |
| parent | b10a7367440a33c9675be8fa435c9b202ff0c4f8 (diff) | |
| download | msgpack-python-c9fcf4020f309722e9f42a65bf7fe3b9c66a3a59.tar.gz | |
ruby: streaming deserializer test
Diffstat (limited to 'ruby')
| -rw-r--r-- | ruby/msgpack_test.rb | 12 |
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 |
