msgpack 1.5.6 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +14 -0
  3. data/ext/java/org/msgpack/jruby/ExtensionRegistry.java +4 -9
  4. data/ext/msgpack/buffer.c +51 -38
  5. data/ext/msgpack/buffer.h +5 -9
  6. data/ext/msgpack/buffer_class.c +62 -32
  7. data/ext/msgpack/extconf.rb +3 -5
  8. data/ext/msgpack/factory_class.c +49 -26
  9. data/ext/msgpack/packer.c +3 -4
  10. data/ext/msgpack/packer.h +2 -2
  11. data/ext/msgpack/packer_class.c +58 -63
  12. data/ext/msgpack/packer_class.h +11 -0
  13. data/ext/msgpack/packer_ext_registry.c +2 -2
  14. data/ext/msgpack/packer_ext_registry.h +2 -2
  15. data/ext/msgpack/rbinit.c +1 -1
  16. data/ext/msgpack/sysdep.h +5 -2
  17. data/ext/msgpack/unpacker.c +6 -9
  18. data/ext/msgpack/unpacker.h +4 -3
  19. data/ext/msgpack/unpacker_class.c +55 -37
  20. data/ext/msgpack/unpacker_class.h +11 -0
  21. data/ext/msgpack/unpacker_ext_registry.c +2 -2
  22. data/ext/msgpack/unpacker_ext_registry.h +2 -2
  23. data/lib/msgpack/buffer.rb +9 -0
  24. data/lib/msgpack/packer.rb +4 -0
  25. data/lib/msgpack/unpacker.rb +4 -0
  26. data/lib/msgpack/version.rb +1 -1
  27. data/lib/msgpack.rb +1 -0
  28. data/msgpack.gemspec +5 -2
  29. metadata +18 -46
  30. data/.github/workflows/ci.yaml +0 -57
  31. data/.gitignore +0 -23
  32. data/.rubocop.yml +0 -36
  33. data/Gemfile +0 -9
  34. data/Rakefile +0 -70
  35. data/appveyor.yml +0 -18
  36. data/bench/bench.rb +0 -78
  37. data/doclib/msgpack/buffer.rb +0 -193
  38. data/doclib/msgpack/core_ext.rb +0 -101
  39. data/doclib/msgpack/error.rb +0 -19
  40. data/doclib/msgpack/extension_value.rb +0 -9
  41. data/doclib/msgpack/factory.rb +0 -145
  42. data/doclib/msgpack/packer.rb +0 -209
  43. data/doclib/msgpack/time.rb +0 -22
  44. data/doclib/msgpack/timestamp.rb +0 -44
  45. data/doclib/msgpack/unpacker.rb +0 -183
  46. data/doclib/msgpack.rb +0 -87
  47. data/msgpack.org.md +0 -46
  48. data/spec/bigint_spec.rb +0 -26
  49. data/spec/cases.json +0 -1
  50. data/spec/cases.msg +0 -0
  51. data/spec/cases_compact.msg +0 -0
  52. data/spec/cases_spec.rb +0 -39
  53. data/spec/cruby/buffer_io_spec.rb +0 -255
  54. data/spec/cruby/buffer_packer.rb +0 -29
  55. data/spec/cruby/buffer_spec.rb +0 -575
  56. data/spec/cruby/buffer_unpacker.rb +0 -19
  57. data/spec/cruby/unpacker_spec.rb +0 -70
  58. data/spec/ext_value_spec.rb +0 -99
  59. data/spec/exttypes.rb +0 -51
  60. data/spec/factory_spec.rb +0 -688
  61. data/spec/format_spec.rb +0 -301
  62. data/spec/jruby/benchmarks/shootout_bm.rb +0 -73
  63. data/spec/jruby/benchmarks/symbolize_keys_bm.rb +0 -25
  64. data/spec/jruby/unpacker_spec.rb +0 -186
  65. data/spec/msgpack_spec.rb +0 -214
  66. data/spec/pack_spec.rb +0 -61
  67. data/spec/packer_spec.rb +0 -575
  68. data/spec/random_compat.rb +0 -24
  69. data/spec/spec_helper.rb +0 -71
  70. data/spec/timestamp_spec.rb +0 -159
  71. data/spec/unpack_spec.rb +0 -57
  72. data/spec/unpacker_spec.rb +0 -859
@@ -1,255 +0,0 @@
1
- require 'spec_helper'
2
- require 'random_compat'
3
-
4
- require 'stringio'
5
- if defined?(Encoding)
6
- Encoding.default_external = 'ASCII-8BIT'
7
- end
8
-
9
- describe Buffer do
10
- r = Random.new
11
- random_seed = r.seed
12
- puts "buffer_io random seed: 0x#{random_seed.to_s(16)}"
13
-
14
- let :source do
15
- ''
16
- end
17
-
18
- def set_source(s)
19
- source.replace(s)
20
- end
21
-
22
- let :io do
23
- StringIO.new(source.dup)
24
- end
25
-
26
- let :buffer do
27
- Buffer.new(io)
28
- end
29
-
30
- it 'io returns internal io' do
31
- buffer.io.should == io
32
- end
33
-
34
- it 'close closes internal io' do
35
- expect(io).to receive(:close)
36
- buffer.close
37
- end
38
-
39
- it 'short feed and read all' do
40
- set_source 'aa'
41
- buffer.read.should == 'aa'
42
- end
43
-
44
- it 'short feed and read short' do
45
- set_source 'aa'
46
- buffer.read(1).should == 'a'
47
- buffer.read(1).should == 'a'
48
- buffer.read(1).should == nil
49
- end
50
-
51
- it 'long feed and read all' do
52
- set_source ' '*(1024*1024)
53
- s = buffer.read
54
- s.size.should == source.size
55
- s.should == source
56
- end
57
-
58
- it 'long feed and read mixed' do
59
- set_source ' '*(1024*1024)
60
- buffer.read(10).should == source.slice!(0, 10)
61
- buffer.read(10).should == source.slice!(0, 10)
62
- buffer.read(10).should == source.slice!(0, 10)
63
- s = buffer.read
64
- s.size.should == source.size
65
- s.should == source
66
- end
67
-
68
- it 'eof' do
69
- set_source ''
70
- buffer.read.should == ''
71
- end
72
-
73
- it 'eof 2' do
74
- set_source 'a'
75
- buffer.read.should == 'a'
76
- buffer.read.should == ''
77
- end
78
-
79
- it 'write short once and flush' do
80
- buffer.write('aa')
81
- buffer.flush
82
- io.string.should == 'aa'
83
- end
84
-
85
- it 'write short twice and flush' do
86
- buffer.write('a')
87
- buffer.write('a')
88
- buffer.flush
89
- io.string.should == 'aa'
90
- end
91
-
92
- it 'write long once and flush' do
93
- s = ' '*(1024*1024)
94
- buffer.write s
95
- buffer.flush
96
- io.string.size.should == s.size
97
- io.string.should == s
98
- end
99
-
100
- it 'write short multi and flush' do
101
- s = ' '*(1024*1024)
102
- 1024.times {
103
- buffer.write ' '*1024
104
- }
105
- buffer.flush
106
- io.string.size.should == s.size
107
- io.string.should == s
108
- end
109
-
110
- it 'random read' do
111
- r = Random.new(random_seed)
112
-
113
- 50.times {
114
- fragments = []
115
-
116
- r.rand(4).times do
117
- n = r.rand(1024*1400)
118
- s = r.bytes(n)
119
- fragments << s
120
- end
121
-
122
- io = StringIO.new(fragments.join)
123
- b = Buffer.new(io)
124
-
125
- fragments.each {|s|
126
- x = b.read(s.size)
127
- x.size.should == s.size
128
- x.should == s
129
- }
130
- b.empty?.should == true
131
- b.read.should == ''
132
- }
133
- end
134
-
135
- it 'random read_all' do
136
- r = Random.new(random_seed)
137
-
138
- 50.times {
139
- fragments = []
140
- r.bytes(0)
141
-
142
- r.rand(4).times do
143
- n = r.rand(1024*1400)
144
- s = r.bytes(n)
145
- fragments << s
146
- end
147
-
148
- io = StringIO.new(fragments.join)
149
- b = Buffer.new(io)
150
-
151
- fragments.each {|s|
152
- x = b.read_all(s.size)
153
- x.size.should == s.size
154
- x.should == s
155
- }
156
- b.empty?.should == true
157
- lambda {
158
- b.read_all(1)
159
- }.should raise_error(EOFError)
160
- }
161
- end
162
-
163
- it 'random skip' do
164
- r = Random.new(random_seed)
165
-
166
- 50.times {
167
- fragments = []
168
-
169
- r.rand(4).times do
170
- n = r.rand(1024*1400)
171
- s = r.bytes(n)
172
- fragments << s
173
- end
174
-
175
- io = StringIO.new(fragments.join)
176
- b = Buffer.new(io)
177
-
178
- fragments.each {|s|
179
- b.skip(s.size).should == s.size
180
- }
181
- b.empty?.should == true
182
- b.skip(1).should == 0
183
- }
184
- end
185
-
186
- it 'random skip_all' do
187
- r = Random.new(random_seed)
188
-
189
- 50.times {
190
- fragments = []
191
-
192
- r.rand(4).times do
193
- n = r.rand(1024*1400)
194
- s = r.bytes(n)
195
- fragments << s
196
- end
197
-
198
- io = StringIO.new(fragments.join)
199
- b = Buffer.new(io)
200
-
201
- fragments.each {|s|
202
- lambda {
203
- b.skip_all(s.size)
204
- }.should_not raise_error
205
- }
206
- b.empty?.should == true
207
- lambda {
208
- b.skip_all(1)
209
- }.should raise_error(EOFError)
210
- }
211
- end
212
-
213
- it 'random write and flush' do
214
- r = Random.new(random_seed)
215
-
216
- 50.times {
217
- s = r.bytes(0)
218
- io = StringIO.new
219
- b = Buffer.new(io)
220
-
221
- r.rand(4).times do
222
- n = r.rand(1024*1400)
223
- x = r.bytes(n)
224
- s << x
225
- b.write(x)
226
- end
227
-
228
- (io.string.size + b.size).should == s.size
229
-
230
- b.flush
231
-
232
- io.string.size.should == s.size
233
- io.string.should == s
234
- }
235
- end
236
-
237
- it 'random write and clear' do
238
- r = Random.new(random_seed)
239
- b = Buffer.new
240
-
241
- 50.times {
242
- s = r.bytes(0)
243
-
244
- r.rand(4).times do
245
- n = r.rand(1024*1400)
246
- x = r.bytes(n)
247
- s << x
248
- b.write(x)
249
- end
250
-
251
- b.size.should == s.size
252
- b.clear
253
- }
254
- end
255
- end
@@ -1,29 +0,0 @@
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 Packer do
10
- let :packer do
11
- Packer.new
12
- end
13
-
14
- it 'initialize' do
15
- Packer.new
16
- Packer.new(nil)
17
- Packer.new(StringIO.new)
18
- Packer.new({})
19
- Packer.new(StringIO.new, {})
20
- end
21
-
22
- it 'buffer' do
23
- o1 = packer.buffer.object_id
24
- packer.buffer << 'frsyuki'
25
- packer.buffer.to_s.should == 'frsyuki'
26
- packer.buffer.object_id.should == o1
27
- end
28
- end
29
-