oj 3.7.11 → 3.7.12

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
  SHA256:
3
- metadata.gz: 5d48227161f707ac83a49469686bfcdbe44376055ebdcd1a449f5e62a1089256
4
- data.tar.gz: ef7636a3fecfa42d00246ebedab1784a2ee9c935e863694dba38aca471b477bc
3
+ metadata.gz: 596316b0a9a9e4fa7a82486f0589182f15a1c0c679d2d58f50357a291720cbfa
4
+ data.tar.gz: 3d58bd1344943d671222f1a7412c77731ecce70ddd3469a03ad15263374c243e
5
5
  SHA512:
6
- metadata.gz: c4dc96bbdff56dd250c03eca2576a502167470c077b8852eae1698636b8dad3f9c188d4a4f755766425de7f21ab4e363938352f80a3be76da36f6bfad3e57a42
7
- data.tar.gz: 77e579b56103860a3364c0e33a91fd33e5fd55e15a2385b1a9993b6fb6c11f1ec31d3b7b4cd968e08b135a772d2d786f86503a113cb0c847049b332a4397b0a5
6
+ metadata.gz: 4273557f2d93c634e3a9ffc789a503f80ee5ca80a8031c1406a63a3e926648dd15294faa8820d6f6c63a625b9be4a34dd36bbde954ba8f68fe418f7182a84f55
7
+ data.tar.gz: ad6468ca75db3d8ebc792fcabbf417490c2cfe2927ab4859ef1c059fe36b8bad1c311fa03608a878350dd8324d3ab75887728a6ec4af1ffb1ea8739027642c69
@@ -117,7 +117,7 @@ dump_attr_cb(ID key, VALUE value, Out out) {
117
117
  dump_rails_val(value, depth, out, true);
118
118
  out->depth = depth;
119
119
  *out->cur++ = ',';
120
-
120
+
121
121
  return ST_CONTINUE;
122
122
  }
123
123
 
@@ -230,7 +230,7 @@ dump_sec_nano(VALUE obj, int64_t sec, long nsec, Out out) {
230
230
  int tzhour, tzmin;
231
231
  char tzsign = '+';
232
232
  int len;
233
-
233
+
234
234
  if (out->end - out->cur <= 36) {
235
235
  assure_size(out, 36);
236
236
  }
@@ -353,7 +353,7 @@ columns_array(VALUE rcols, int *ccnt) {
353
353
  StrLen cols;
354
354
  int i;
355
355
  int cnt = (int)RARRAY_LEN(rcols);
356
-
356
+
357
357
  *ccnt = cnt;
358
358
  cols = ALLOC_N(struct _strLen, cnt);
359
359
  for (i = 0, cp = cols; i < cnt; i++, cp++) {
@@ -372,7 +372,7 @@ dump_row(VALUE row, StrLen cols, int ccnt, int depth, Out out) {
372
372
  size_t size;
373
373
  int d2 = depth + 1;
374
374
  int i;
375
-
375
+
376
376
  assure_size(out, 2);
377
377
  *out->cur++ = '{';
378
378
  size = depth * out->indent + 3;
@@ -432,7 +432,7 @@ dump_activerecord_result(VALUE obj, int depth, Out out, bool as_ok) {
432
432
  int i, rcnt;
433
433
  size_t size;
434
434
  int d2 = depth + 1;
435
-
435
+
436
436
  if (0 == rows_id) {
437
437
  rows_id = rb_intern("@rows");
438
438
  columns_id = rb_intern("@columns");
@@ -597,7 +597,7 @@ create_opt(ROptTable rot, VALUE clas) {
597
597
  ro = &rot->table[olen];
598
598
  } else {
599
599
  int i;
600
-
600
+
601
601
  for (i = 0, ro = rot->table; i < olen; i++, ro++) {
602
602
  if (clas < ro->clas) {
603
603
  memmove(ro + 1, ro, sizeof(struct _rOpt) * (olen - i));
@@ -672,7 +672,7 @@ encoder_new(int argc, VALUE *argv, VALUE self) {
672
672
  e->opts = oj_default_options;
673
673
  e->arg = Qnil;
674
674
  copy_opts(&ropts, &e->ropts);
675
-
675
+
676
676
  if (1 <= argc && Qnil != *argv) {
677
677
  oj_parse_options(*argv, &e->opts);
678
678
  e->arg = *argv;
@@ -727,7 +727,7 @@ optimize(int argc, VALUE *argv, ROptTable rot, bool on) {
727
727
  int i;
728
728
  NamedFunc nf;
729
729
  VALUE clas;
730
-
730
+
731
731
  oj_rails_hash_opt = on;
732
732
  oj_rails_array_opt = on;
733
733
  oj_rails_float_opt = on;
@@ -759,14 +759,14 @@ optimize(int argc, VALUE *argv, ROptTable rot, bool on) {
759
759
 
760
760
  /* Document-method optimize
761
761
  * call-seq: optimize(*classes)
762
- *
762
+ *
763
763
  * Use Oj rails optimized routines to encode the specified classes. This
764
764
  * ignores the as_json() method on the class and uses an internal encoding
765
765
  * instead. Passing in no classes indicates all should use the optimized
766
766
  * version of encoding for all previously optimized classes. Passing in the
767
767
  * Object class set a global switch that will then use the optimized behavior
768
768
  * for all classes.
769
- *
769
+ *
770
770
  * - *classes* [_Class_] a list of classes to optimize
771
771
  */
772
772
  static VALUE
@@ -780,14 +780,14 @@ encoder_optimize(int argc, VALUE *argv, VALUE self) {
780
780
 
781
781
  /* Document-method: optimize
782
782
  * call-seq: optimize(*classes)
783
- *
783
+ *
784
784
  * Use Oj rails optimized routines to encode the specified classes. This
785
785
  * ignores the as_json() method on the class and uses an internal encoding
786
786
  * instead. Passing in no classes indicates all should use the optimized
787
787
  * version of encoding for all previously optimized classes. Passing in the
788
788
  * Object class set a global switch that will then use the optimized behavior
789
789
  * for all classes.
790
- *
790
+ *
791
791
  * - *classes* [_Class_] a list of classes to optimize
792
792
  */
793
793
  static VALUE
@@ -806,7 +806,7 @@ rails_optimize(int argc, VALUE *argv, VALUE self) {
806
806
  VALUE
807
807
  rails_mimic_json(VALUE self) {
808
808
  VALUE json;
809
-
809
+
810
810
  if (rb_const_defined_at(rb_cObject, rb_intern("JSON"))) {
811
811
  json = rb_const_get_at(rb_cObject, rb_intern("JSON"));
812
812
  } else {
@@ -820,7 +820,7 @@ rails_mimic_json(VALUE self) {
820
820
 
821
821
  /* Document-method: deoptimize
822
822
  * call-seq: deoptimize(*classes)
823
- *
823
+ *
824
824
  * Turn off Oj rails optimization on the specified classes.
825
825
  *
826
826
  * - *classes* [_Class_] a list of classes to deoptimize
@@ -836,7 +836,7 @@ encoder_deoptimize(int argc, VALUE *argv, VALUE self) {
836
836
 
837
837
  /* Document-method: deoptimize
838
838
  * call-seq: deoptimize(*classes)
839
- *
839
+ *
840
840
  * Turn off Oj rails optimization on the specified classes.
841
841
  *
842
842
  * - *classes* [_Class_] a list of classes to deoptimize
@@ -850,7 +850,7 @@ rails_deoptimize(int argc, VALUE *argv, VALUE self) {
850
850
 
851
851
  /* Document-method:optimized?
852
852
  * call-seq: optimized?(clas)
853
- *
853
+ *
854
854
  * - *clas* [_Class_] Class to check
855
855
  *
856
856
  * @return true if the class is being optimized for rails and false otherwise
@@ -868,7 +868,7 @@ encoder_optimized(VALUE self, VALUE clas) {
868
868
 
869
869
  /* Document-method: optimized?
870
870
  * call-seq: optimized?(clas)
871
- *
871
+ *
872
872
  * Returns true if the specified Class is being optimized.
873
873
  */
874
874
  static VALUE
@@ -966,7 +966,7 @@ encode(VALUE obj, ROptTable ropts, Options opts, int argc, VALUE *argv) {
966
966
 
967
967
  /* Document-method: encode
968
968
  * call-seq: encode(obj)
969
- *
969
+ *
970
970
  * - *obj* [_Object_] object to encode
971
971
  *
972
972
  * Returns encoded object as a JSON string.
@@ -977,7 +977,7 @@ encoder_encode(VALUE self, VALUE obj) {
977
977
 
978
978
  if (Qnil != e->arg) {
979
979
  VALUE argv[1] = { e->arg };
980
-
980
+
981
981
  return encode(obj, &e->ropts, &e->opts, 1, argv);
982
982
  }
983
983
  return encode(obj, &e->ropts, &e->opts, 0, NULL);
@@ -985,9 +985,9 @@ encoder_encode(VALUE self, VALUE obj) {
985
985
 
986
986
  /* Document-method: encode
987
987
  * call-seq: encode(obj, opts=nil)
988
- *
988
+ *
989
989
  * Encode obj as a JSON String.
990
- *
990
+ *
991
991
  * - *obj* [_Object_|Hash|Array] object to convert to a JSON String
992
992
  * - *opts* [_Hash_] options
993
993
  *
@@ -1037,7 +1037,7 @@ rails_time_precision(VALUE self, VALUE prec) {
1037
1037
 
1038
1038
  /* Document-method: set_encoder
1039
1039
  * call-seq: set_encoder()
1040
- *
1040
+ *
1041
1041
  * Sets the ActiveSupport.encoder to Oj::Rails::Encoder and wraps some of the
1042
1042
  * formatting globals used by ActiveSupport to allow the use of those globals
1043
1043
  * in the Oj::Rails optimizations.
@@ -1049,7 +1049,7 @@ rails_set_encoder(VALUE self) {
1049
1049
  VALUE encoding;
1050
1050
  VALUE pv;
1051
1051
  VALUE verbose;
1052
-
1052
+
1053
1053
  if (rb_const_defined_at(rb_cObject, rb_intern("ActiveSupport"))) {
1054
1054
  active = rb_const_get_at(rb_cObject, rb_intern("ActiveSupport"));
1055
1055
  } else {
@@ -1090,7 +1090,7 @@ rails_set_decoder(VALUE self) {
1090
1090
  VALUE json;
1091
1091
  VALUE json_error;
1092
1092
  VALUE verbose;
1093
-
1093
+
1094
1094
  if (rb_const_defined_at(rb_cObject, rb_intern("JSON"))) {
1095
1095
  json = rb_const_get_at(rb_cObject, rb_intern("JSON"));
1096
1096
  } else {
@@ -1113,7 +1113,7 @@ rails_set_decoder(VALUE self) {
1113
1113
  rb_undef_method(json, "parse");
1114
1114
  rb_define_module_function(json, "parse", oj_mimic_parse, -1);
1115
1115
  rb_gv_set("$VERBOSE", verbose);
1116
-
1116
+
1117
1117
  return Qnil;
1118
1118
  }
1119
1119
 
@@ -1133,7 +1133,7 @@ oj_optimize_rails(VALUE self) {
1133
1133
  }
1134
1134
 
1135
1135
  /* Document-module: Oj::Rails
1136
- *
1136
+ *
1137
1137
  * Module that provides rails and active support compatibility.
1138
1138
  */
1139
1139
  /* Document-class: Oj::Rails::Encoder
@@ -1143,7 +1143,7 @@ oj_optimize_rails(VALUE self) {
1143
1143
  void
1144
1144
  oj_mimic_rails_init() {
1145
1145
  VALUE rails = rb_define_module_under(Oj, "Rails");
1146
-
1146
+
1147
1147
  rb_define_module_function(rails, "encode", rails_encode, -1);
1148
1148
 
1149
1149
  encoder_class = rb_define_class_under(rails, "Encoder", rb_cObject);
@@ -1283,7 +1283,10 @@ hash_cb(VALUE key, VALUE value, Out out) {
1283
1283
  int depth = out->depth;
1284
1284
  long size;
1285
1285
  int rtype = rb_type(key);
1286
-
1286
+
1287
+ if (out->omit_nil && Qnil == value) {
1288
+ return ST_CONTINUE;
1289
+ }
1287
1290
  if (rtype != T_STRING && rtype != T_SYMBOL) {
1288
1291
  key = rb_funcall(key, oj_to_s_id, 0);
1289
1292
  rtype = rb_type(key);
@@ -31,7 +31,7 @@ module Oj
31
31
  end
32
32
 
33
33
  # Loads mimic-ed JSON paths. Used by Oj.mimic_JSON().
34
- # @param mimic_path [Array] additional paths to add to the Ruby loaded features.
34
+ # @param mimic_paths [Array] additional paths to add to the Ruby loaded features.
35
35
  def self.mimic_loaded(mimic_paths=[])
36
36
  $LOAD_PATH.each do |d|
37
37
  next unless File.exist?(d)
@@ -1,5 +1,5 @@
1
1
 
2
2
  module Oj
3
3
  # Current version of the module.
4
- VERSION = '3.7.11'
4
+ VERSION = '3.7.12'
5
5
  end
@@ -0,0 +1,15 @@
1
+ #require 'active_support'
2
+ #require 'active_support/core_ext'
3
+ #require 'active_support/json'
4
+ require 'oj'
5
+
6
+ #Oj.optimize_rails
7
+ Oj.mimic_JSON
8
+
9
+ h = {:type=>:record, :name=>:group, :namespace=>"com.salsify.identity", :fields=>[{:name=>"id", :type=>{:name=>:salsify_uuid, :type=>:fixed, :namespace=>"com.salsify", :size=>38}}, {:name=>"type", :type=>"string", :default=>"groups"}, {:name=>"external_id", :type=>[:null, "string"], :default=>nil}, {:name=>"created_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"updated_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"name", :type=>"string"}, {:name=>"policy", :type=>[:null, {:type=>:record, :name=>:policy, :namespace=>"com.salsify.security", :fields=>[{:name=>"created_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"updated_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"id", :type=>"com.salsify.salsify_uuid"}, {:name=>"type", :type=>"string", :default=>"policies"}, {:name=>"external_id", :type=>[:null, "string"], :default=>nil}, {:name=>"name", :type=>"string"}, {:name=>"statements", :type=>{:type=>:array, :items=>{:type=>:record, :name=>:statement, :namespace=>"com.salsify.security", :fields=>[{:name=>"created_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"updated_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"id", :type=>"com.salsify.salsify_uuid"}, {:name=>"type", :type=>"string", :default=>"statements"}, {:name=>"external_id", :type=>[:null, "string"], :default=>nil}, {:name=>"action", :type=>{:name=>"__statement_action_enum", :type=>:enum, :namespace=>"com.salsify.security", :symbols=>[:manage, :read]}}, {:name=>"resource", :type=>{:name=>"__statement_resource_enum", :type=>:enum, :namespace=>"com.salsify.security", :symbols=>[:product, :digital_asset]}}, {:name=>"conditions", :type=>{:type=>:array, :items=>{:type=>:record, :name=>:condition, :namespace=>"com.salsify.security", :fields=>[{:name=>"created_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"updated_at", :type=>{:type=>"long", :logicalType=>"timestamp-micros"}}, {:name=>"id", :type=>"com.salsify.salsify_uuid"}, {:name=>"type", :type=>"string", :default=>"conditions"}, {:name=>"external_id", :type=>[:null, "string"], :default=>nil}, {:name=>"operator", :type=>{:name=>"__condition_operator_enum", :type=>:enum, :namespace=>"com.salsify.security", :symbols=>[:equals]}}, {:name=>"attribute_type", :type=>{:name=>"__condition_attribute_type_enum", :type=>:enum, :namespace=>"com.salsify.security", :symbols=>[:resource]}}, {:name=>"value", :type=>"string"}, {:name=>"attribute", :type=>[:null, {:type=>:record, :name=>:reference, :namespace=>"com.salsify", :fields=>[{:name=>"id", :type=>"com.salsify.salsify_uuid"}, {:name=>"type", :type=>"string", :doc=>"snake_case, plural name for the resource type"}, {:name=>"external_id", :type=>[:null, "string"], :default=>nil}]}], :default=>nil}, {:name=>"broken", :type=>[:null, "boolean"], :default=>nil}]}}}]}}}]}], :default=>nil}]}
10
+
11
+ #Oj.dump(h)
12
+ puts JSON.pretty_generate(h)
13
+ #puts JSON.fast_generate(h)
14
+ #puts JSON.generate(h)
15
+
@@ -1,21 +1,33 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: UTF-8
3
2
 
4
- $: << File.dirname(__FILE__)
5
- $oj_dir = File.dirname(File.expand_path(File.dirname(__FILE__)))
6
- %w(lib ext).each do |dir|
7
- $: << File.join($oj_dir, dir)
8
- end
3
+ $: << '.'
4
+ $: << '../lib'
5
+ $: << '../ext'
9
6
 
10
7
  require 'oj'
11
- require 'active_support'
12
- require 'active_support/json'
13
- #require 'tracer'
14
8
 
15
- Oj::Rails.set_encoder()
16
- Oj::Rails.set_decoder()
17
- Oj::Rails.optimize()
9
+ f = File.open("foo.json", "w")
10
+ 100_000.times do
11
+ obj = { created_at: DateTime.new(2001,2,3,4,5,6) }
12
+ Oj.to_stream(f, obj)
13
+ f.puts
14
+ f.flush
15
+ end
16
+ f.close
18
17
 
19
- #Oj::mimic_JSON
18
+ def run_test_thread
19
+ threads = Array.new(3) do
20
+ Thread.new do
21
+ counter = 0
22
+ File.open("foo.json", "r") { |f| Oj.enum_for(:load, f).lazy.each { counter += 1 } }
23
+ #File.open("odd_file.jsonl", "r") { |f| Oj.enum_for(:load, f).lazy.each { counter += 1 } }
24
+ puts counter
25
+ end
26
+ end
27
+ threads.each(&:join)
28
+ end
20
29
 
21
- puts JSON.parse('{"a":1}', symbolize_names: true)
30
+ 100.times do |i|
31
+ puts i
32
+ run_test_thread
33
+ end
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $: << '.'
4
+ $: << '../lib'
5
+ $: << '../ext'
6
+
7
+ require 'objspace'
8
+ require 'oj'
9
+ require 'json'
10
+ require 'get_process_mem'
11
+
12
+ def record_allocation
13
+ GC.start
14
+ GC.start
15
+
16
+ mem = GetProcessMem.new
17
+ puts "Before - Process Memory: #{mem.mb} mb"
18
+ puts "Before - Objects count: #{ObjectSpace.each_object.count}"
19
+ puts "Before - Symbols count: #{Symbol.all_symbols.size}"
20
+
21
+ yield
22
+
23
+ GC.start
24
+ GC.start
25
+ GC.start
26
+
27
+ puts "After - Process Memory: #{mem.mb} mb"
28
+ puts "After - Objects count: #{ObjectSpace.each_object.count}"
29
+ puts "After - Symbols count: #{Symbol.all_symbols.size}"
30
+ end
31
+
32
+ record_allocation do
33
+ data = 1_000_000.times.map { |i| "string_number_#{i}".to_sym } # array of symbols
34
+ Oj.dump(data, mode: :rails)
35
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oj
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.11
4
+ version: 3.7.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ohler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-20 00:00:00.000000000 Z
11
+ date: 2019-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -79,16 +79,16 @@ extensions:
79
79
  - ext/oj/extconf.rb
80
80
  extra_rdoc_files:
81
81
  - README.md
82
- - pages/Rails.md
83
- - pages/JsonGem.md
84
- - pages/Encoding.md
85
- - pages/WAB.md
86
- - pages/Custom.md
82
+ - pages/Modes.md
87
83
  - pages/Advanced.md
88
84
  - pages/Options.md
85
+ - pages/Custom.md
89
86
  - pages/Compatibility.md
90
- - pages/Modes.md
87
+ - pages/WAB.md
91
88
  - pages/Security.md
89
+ - pages/Encoding.md
90
+ - pages/JsonGem.md
91
+ - pages/Rails.md
92
92
  files:
93
93
  - LICENSE
94
94
  - README.md
@@ -177,7 +177,7 @@ files:
177
177
  - test/activesupport5/encoding_test_cases.rb
178
178
  - test/activesupport5/test_helper.rb
179
179
  - test/activesupport5/time_zone_test_helpers.rb
180
- - test/bar.rb
180
+ - test/big.rb
181
181
  - test/files.rb
182
182
  - test/foo.rb
183
183
  - test/helper.rb
@@ -200,6 +200,7 @@ files:
200
200
  - test/json_gem/json_parser_test.rb
201
201
  - test/json_gem/json_string_matching_test.rb
202
202
  - test/json_gem/test_helper.rb
203
+ - test/mem.rb
203
204
  - test/perf.rb
204
205
  - test/perf_compat.rb
205
206
  - test/perf_fast.rb
@@ -243,7 +244,6 @@ files:
243
244
  - test/tests.rb
244
245
  - test/tests_mimic.rb
245
246
  - test/tests_mimic_addition.rb
246
- - test/zoo.rb
247
247
  homepage: http://www.ohler.com/oj
248
248
  licenses:
249
249
  - MIT
@@ -273,87 +273,87 @@ required_rubygems_version: !ruby/object:Gem::Requirement
273
273
  - !ruby/object:Gem::Version
274
274
  version: '0'
275
275
  requirements: []
276
- rubygems_version: 3.0.1
276
+ rubygems_version: 3.0.3
277
277
  signing_key:
278
278
  specification_version: 4
279
279
  summary: A fast JSON parser and serializer.
280
280
  test_files:
281
- - test/foo.rb
282
- - test/test_integer_range.rb
283
- - test/test_strict.rb
284
- - test/perf_strict.rb
285
- - test/tests.rb
286
- - test/perf_saj.rb
287
- - test/test_compat.rb
288
- - test/helper.rb
289
281
  - test/perf_file.rb
290
- - test/test_scp.rb
291
- - test/perf_compat.rb
292
- - test/json_gem/json_common_interface_test.rb
293
- - test/json_gem/json_addition_test.rb
294
- - test/json_gem/json_fixtures_test.rb
295
- - test/json_gem/json_ext_parser_test.rb
282
+ - test/test_hash.rb
283
+ - test/perf.rb
284
+ - test/test_object.rb
285
+ - test/test_null.rb
286
+ - test/test_compat.rb
287
+ - test/test_custom.rb
288
+ - test/perf_scp.rb
289
+ - test/test_integer_range.rb
290
+ - test/test_gc.rb
291
+ - test/sample.rb
296
292
  - test/json_gem/json_string_matching_test.rb
297
- - test/json_gem/json_generic_object_test.rb
298
- - test/json_gem/json_generator_test.rb
293
+ - test/json_gem/json_addition_test.rb
299
294
  - test/json_gem/test_helper.rb
300
- - test/json_gem/json_encoding_test.rb
295
+ - test/json_gem/json_generator_test.rb
301
296
  - test/json_gem/json_parser_test.rb
302
- - test/perf_wab.rb
303
- - test/test_file.rb
304
- - test/test_object.rb
305
- - test/sample.rb
306
- - test/perf_object.rb
307
- - test/test_hash.rb
308
- - test/test_custom.rb
309
- - test/bar.rb
310
- - test/activesupport4/encoding_test.rb
297
+ - test/json_gem/json_encoding_test.rb
298
+ - test/json_gem/json_common_interface_test.rb
299
+ - test/json_gem/json_generic_object_test.rb
300
+ - test/json_gem/json_ext_parser_test.rb
301
+ - test/json_gem/json_fixtures_test.rb
302
+ - test/tests_mimic_addition.rb
303
+ - test/test_wab.rb
311
304
  - test/activesupport4/test_helper.rb
312
305
  - test/activesupport4/decoding_test.rb
313
- - test/sample_json.rb
306
+ - test/activesupport4/encoding_test.rb
307
+ - test/activerecord/result_test.rb
308
+ - test/_test_active.rb
309
+ - test/test_file.rb
314
310
  - test/activesupport5/encoding_test_cases.rb
315
- - test/activesupport5/encoding_test.rb
316
311
  - test/activesupport5/time_zone_test_helpers.rb
317
312
  - test/activesupport5/test_helper.rb
318
313
  - test/activesupport5/decoding_test.rb
319
- - test/test_saj.rb
320
- - test/perf_scp.rb
321
- - test/test_wab.rb
322
- - test/test_null.rb
323
- - test/_test_active.rb
324
- - test/_test_mimic_rails.rb
325
- - test/test_fast.rb
326
- - test/perf_fast.rb
327
- - test/sample/change.rb
328
- - test/sample/text.rb
329
- - test/sample/doc.rb
330
- - test/sample/shape.rb
331
- - test/sample/layer.rb
332
- - test/sample/group.rb
333
- - test/sample/file.rb
334
- - test/sample/rect.rb
335
- - test/sample/hasprops.rb
336
- - test/sample/line.rb
337
- - test/sample/dir.rb
338
- - test/sample/oval.rb
339
- - test/tests_mimic.rb
340
- - test/perf_simple.rb
341
- - test/zoo.rb
342
- - test/activerecord/result_test.rb
314
+ - test/activesupport5/encoding_test.rb
315
+ - test/tests.rb
343
316
  - test/_test_active_mimic.rb
344
- - test/tests_mimic_addition.rb
345
- - test/test_writer.rb
346
- - test/perf.rb
317
+ - test/perf_object.rb
318
+ - test/test_strict.rb
319
+ - test/test_scp.rb
320
+ - test/perf_wab.rb
321
+ - test/test_saj.rb
322
+ - test/mem.rb
323
+ - test/perf_compat.rb
324
+ - test/helper.rb
325
+ - test/isolated/test_mimic_alone.rb
347
326
  - test/isolated/test_mimic_define.rb
348
- - test/isolated/test_mimic_after.rb
349
327
  - test/isolated/test_mimic_rails_after.rb
350
- - test/isolated/test_mimic_before.rb
328
+ - test/isolated/test_mimic_after.rb
351
329
  - test/isolated/test_mimic_rails_before.rb
330
+ - test/isolated/test_mimic_as_json.rb
352
331
  - test/isolated/test_mimic_redefine.rb
353
332
  - test/isolated/shared.rb
354
- - test/isolated/test_mimic_alone.rb
355
- - test/isolated/test_mimic_as_json.rb
333
+ - test/isolated/test_mimic_before.rb
334
+ - test/sample_json.rb
356
335
  - test/test_debian.rb
357
- - test/test_gc.rb
336
+ - test/perf_fast.rb
337
+ - test/test_writer.rb
338
+ - test/test_fast.rb
339
+ - test/sample/line.rb
340
+ - test/sample/change.rb
341
+ - test/sample/dir.rb
342
+ - test/sample/text.rb
343
+ - test/sample/layer.rb
344
+ - test/sample/rect.rb
345
+ - test/sample/group.rb
346
+ - test/sample/oval.rb
347
+ - test/sample/doc.rb
348
+ - test/sample/hasprops.rb
349
+ - test/sample/shape.rb
350
+ - test/sample/file.rb
358
351
  - test/files.rb
352
+ - test/big.rb
353
+ - test/perf_saj.rb
354
+ - test/foo.rb
355
+ - test/tests_mimic.rb
356
+ - test/perf_strict.rb
359
357
  - test/test_various.rb
358
+ - test/_test_mimic_rails.rb
359
+ - test/perf_simple.rb
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # encoding: UTF-8
3
-
4
- $: << File.dirname(__FILE__)
5
- $oj_dir = File.dirname(File.expand_path(File.dirname(__FILE__)))
6
- %w(lib ext).each do |dir|
7
- $: << File.join($oj_dir, dir)
8
- end
9
-
10
- require 'oj'
11
-
12
- #Oj.load_file(ARGV[0], mode: :strict) { |obj|
13
- # puts Oj.dump(obj, indent: 2)
14
- #}
15
-
16
- data = open('invalid_unicode.data').read
17
-
18
- puts data
19
-
20
- puts Oj.dump(data)
21
-
22
- Oj.mimic_JSON
23
- puts Oj.dump(data, escape_mode: :json)
24
-
25
- puts Oj.default_options
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- #require 'json'
4
-
5
- $: << File.dirname(__FILE__)
6
- require 'helper'
7
- require 'oj'
8
-
9
- Oj.mimic_JSON
10
- puts "\u3074"
11
-
12
- puts JSON.dump(["\u3074"])
13
- puts JSON.generate(["\u3074"])