msgpack 1.0.3-java → 1.1.0-java
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.
- 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.
|