summaryrefslogtreecommitdiff
path: root/ruby/test_pack.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby/test_pack.rb')
-rw-r--r--ruby/test_pack.rb56
1 files changed, 56 insertions, 0 deletions
diff --git a/ruby/test_pack.rb b/ruby/test_pack.rb
new file mode 100644
index 0000000..16a8ccf
--- /dev/null
+++ b/ruby/test_pack.rb
@@ -0,0 +1,56 @@
+require 'msgpack'
+
+def check(data)
+ puts "---"
+ pack = data.to_msgpack
+ p data
+ puts pack.unpack('C*').map{|x|"%02x"%x}.join(' ')
+ re = MessagePack::unpack(pack)
+ if re != data
+ p re
+ puts "** TEST FAILED **"
+ end
+end
+
+check 0
+check 1
+check 127
+check 128
+check 255
+check 256
+check 65535
+check 65536
+check -1
+check -128
+check -129
+check -32768
+check -32769
+
+check 1.0
+
+check ""
+check "a"
+check "a"*31
+check "a"*32
+
+check nil
+check true
+check false
+
+check []
+check [[]]
+check [[], nil]
+
+check( {nil=>0} )
+
+check (1<<23)
+__END__
+
+ary = []
+i = 0
+while i < (1<<16)
+ ary << i
+ i += 1
+end
+check ary
+