ffi-yajl 2.2.0 → 2.2.1

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.
@@ -24,21 +24,20 @@
24
24
  require 'spec_helper'
25
25
 
26
26
  describe "FFI_Yajl::Parser" do
27
-
28
27
  shared_examples_for "correct json parsing" do
29
28
  context "when json has 23456789012E666" do
30
29
  let(:json) { '{"key": 23456789012E666}' }
31
30
 
32
31
  it "should return infinity" do
33
- infinity = (1.0/0)
34
- expect(parser).to eq({"key" => infinity})
32
+ infinity = (1.0 / 0)
33
+ expect(parser).to eq("key" => infinity)
35
34
  end
36
35
  end
37
36
 
38
37
  context "when parsing nil" do
39
38
  let(:json) { nil }
40
39
  it "should not coredump ruby" do
41
- expect{ parser }.to raise_error(FFI_Yajl::ParseError)
40
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
42
41
  end
43
42
  end
44
43
 
@@ -88,79 +87,79 @@ describe "FFI_Yajl::Parser" do
88
87
  let(:json) { '{"key": /* this is a comment */ "value"}' }
89
88
 
90
89
  context "when allow_comments is false" do
91
- let(:options) { { :allow_comments => false } }
90
+ let(:options) { { allow_comments: false } }
92
91
 
93
92
  it "should not parse" do
94
- expect{parser}.to raise_error(FFI_Yajl::ParseError)
93
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
95
94
  end
96
95
  end
97
96
 
98
97
  context "when allow_comments is true" do
99
- let(:options) { { :allow_comments => true } }
98
+ let(:options) { { allow_comments: true } }
100
99
 
101
100
  it "should parse" do
102
- expect(parser).to eq({"key"=>"value"})
101
+ expect(parser).to eq("key" => "value")
103
102
  end
104
103
  end
105
104
 
106
105
  context "by default" do
107
- let(:options) { }
106
+ let(:options) {}
108
107
 
109
108
  it "should parse" do
110
- expect(parser).to eq({"key"=>"value"})
109
+ expect(parser).to eq("key" => "value")
111
110
  end
112
111
  end
113
112
  end
114
113
 
115
114
  context "when json has multiline comments" do
116
- let(:json) { %Q{{"key": \n/*\n this is a multiline comment \n*/\n "value"}} }
115
+ let(:json) { %{{"key": \n/*\n this is a multiline comment \n*/\n "value"}} }
117
116
 
118
117
  context "when allow_comments is false" do
119
- let(:options) { { :allow_comments => false } }
118
+ let(:options) { { allow_comments: false } }
120
119
 
121
120
  it "should not parse" do
122
- expect{parser}.to raise_error(FFI_Yajl::ParseError)
121
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
123
122
  end
124
123
  end
125
124
 
126
125
  context "when allow_comments is true" do
127
- let(:options) { { :allow_comments => true } }
126
+ let(:options) { { allow_comments: true } }
128
127
 
129
128
  it "should parse" do
130
- expect(parser).to eq({"key"=>"value"})
129
+ expect(parser).to eq("key" => "value")
131
130
  end
132
131
  end
133
132
  end
134
133
 
135
134
  context "when json has inline comments" do
136
- let(:json) { %Q{{"key": \n// this is an inline comment\n "value"}} }
135
+ let(:json) { %{{"key": \n// this is an inline comment\n "value"}} }
137
136
 
138
137
  context "when allow_comments is false" do
139
- let(:options) { { :allow_comments => false } }
138
+ let(:options) { { allow_comments: false } }
140
139
 
141
140
  it "should not parse" do
142
- expect{parser}.to raise_error(FFI_Yajl::ParseError)
141
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
143
142
  end
144
143
  end
145
144
 
146
145
  context "when allow_comments is true" do
147
- let(:options) { { :allow_comments => true } }
146
+ let(:options) { { allow_comments: true } }
148
147
 
149
148
  it "should parse" do
150
- expect(parser).to eq({"key"=>"value"})
149
+ expect(parser).to eq("key" => "value")
151
150
  end
152
151
  end
153
152
  end
154
153
 
155
154
  context "when json is invalid UTF8" do
156
- let(:json) { "[\"#{"\201\203"}\"]" }
155
+ let(:json) { "[\"\201\203\"]" }
157
156
 
158
157
  it "should not parse by default" do
159
- expect{parser}.to raise_error(FFI_Yajl::ParseError)
158
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
160
159
  end
161
160
 
162
161
  context "when :dont_validate_strings is set to true" do
163
- let(:options) { { :dont_validate_strings => true } }
162
+ let(:options) { { dont_validate_strings: true } }
164
163
 
165
164
  it "should parse" do
166
165
  expect(parser).to eq(["\x81\x83"])
@@ -168,46 +167,46 @@ describe "FFI_Yajl::Parser" do
168
167
  end
169
168
 
170
169
  context "when :dont_validate_strings is set to false" do
171
- let(:options) { { :dont_validate_strings => false } }
170
+ let(:options) { { dont_validate_strings: false } }
172
171
 
173
172
  it "should not parse" do
174
- expect{parser}.to raise_error(FFI_Yajl::ParseError)
173
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
175
174
  end
176
175
  end
177
176
 
178
177
  context "when :check_utf8 is set to true" do
179
- let(:options) { { :check_utf8 => true } }
178
+ let(:options) { { check_utf8: true } }
180
179
 
181
180
  it "should not parse" do
182
- expect{parser}.to raise_error(FFI_Yajl::ParseError)
181
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
183
182
  end
184
183
 
185
184
  context "when :dont_validate_strings is set to true" do
186
- let(:options) { { :check_utf8 => true, :dont_validate_strings => true } }
185
+ let(:options) { { check_utf8: true, dont_validate_strings: true } }
187
186
 
188
187
  it "should raise an ArgumentError" do
189
- expect{parser}.to raise_error(ArgumentError)
188
+ expect { parser }.to raise_error(ArgumentError)
190
189
  end
191
190
  end
192
191
 
193
192
  context "when :dont_validate_strings is set to false" do
194
- let(:options) { { :check_utf8 => true, :dont_validate_strings => false } }
193
+ let(:options) { { check_utf8: true, dont_validate_strings: false } }
195
194
 
196
195
  it "should not parse" do
197
- expect{parser}.to raise_error(FFI_Yajl::ParseError)
196
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
198
197
  end
199
198
  end
200
199
  end
201
200
 
202
201
  context "when :check_utf8 is set to false" do
203
- let(:options) { { :check_utf8 => false } }
202
+ let(:options) { { check_utf8: false } }
204
203
 
205
204
  it "should parse" do
206
205
  expect(parser).to eq(["\x81\x83"])
207
206
  end
208
207
 
209
208
  context "when :dont_validate_strings is set to true" do
210
- let(:options) { { :check_utf8 => false, :dont_validate_strings => true } }
209
+ let(:options) { { check_utf8: false, dont_validate_strings: true } }
211
210
 
212
211
  it "should parse" do
213
212
  expect(parser).to eq(["\x81\x83"])
@@ -215,10 +214,10 @@ describe "FFI_Yajl::Parser" do
215
214
  end
216
215
 
217
216
  context "when :dont_validate_strings is set to false" do
218
- let(:options) { { :check_utf8 => false, :dont_validate_strings => false } }
217
+ let(:options) { { check_utf8: false, dont_validate_strings: false } }
219
218
 
220
219
  it "should raise an ArgumentError" do
221
- expect{parser}.to raise_error(ArgumentError)
220
+ expect { parser }.to raise_error(ArgumentError)
222
221
  end
223
222
  end
224
223
  end
@@ -228,7 +227,7 @@ describe "FFI_Yajl::Parser" do
228
227
  let(:json) { StringIO.new('{"key": 1234}') }
229
228
 
230
229
  it "should parse" do
231
- expect(parser).to eq({"key" => 1234})
230
+ expect(parser).to eq("key" => 1234)
232
231
  end
233
232
  end
234
233
 
@@ -236,14 +235,14 @@ describe "FFI_Yajl::Parser" do
236
235
  let(:json) { '{"key": 1234}' }
237
236
 
238
237
  it "should parse correctly" do
239
- expect(parser).to eq({"key" => 1234})
238
+ expect(parser).to eq("key" => 1234)
240
239
  end
241
240
 
242
241
  context "when symbolize_keys is true" do
243
- let(:options) { { :symbolize_keys => true } }
242
+ let(:options) { { symbolize_keys: true } }
244
243
 
245
244
  it "should symbolize keys correctly" do
246
- expect(parser).to eq({:key => 1234})
245
+ expect(parser).to eq(key: 1234)
247
246
  end
248
247
  end
249
248
 
@@ -254,7 +253,7 @@ describe "FFI_Yajl::Parser" do
254
253
  parser do |obj|
255
254
  output = obj
256
255
  end
257
- expect(output).to eq({"key" => 1234})
256
+ expect(output).to eq("key" => 1234)
258
257
  end
259
258
  end
260
259
  end
@@ -305,14 +304,14 @@ describe "FFI_Yajl::Parser" do
305
304
  let(:json) { '{"日本語": 1234}' }
306
305
 
307
306
  it "should parse correctly" do
308
- expect(parser).to eq({"日本語" => 1234})
307
+ expect(parser).to eq("日本語" => 1234)
309
308
  end
310
309
 
311
310
  context "when symbolize_keys is true" do
312
- let(:options) { { :symbolize_keys => true } }
311
+ let(:options) { { symbolize_keys: true } }
313
312
 
314
313
  it "should symbolize keys correctly" do
315
- expect(parser).to eq({:"日本語" => 1234})
314
+ expect(parser).to eq(:"日本語" => 1234) # rubocop:disable Style/HashSyntax
316
315
  end
317
316
 
318
317
  if RUBY_VERSION.to_f >= 1.9
@@ -327,7 +326,7 @@ describe "FFI_Yajl::Parser" do
327
326
  let(:json) { "{\"id\": 2147483649}" }
328
327
 
329
328
  it "should parse corectly" do
330
- expect(parser).to eql({"id" => 2147483649})
329
+ expect(parser).to eql("id" => 2_147_483_649)
331
330
  end
332
331
  end
333
332
 
@@ -335,7 +334,7 @@ describe "FFI_Yajl::Parser" do
335
334
  let(:json) { "{\"id\": 5687389800}" }
336
335
 
337
336
  it "should parse corectly" do
338
- expect(parser).to eql({"id" => 5687389800})
337
+ expect(parser).to eql("id" => 5_687_389_800)
339
338
  end
340
339
  end
341
340
 
@@ -343,7 +342,7 @@ describe "FFI_Yajl::Parser" do
343
342
  let(:json) { "{\"id\": 1046289770033519442869495707521600000000}" }
344
343
 
345
344
  it "should parse corectly" do
346
- expect(parser).to eql({"id" => 1046289770033519442869495707521600000000})
345
+ expect(parser).to eql("id" => 1_046_289_770_033_519_442_869_495_707_521_600_000_000)
347
346
  end
348
347
  end
349
348
 
@@ -383,12 +382,11 @@ describe "FFI_Yajl::Parser" do
383
382
  end
384
383
 
385
384
  context "with allow_trailing_garbage" do
386
- let(:options) { { :allow_trailing_garbage => true } }
385
+ let(:options) { { allow_trailing_garbage: true } }
387
386
  it "parses" do
388
- expect(parser).to eq({"foo"=>{"foo"=>1234}})
387
+ expect(parser).to eq("foo" => { "foo" => 1234 })
389
388
  end
390
389
  end
391
-
392
390
  end
393
391
 
394
392
  context "when an extra bracket is present" do
@@ -476,20 +474,20 @@ describe "FFI_Yajl::Parser" do
476
474
 
477
475
  # NOTE: parsing floats with 8 million digits on windows has some kind of huge
478
476
  # perf issues likely in ruby and/or the underlying windows libs
479
- context "when parsing big floats", :ruby_gte_193 => true, :unix_only => true do
477
+ context "when parsing big floats", ruby_gte_193: true, unix_only: true do
480
478
  let(:json) { '[0.' + '1' * 2**23 + ']' }
481
479
 
482
480
  it "parses" do
483
- expect{ parser }.not_to raise_error
481
+ expect { parser }.not_to raise_error
484
482
  end
485
483
  end
486
484
 
487
- context "when parsing long hash keys with symbolize_keys option", :ruby_gte_193 => true do
485
+ context "when parsing long hash keys with symbolize_keys option", ruby_gte_193: true do
488
486
  let(:json) { '{"' + 'a' * 2**23 + '": 0}' }
489
- let(:options) { { :symbolize_keys => true } }
487
+ let(:options) { { symbolize_keys: true } }
490
488
 
491
489
  it "parses" do
492
- expect{ parser }.not_to raise_error
490
+ expect { parser }.not_to raise_error
493
491
  end
494
492
  end
495
493
 
@@ -502,9 +500,9 @@ describe "FFI_Yajl::Parser" do
502
500
 
503
501
  context "should raise an exception for repeated keys" do
504
502
  let(:json) { '{"foo":"bar","foo":"baz"}' }
505
- let(:options) { { :unique_key_checking => true } }
503
+ let(:options) { { unique_key_checking: true } }
506
504
  it "should raise" do
507
- expect{ parser }.to raise_error(FFI_Yajl::ParseError)
505
+ expect { parser }.to raise_error(FFI_Yajl::ParseError)
508
506
  end
509
507
  end
510
508
  end
data/spec/spec_helper.rb CHANGED
@@ -20,7 +20,7 @@
20
20
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
 
23
- $: << File.expand_path(File.join(File.dirname( __FILE__ ), "../lib"))
23
+ $LOAD_PATH << File.expand_path(File.join(File.dirname( __FILE__ ), "../lib"))
24
24
 
25
25
  # load yajl-ruby into the same process (tests that both c-libs can be
26
26
  # linked in the same process). this should work, see:
@@ -28,19 +28,18 @@ $: << File.expand_path(File.join(File.dirname( __FILE__ ), "../lib"))
28
28
  begin
29
29
  require 'yajl'
30
30
  rescue LoadError
31
- # yajl can't be installed on jruby
31
+ puts 'WARN: yajl cannot be loaded, expected if this is jruby'
32
32
  end
33
33
 
34
34
  require 'ffi_yajl'
35
35
 
36
- RSpec.configure do |c|
37
- c.filter_run_excluding :unix_only => true unless RUBY_PLATFORM !~ /mswin|mingw|windows/
38
- c.filter_run_excluding :ruby_gte_193 => true unless RUBY_VERSION.to_f >= 2.0 || RUBY_VERSION =~ /^1\.9\.3/
36
+ RSpec.configure do |conf|
37
+ conf.filter_run_excluding unix_only: true unless RUBY_PLATFORM !~ /mswin|mingw|windows/
38
+ conf.filter_run_excluding ruby_gte_193: true unless RUBY_VERSION.to_f >= 2.0 || RUBY_VERSION =~ /^1\.9\.3/
39
39
 
40
- c.order = 'random'
40
+ conf.order = 'random'
41
41
 
42
- c.expect_with :rspec do |c|
43
- c.syntax = :expect
42
+ conf.expect_with :rspec do |rspec|
43
+ rspec.syntax = :expect
44
44
  end
45
-
46
45
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-yajl
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lamont Granquist
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-30 00:00:00.000000000 Z
11
+ date: 2015-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake