msgpack 0.5.9-x86-mingw32 → 0.5.10-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,67 @@
1
+ # encoding: ascii-8bit
2
+ require 'spec_helper'
3
+
4
+ require 'stringio'
5
+ if defined?(Encoding)
6
+ Encoding.default_external = 'ASCII-8BIT'
7
+ end
8
+
9
+ describe MessagePack do
10
+ it 'to_msgpack returns String' do
11
+ nil.to_msgpack.class.should == String
12
+ true.to_msgpack.class.should == String
13
+ false.to_msgpack.class.should == String
14
+ 1.to_msgpack.class.should == String
15
+ 1.0.to_msgpack.class.should == String
16
+ "".to_msgpack.class.should == String
17
+ Hash.new.to_msgpack.class.should == String
18
+ Array.new.to_msgpack.class.should == String
19
+ end
20
+
21
+ class CustomPack01
22
+ def to_msgpack(pk=nil)
23
+ return MessagePack.pack(self, pk) unless pk.class == MessagePack::Packer
24
+ pk.write_array_header(2)
25
+ pk.write(1)
26
+ pk.write(2)
27
+ return pk
28
+ end
29
+ end
30
+
31
+ class CustomPack02
32
+ def to_msgpack(pk=nil)
33
+ [1,2].to_msgpack(pk)
34
+ end
35
+ end
36
+
37
+ it 'calls custom to_msgpack method' do
38
+ if /java/ =~ RUBY_PLATFORM
39
+ skip "custom to_msgpack fallback is not supported yet in JRuby implementation"
40
+ end
41
+ MessagePack.pack(CustomPack01.new).should == [1,2].to_msgpack
42
+ MessagePack.pack(CustomPack02.new).should == [1,2].to_msgpack
43
+ CustomPack01.new.to_msgpack.should == [1,2].to_msgpack
44
+ CustomPack02.new.to_msgpack.should == [1,2].to_msgpack
45
+ end
46
+
47
+ it 'calls custom to_msgpack method with io' do
48
+ if /java/ =~ RUBY_PLATFORM
49
+ skip "custom to_msgpack fallback with io is not supported yet in JRuby implementation"
50
+ end
51
+ s01 = StringIO.new
52
+ MessagePack.pack(CustomPack01.new, s01)
53
+ s01.string.should == [1,2].to_msgpack
54
+
55
+ s02 = StringIO.new
56
+ MessagePack.pack(CustomPack02.new, s02)
57
+ s02.string.should == [1,2].to_msgpack
58
+
59
+ s03 = StringIO.new
60
+ CustomPack01.new.to_msgpack(s03)
61
+ s03.string.should == [1,2].to_msgpack
62
+
63
+ s04 = StringIO.new
64
+ CustomPack02.new.to_msgpack(s04)
65
+ s04.string.should == [1,2].to_msgpack
66
+ end
67
+ end
@@ -15,7 +15,13 @@ end
15
15
 
16
16
  require 'msgpack'
17
17
 
18
- Packer = MessagePack::Packer
19
- Unpacker = MessagePack::Unpacker
20
- Buffer = MessagePack::Buffer
21
-
18
+ if /java/ =~ RUBY_PLATFORM
19
+ RSpec.configure do |c|
20
+ c.treat_symbols_as_metadata_keys_with_true_values = true
21
+ c.filter_run_excluding :encodings => !(defined? Encoding)
22
+ end
23
+ else
24
+ Packer = MessagePack::Packer
25
+ Unpacker = MessagePack::Unpacker
26
+ Buffer = MessagePack::Buffer
27
+ end
@@ -0,0 +1,72 @@
1
+ # encoding: ascii-8bit
2
+ require 'spec_helper'
3
+
4
+ require 'stringio'
5
+ if defined?(Encoding)
6
+ Encoding.default_external = 'ASCII-8BIT'
7
+ end
8
+
9
+ describe MessagePack do
10
+ it 'MessagePack.unpack symbolize_keys' do
11
+ symbolized_hash = {:a => 'b', :c => 'd'}
12
+ MessagePack.load(MessagePack.pack(symbolized_hash), :symbolize_keys => true).should == symbolized_hash
13
+ MessagePack.unpack(MessagePack.pack(symbolized_hash), :symbolize_keys => true).should == symbolized_hash
14
+ end
15
+
16
+ it 'Unpacker#unpack symbolize_keys' do
17
+ if /java/ =~ RUBY_PLATFORM
18
+ skip "Unpacker#unpack returns nil in JRuby (incompatible)"
19
+ end
20
+ unpacker = MessagePack::Unpacker.new(:symbolize_keys => true)
21
+ symbolized_hash = {:a => 'b', :c => 'd'}
22
+ unpacker.feed(MessagePack.pack(symbolized_hash)).read.should == symbolized_hash
23
+ end
24
+
25
+ it "msgpack str 8 type" do
26
+ if /java/ =~ RUBY_PLATFORM
27
+ skip "str 8 type is not supported in JRuby (incompatibility)"
28
+ end
29
+ MessagePack.unpack([0xd9, 0x00].pack('C*')).should == ""
30
+ MessagePack.unpack([0xd9, 0x01].pack('C*') + 'a').should == "a"
31
+ MessagePack.unpack([0xd9, 0x02].pack('C*') + 'aa').should == "aa"
32
+ end
33
+
34
+ it "msgpack str 16 type" do
35
+ MessagePack.unpack([0xda, 0x00, 0x00].pack('C*')).should == ""
36
+ MessagePack.unpack([0xda, 0x00, 0x01].pack('C*') + 'a').should == "a"
37
+ MessagePack.unpack([0xda, 0x00, 0x02].pack('C*') + 'aa').should == "aa"
38
+ end
39
+
40
+ it "msgpack str 32 type" do
41
+ MessagePack.unpack([0xdb, 0x00, 0x00, 0x00, 0x00].pack('C*')).should == ""
42
+ MessagePack.unpack([0xdb, 0x00, 0x00, 0x00, 0x01].pack('C*') + 'a').should == "a"
43
+ MessagePack.unpack([0xdb, 0x00, 0x00, 0x00, 0x02].pack('C*') + 'aa').should == "aa"
44
+ end
45
+
46
+ it "msgpack bin 8 type" do
47
+ if /java/ =~ RUBY_PLATFORM
48
+ skip "bin 8 type is not supported in JRuby (incompatibility)"
49
+ end
50
+ MessagePack.unpack([0xc4, 0x00].pack('C*')).should == ""
51
+ MessagePack.unpack([0xc4, 0x01].pack('C*') + 'a').should == "a"
52
+ MessagePack.unpack([0xc4, 0x02].pack('C*') + 'aa').should == "aa"
53
+ end
54
+
55
+ it "msgpack bin 16 type" do
56
+ if /java/ =~ RUBY_PLATFORM
57
+ skip "bin 16 type is not supported in JRuby (incompatibility)"
58
+ end
59
+ MessagePack.unpack([0xc5, 0x00, 0x00].pack('C*')).should == ""
60
+ MessagePack.unpack([0xc5, 0x00, 0x01].pack('C*') + 'a').should == "a"
61
+ MessagePack.unpack([0xc5, 0x00, 0x02].pack('C*') + 'aa').should == "aa"
62
+ end
63
+
64
+ it "msgpack bin 32 type" do
65
+ if /java/ =~ RUBY_PLATFORM
66
+ skip "bin 32 type is not supported in JRuby (incompatibility)"
67
+ end
68
+ MessagePack.unpack([0xc6, 0x00, 0x00, 0x00, 0x00].pack('C*')).should == ""
69
+ MessagePack.unpack([0xc6, 0x00, 0x00, 0x00, 0x01].pack('C*') + 'a').should == "a"
70
+ MessagePack.unpack([0xc6, 0x00, 0x00, 0x00, 0x02].pack('C*') + 'aa').should == "aa"
71
+ end
72
+ end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msgpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9
4
+ version: 0.5.10
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
+ - Theo Hultberg
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
12
 
12
- date: 2014-10-06 00:00:00 Z
13
+ date: 2015-01-09 00:00:00 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  version_requirements: &id001 !ruby/object:Gem::Requirement
@@ -72,7 +73,9 @@ dependencies:
72
73
  requirement: *id006
73
74
  name: yard
74
75
  description: MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.
75
- email: frsyuki@gmail.com
76
+ email:
77
+ - frsyuki@gmail.com
78
+ - theo@iconara.net
76
79
  executables: []
77
80
 
78
81
  extensions: []
@@ -92,6 +95,14 @@ files:
92
95
  - doclib/msgpack/error.rb
93
96
  - doclib/msgpack/packer.rb
94
97
  - doclib/msgpack/unpacker.rb
98
+ - ext/java/org/msgpack/jruby/Buffer.java
99
+ - ext/java/org/msgpack/jruby/Decoder.java
100
+ - ext/java/org/msgpack/jruby/Encoder.java
101
+ - ext/java/org/msgpack/jruby/ExtensionValue.java
102
+ - ext/java/org/msgpack/jruby/MessagePackLibrary.java
103
+ - ext/java/org/msgpack/jruby/Packer.java
104
+ - ext/java/org/msgpack/jruby/Types.java
105
+ - ext/java/org/msgpack/jruby/Unpacker.java
95
106
  - ext/msgpack/buffer.c
96
107
  - ext/msgpack/buffer.h
97
108
  - ext/msgpack/buffer_class.c
@@ -129,11 +140,17 @@ files:
129
140
  - spec/cruby/buffer_packer.rb
130
141
  - spec/cruby/buffer_spec.rb
131
142
  - spec/cruby/buffer_unpacker.rb
143
+ - spec/cruby/packer_spec.rb
144
+ - spec/cruby/unpacker_spec.rb
132
145
  - spec/format_spec.rb
133
- - spec/packer_spec.rb
146
+ - spec/jruby/benchmarks/shootout_bm.rb
147
+ - spec/jruby/benchmarks/symbolize_keys_bm.rb
148
+ - spec/jruby/msgpack/unpacker_spec.rb
149
+ - spec/jruby/msgpack_spec.rb
150
+ - spec/pack_spec.rb
134
151
  - spec/random_compat.rb
135
152
  - spec/spec_helper.rb
136
- - spec/unpacker_spec.rb
153
+ - spec/unpack_spec.rb
137
154
  homepage: http://msgpack.org/
138
155
  licenses:
139
156
  - Apache 2.0