msgpack 1.0.3-java → 1.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/msgpack/version.rb +1 -1
- data/spec/factory_spec.rb +35 -0
- data/spec/packer_spec.rb +36 -0
- data/spec/unpacker_spec.rb +18 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19831b3c2ba3059a3e03396b1055b676e33073e4
|
4
|
+
data.tar.gz: 4973055f8bf5490df6f53a283e6691b0ed3bf102
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ab43e74ac44fbefcd721bed6dd941d708e14d01cb0c0ec9833538e121489ccf7f6c731e819dcc0cfa71cde237f4433dd27b663943e22440e396ff94990972e1
|
7
|
+
data.tar.gz: 270ecc5aa846251f0b541798f16c2e5d46af01881b04224ea8a345554a38fda2bd430b015c6dc7edf9e005a48e6bd403b8c5c2ae8d12dd342706727c10130472
|
data/lib/msgpack/version.rb
CHANGED
data/spec/factory_spec.rb
CHANGED
@@ -208,6 +208,41 @@ describe MessagePack::Factory do
|
|
208
208
|
my.a.should == 1
|
209
209
|
my.b.should == 2
|
210
210
|
end
|
211
|
+
|
212
|
+
describe "registering an ext type for a module" do
|
213
|
+
before do
|
214
|
+
mod = Module.new do
|
215
|
+
def self.from_msgpack_ext(data)
|
216
|
+
"unpacked #{data}"
|
217
|
+
end
|
218
|
+
|
219
|
+
def to_msgpack_ext
|
220
|
+
'value_msgpacked'
|
221
|
+
end
|
222
|
+
end
|
223
|
+
stub_const('Mod', mod)
|
224
|
+
end
|
225
|
+
let(:factory) { described_class.new }
|
226
|
+
before { factory.register_type(0x01, Mod) }
|
227
|
+
|
228
|
+
describe "packing an object whose class included the module" do
|
229
|
+
subject { factory.packer.pack(value).to_s }
|
230
|
+
before { stub_const('Value', Class.new{ include Mod }) }
|
231
|
+
let(:value) { Value.new }
|
232
|
+
it { is_expected.to eq "\xC7\x0F\x01value_msgpacked" }
|
233
|
+
end
|
234
|
+
|
235
|
+
describe "packing an object which has been extended by the module" do
|
236
|
+
subject { factory.packer.pack(object).to_s }
|
237
|
+
let(:object) { Object.new.extend Mod }
|
238
|
+
it { is_expected.to eq "\xC7\x0F\x01value_msgpacked" }
|
239
|
+
end
|
240
|
+
|
241
|
+
describe "unpacking with the module" do
|
242
|
+
subject { factory.unpacker.feed("\xC7\x06\x01module").unpack }
|
243
|
+
it { is_expected.to eq "unpacked module" }
|
244
|
+
end
|
245
|
+
end
|
211
246
|
end
|
212
247
|
|
213
248
|
describe 'the special treatment of symbols with ext type' do
|
data/spec/packer_spec.rb
CHANGED
@@ -350,6 +350,42 @@ describe MessagePack::Packer do
|
|
350
350
|
end
|
351
351
|
end
|
352
352
|
|
353
|
+
context 'when it has no ext type but an included module has' do
|
354
|
+
subject { packer.pack(Value.new).to_s }
|
355
|
+
|
356
|
+
before do
|
357
|
+
mod = Module.new do
|
358
|
+
def to_msgpack_ext
|
359
|
+
'value_msgpacked'
|
360
|
+
end
|
361
|
+
end
|
362
|
+
stub_const('Mod', mod)
|
363
|
+
end
|
364
|
+
before { packer.register_type(0x01, Mod, :to_msgpack_ext) }
|
365
|
+
|
366
|
+
before { stub_const('Value', Class.new{ include Mod }) }
|
367
|
+
|
368
|
+
it { is_expected.to eq "\xC7\x0F\x01value_msgpacked" }
|
369
|
+
end
|
370
|
+
|
371
|
+
context 'when it has no ext type but it was extended by a module which has one' do
|
372
|
+
subject { packer.pack(object).to_s }
|
373
|
+
let(:object) { Object.new.extend Mod }
|
374
|
+
|
375
|
+
before do
|
376
|
+
mod = Module.new do
|
377
|
+
def to_msgpack_ext
|
378
|
+
'value_msgpacked'
|
379
|
+
end
|
380
|
+
end
|
381
|
+
stub_const('Mod', mod)
|
382
|
+
end
|
383
|
+
before { packer.register_type(0x01, Mod, :to_msgpack_ext) }
|
384
|
+
|
385
|
+
|
386
|
+
it { is_expected.to eq "\xC7\x0F\x01value_msgpacked" }
|
387
|
+
end
|
388
|
+
|
353
389
|
context 'when registering a type for symbols' do
|
354
390
|
before { packer.register_type(0x00, ::Symbol, :to_msgpack_ext) }
|
355
391
|
|
data/spec/unpacker_spec.rb
CHANGED
@@ -477,6 +477,24 @@ describe MessagePack::Unpacker do
|
|
477
477
|
expect(two[:class]).to be_nil
|
478
478
|
expect(two[:unpacker]).to be_instance_of(Proc)
|
479
479
|
end
|
480
|
+
|
481
|
+
describe "registering an ext type for a module" do
|
482
|
+
subject { unpacker.feed("\xc7\x06\x00module").unpack }
|
483
|
+
|
484
|
+
let(:unpacker) { MessagePack::Unpacker.new }
|
485
|
+
|
486
|
+
before do
|
487
|
+
mod = Module.new do
|
488
|
+
def self.from_msgpack_ext(data)
|
489
|
+
"unpacked #{data}"
|
490
|
+
end
|
491
|
+
end
|
492
|
+
stub_const('Mod', mod)
|
493
|
+
end
|
494
|
+
|
495
|
+
before { unpacker.register_type(0x00, Mod, :from_msgpack_ext) }
|
496
|
+
it { is_expected.to eq "unpacked module" }
|
497
|
+
end
|
480
498
|
end
|
481
499
|
|
482
500
|
def flatten(struct, results = [])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: msgpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-
|
13
|
+
date: 2017-02-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -155,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
155
|
version: '0'
|
156
156
|
requirements: []
|
157
157
|
rubyforge_project: msgpack
|
158
|
-
rubygems_version: 2.6.
|
158
|
+
rubygems_version: 2.6.8
|
159
159
|
signing_key:
|
160
160
|
specification_version: 4
|
161
161
|
summary: MessagePack, a binary-based efficient data interchange format.
|