yajl-ruby 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of yajl-ruby might be problematic. Click here for more details.

Files changed (46) hide show
  1. data/CHANGELOG.md +8 -1
  2. data/MIT-LICENSE +3 -3
  3. data/README.rdoc +8 -8
  4. data/VERSION.yml +1 -1
  5. data/benchmark/subjects/ohai.yml +171 -171
  6. data/ext/api/yajl_common.h +9 -9
  7. data/ext/api/yajl_gen.h +10 -10
  8. data/ext/api/yajl_parse.h +15 -15
  9. data/ext/yajl.c +8 -8
  10. data/ext/yajl_alloc.c +6 -6
  11. data/ext/yajl_alloc.h +6 -6
  12. data/ext/yajl_buf.c +7 -7
  13. data/ext/yajl_buf.h +7 -7
  14. data/ext/yajl_bytestack.h +10 -10
  15. data/ext/yajl_encode.c +12 -12
  16. data/ext/yajl_encode.h +6 -6
  17. data/ext/yajl_ext.c +67 -80
  18. data/ext/yajl_ext.h +4 -4
  19. data/ext/yajl_gen.c +16 -16
  20. data/ext/yajl_lex.c +79 -76
  21. data/ext/yajl_lex.h +14 -14
  22. data/ext/yajl_parser.c +34 -34
  23. data/ext/yajl_parser.h +7 -7
  24. data/lib/yajl.rb +7 -7
  25. data/lib/yajl/bzip2/stream_reader.rb +1 -11
  26. data/lib/yajl/bzip2/stream_writer.rb +1 -1
  27. data/lib/yajl/deflate/stream_reader.rb +6 -7
  28. data/lib/yajl/deflate/stream_writer.rb +2 -2
  29. data/lib/yajl/gzip/stream_reader.rb +0 -10
  30. data/lib/yajl/http_stream.rb +12 -12
  31. data/lib/yajl/json_gem/encoding.rb +4 -4
  32. data/lib/yajl/json_gem/parsing.rb +3 -3
  33. data/spec/encoding/encoding_spec.rb +23 -23
  34. data/spec/global/global_spec.rb +8 -8
  35. data/spec/http/http_delete_spec.rb +13 -13
  36. data/spec/http/http_error_spec.rb +2 -2
  37. data/spec/http/http_get_spec.rb +15 -15
  38. data/spec/http/http_post_spec.rb +12 -12
  39. data/spec/http/http_put_spec.rb +14 -14
  40. data/spec/json_gem_compatibility/compatibility_spec.rb +21 -21
  41. data/spec/parsing/active_support_spec.rb +6 -6
  42. data/spec/parsing/chunked_spec.rb +12 -12
  43. data/spec/parsing/fixtures_spec.rb +4 -4
  44. data/spec/parsing/one_off_spec.rb +9 -9
  45. data/yajl-ruby.gemspec +3 -3
  46. metadata +12 -5
@@ -6,7 +6,7 @@ describe "Chunked parser" do
6
6
  before(:all) do
7
7
  @final = [{"abc" => 123}, {"def" => 456}]
8
8
  end
9
-
9
+
10
10
  before(:each) do
11
11
  @callback = lambda { |hash|
12
12
  # no-op
@@ -14,25 +14,25 @@ describe "Chunked parser" do
14
14
  @parser = Yajl::Parser.new
15
15
  @parser.on_parse_complete = @callback
16
16
  end
17
-
17
+
18
18
  it "should parse a single chunk" do
19
19
  @callback.should_receive(:call).with(@final)
20
20
  @parser << '[{"abc": 123},{"def": 456}]'
21
21
  end
22
-
22
+
23
23
  it "should parse a single chunk, 3 times" do
24
24
  @callback.should_receive(:call).with(@final).exactly(3).times
25
25
  @parser << '[{"abc": 123},{"def": 456}]'
26
26
  @parser << '[{"abc": 123},{"def": 456}]'
27
27
  @parser << '[{"abc": 123},{"def": 456}]'
28
28
  end
29
-
29
+
30
30
  it "should parse in two chunks" do
31
31
  @callback.should_receive(:call).with(@final)
32
32
  @parser << '[{"abc": 123},'
33
33
  @parser << '{"def": 456}]'
34
34
  end
35
-
35
+
36
36
  it "should parse in 2 chunks, twice" do
37
37
  @callback.should_receive(:call).with(@final).exactly(2).times
38
38
  @parser << '[{"abc": 123},'
@@ -40,29 +40,29 @@ describe "Chunked parser" do
40
40
  @parser << '[{"abc": 123},'
41
41
  @parser << '{"def": 456}]'
42
42
  end
43
-
43
+
44
44
  it "should parse 2 JSON strings, in 3 chunks" do
45
45
  @callback.should_receive(:call).with(@final).exactly(2).times
46
46
  @parser << '[{"abc": 123},'
47
47
  @parser << '{"def": 456}][{"abc": 123},{"def":'
48
48
  @parser << ' 456}]'
49
49
  end
50
-
50
+
51
51
  it "should parse 2 JSON strings in 1 chunk" do
52
52
  @callback.should_receive(:call).with(@final).exactly(2).times
53
53
  @parser << '[{"abc": 123},{"def": 456}][{"abc": 123},{"def": 456}]'
54
54
  end
55
-
55
+
56
56
  it "should parse 2 JSON strings from an IO" do
57
57
  @callback.should_receive(:call).with(@final).exactly(2).times
58
58
  @parser.parse(StringIO.new('[{"abc": 123},{"def": 456}][{"abc": 123},{"def": 456}]'))
59
59
  end
60
-
60
+
61
61
  it "should parse a JSON string an IO and fire callback once" do
62
62
  @callback.should_receive(:call).with(@final)
63
63
  @parser.parse(StringIO.new('[{"abc": 123},{"def": 456}]'))
64
64
  end
65
-
65
+
66
66
  it "should parse twitter_stream.json and fire callback 430 times" do
67
67
  path = File.expand_path(File.dirname(__FILE__) + '/../../benchmark/subjects/twitter_stream.json')
68
68
  json = File.new(path, 'r')
@@ -71,7 +71,7 @@ describe "Chunked parser" do
71
71
  @parser.parse(json)
72
72
  }.should_not raise_error(Yajl::ParseError)
73
73
  end
74
-
74
+
75
75
  it "should parse twitter_stream.json and fire callback 430 times, with a block as the callback" do
76
76
  path = File.expand_path(File.dirname(__FILE__) + '/../../benchmark/subjects/twitter_stream.json')
77
77
  json = File.new(path, 'r')
@@ -85,7 +85,7 @@ describe "Chunked parser" do
85
85
  times.should eql(430)
86
86
  }.should_not raise_error(Yajl::ParseError)
87
87
  end
88
-
88
+
89
89
  it "should raise a Yajl::ParseError error if multiple JSON strings were found when no on_parse_complete callback assigned" do
90
90
  path = File.expand_path(File.dirname(__FILE__) + '/../../benchmark/subjects/twitter_stream.json')
91
91
  json = File.new(path, 'r')
@@ -6,7 +6,7 @@ describe "Parsing JSON Fixtures" do
6
6
  passed, failed = Dir[fixtures].partition { |f| f['pass'] }
7
7
  PASSED = passed.inject([]) { |a, f| a << [ f, File.read(f) ] }.sort
8
8
  FAILED = failed.inject([]) { |a, f| a << [ f, File.read(f) ] }.sort
9
-
9
+
10
10
  FAILED.each do |name, source|
11
11
  it "should not be able to parse #{File.basename(name)} as an IO" do
12
12
  lambda {
@@ -14,7 +14,7 @@ describe "Parsing JSON Fixtures" do
14
14
  }.should raise_error(Yajl::ParseError)
15
15
  end
16
16
  end
17
-
17
+
18
18
  FAILED.each do |name, source|
19
19
  it "should not be able to parse #{File.basename(name)} as a string" do
20
20
  lambda {
@@ -22,7 +22,7 @@ describe "Parsing JSON Fixtures" do
22
22
  }.should raise_error(Yajl::ParseError)
23
23
  end
24
24
  end
25
-
25
+
26
26
  PASSED.each do |name, source|
27
27
  it "should be able to parse #{File.basename(name)} as an IO" do
28
28
  lambda {
@@ -30,7 +30,7 @@ describe "Parsing JSON Fixtures" do
30
30
  }.should_not raise_error(Yajl::ParseError)
31
31
  end
32
32
  end
33
-
33
+
34
34
  PASSED.each do |name, source|
35
35
  it "should be able to parse #{File.basename(name)} as a string" do
36
36
  lambda {
@@ -8,46 +8,46 @@ describe "One-off JSON examples" do
8
8
  Yajl::Parser.parse(StringIO.new('{"key": 23456789012E666}')).should == {"key" => infinity}
9
9
  end
10
10
  end
11
-
11
+
12
12
  it "should not parse JSON with a comment, with :allow_comments set to false" do
13
13
  json = StringIO.new('{"key": /* this is a comment */ "value"}')
14
14
  lambda {
15
15
  Yajl::Parser.parse(json, :allow_comments => false)
16
16
  }.should raise_error(Yajl::ParseError)
17
17
  end
18
-
18
+
19
19
  it "should parse JSON with a comment, with :allow_comments set to true" do
20
20
  json = StringIO.new('{"key": /* this is a comment */ "value"}')
21
21
  lambda {
22
22
  Yajl::Parser.parse(json, :allow_comments => true)
23
23
  }.should_not raise_error(Yajl::ParseError)
24
24
  end
25
-
25
+
26
26
  it "should not parse invalid UTF8 with :check_utf8 set to true" do
27
27
  parser = Yajl::Parser.new(:check_utf8 => true)
28
28
  lambda {
29
29
  parser.parse("[\"#{"\201\203"}\"]")
30
30
  }.should raise_error(Yajl::ParseError)
31
31
  end
32
-
32
+
33
33
  it "should parse invalid UTF8 with :check_utf8 set to false" do
34
34
  parser = Yajl::Parser.new(:check_utf8 => false)
35
35
  parser.parse("[\"#{"\201\203"}\"]").inspect
36
36
  end
37
-
37
+
38
38
  it "should parse using it's class method, from an IO" do
39
39
  io = StringIO.new('{"key": 1234}')
40
40
  Yajl::Parser.parse(io).should == {"key" => 1234}
41
41
  end
42
-
42
+
43
43
  it "should parse using it's class method, from an IO with symbolized keys" do
44
44
  Yajl::Parser.parse('{"key": 1234}', :symbolize_keys => true).should == {:key => 1234}
45
45
  end
46
-
46
+
47
47
  it "should parse using it's class method, from a string" do
48
48
  Yajl::Parser.parse('{"key": 1234}').should == {"key" => 1234}
49
49
  end
50
-
50
+
51
51
  it "should parse using it's class method, from a string with a block" do
52
52
  output = nil
53
53
  Yajl::Parser.parse('{"key": 1234}') do |obj|
@@ -55,7 +55,7 @@ describe "One-off JSON examples" do
55
55
  end
56
56
  output.should == {"key" => 1234}
57
57
  end
58
-
58
+
59
59
  it "should parse numbers greater than 2,147,483,648" do
60
60
  Yajl::Parser.parse("{\"id\": 2147483649}").should eql({"id" => 2147483649})
61
61
  Yajl::Parser.parse("{\"id\": 5687389800}").should eql({"id" => 5687389800})
data/yajl-ruby.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{yajl-ruby}
8
- s.version = "0.7.1"
8
+ s.version = "0.7.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Brian Lopez", "Lloyd Hilaiel"]
12
- s.date = %q{2010-02-17}
12
+ s.date = %q{2010-02-23}
13
13
  s.email = %q{seniorlopez@gmail.com}
14
14
  s.extensions = ["ext/extconf.rb"]
15
15
  s.extra_rdoc_files = [
@@ -163,7 +163,7 @@ Gem::Specification.new do |s|
163
163
  s.rdoc_options = ["--charset=UTF-8"]
164
164
  s.require_paths = ["lib", "ext"]
165
165
  s.rubyforge_project = %q{yajl-ruby}
166
- s.rubygems_version = %q{1.3.5}
166
+ s.rubygems_version = %q{1.3.6}
167
167
  s.summary = %q{Ruby C bindings to the excellent Yajl JSON stream-based parser library.}
168
168
  s.test_files = [
169
169
  "spec/encoding/encoding_spec.rb",
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yajl-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 7
8
+ - 2
9
+ version: 0.7.2
5
10
  platform: ruby
6
11
  authors:
7
12
  - Brian Lopez
@@ -10,7 +15,7 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2010-02-17 00:00:00 -08:00
18
+ date: 2010-02-23 00:00:00 -08:00
14
19
  default_executable:
15
20
  dependencies: []
16
21
 
@@ -179,18 +184,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
179
184
  requirements:
180
185
  - - ">="
181
186
  - !ruby/object:Gem::Version
187
+ segments:
188
+ - 0
182
189
  version: "0"
183
- version:
184
190
  required_rubygems_version: !ruby/object:Gem::Requirement
185
191
  requirements:
186
192
  - - ">="
187
193
  - !ruby/object:Gem::Version
194
+ segments:
195
+ - 0
188
196
  version: "0"
189
- version:
190
197
  requirements: []
191
198
 
192
199
  rubyforge_project: yajl-ruby
193
- rubygems_version: 1.3.5
200
+ rubygems_version: 1.3.6
194
201
  signing_key:
195
202
  specification_version: 3
196
203
  summary: Ruby C bindings to the excellent Yajl JSON stream-based parser library.