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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 42bb741723e860588d00e7a2f4d9c7787f50d974
4
- data.tar.gz: 89feca0c030bc2ca6328bc55bcb78b17c36ed1a6
3
+ metadata.gz: 19831b3c2ba3059a3e03396b1055b676e33073e4
4
+ data.tar.gz: 4973055f8bf5490df6f53a283e6691b0ed3bf102
5
5
  SHA512:
6
- metadata.gz: 1225e93756d888dc10d431c1c0932e4b7b1bb312d1f6d8e5f73a2496a343f99a91fa4bd5013d1afadfab4705d7a7eb941370b48996a0073163e5558c9da09c13
7
- data.tar.gz: 404eef634a64cf1833c6c023e278ab02348cd3c26b6432d8c770484666b8fadd45b66a411413a80d91142738893c12f5c0d758815c26b01213653965225ab7a8
6
+ metadata.gz: 8ab43e74ac44fbefcd721bed6dd941d708e14d01cb0c0ec9833538e121489ccf7f6c731e819dcc0cfa71cde237f4433dd27b663943e22440e396ff94990972e1
7
+ data.tar.gz: 270ecc5aa846251f0b541798f16c2e5d46af01881b04224ea8a345554a38fda2bd430b015c6dc7edf9e005a48e6bd403b8c5c2ae8d12dd342706727c10130472
@@ -1,3 +1,3 @@
1
1
  module MessagePack
2
- VERSION = "1.0.3"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -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
@@ -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
 
@@ -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.3
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-01-25 00:00:00.000000000 Z
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.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.