oj 3.10.18 → 3.11.0
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.
- checksums.yaml +4 -4
- data/ext/oj/mimic_json.c +3 -9
- data/ext/oj/oj.c +12 -4
- data/ext/oj/oj.h +1 -0
- data/ext/oj/parse.c +12 -3
- data/ext/oj/sparse.c +33 -8
- data/lib/oj/version.rb +1 -1
- data/pages/Modes.md +2 -1
- data/pages/Options.md +8 -0
- data/test/test_compat.rb +1 -1
- data/test/test_various.rb +1 -0
- metadata +82 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a9281dd44fc3a292de885df89aea20d98fc76c658a6bdc5291af8a1823c521c
|
4
|
+
data.tar.gz: 2aaeeee785c97a6d11f5188fe285e2dc0cd89df24408b08f9de537e3c5f602e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0787f0efdc46414a5b228aab320eb4c41242100da6f6e2598fcb6afaa08e9eeaaf0c524dce001899aac0e4015c252ef1d4dc399a6eea68bef32f18e9268f018a'
|
7
|
+
data.tar.gz: 3298dbc834012e9981bda042e827b572ef17a0a1a827a8f07e4bc921df5ec940cdaa5f41f7c8f41a9571fc4fcda86c1fd81c96b214754bad33a3e15d66786cee
|
data/ext/oj/mimic_json.c
CHANGED
@@ -364,7 +364,6 @@ mimic_generate_core(int argc, VALUE *argv, Options copts) {
|
|
364
364
|
struct _out out;
|
365
365
|
VALUE rstr;
|
366
366
|
|
367
|
-
// TBD
|
368
367
|
memset(buf, 0, sizeof(buf));
|
369
368
|
|
370
369
|
out.buf = buf;
|
@@ -510,6 +509,7 @@ mimic_parse_core(int argc, VALUE *argv, VALUE self, bool bang) {
|
|
510
509
|
pi.options.create_ok = No;
|
511
510
|
pi.options.allow_nan = (bang ? Yes : No);
|
512
511
|
pi.options.nilnil = No;
|
512
|
+
pi.options.bigdec_load = RubyDec;
|
513
513
|
pi.options.mode = CompatMode;
|
514
514
|
pi.max_depth = 100;
|
515
515
|
|
@@ -560,14 +560,7 @@ mimic_parse_core(int argc, VALUE *argv, VALUE self, bool bang) {
|
|
560
560
|
}
|
561
561
|
}
|
562
562
|
if (Qtrue == rb_funcall(ropts, oj_has_key_id, 1, oj_decimal_class_sym)) {
|
563
|
-
|
564
|
-
if (rb_cFloat == v) {
|
565
|
-
pi.options.bigdec_load = FloatDec;
|
566
|
-
} else if (oj_bigdecimal_class == v) {
|
567
|
-
pi.options.bigdec_load = BigDec;
|
568
|
-
} else if (Qnil == v) {
|
569
|
-
pi.options.bigdec_load = AutoDec;
|
570
|
-
}
|
563
|
+
pi.options.compat_bigdec = (oj_bigdecimal_class == rb_hash_lookup(ropts, oj_decimal_class_sym));
|
571
564
|
}
|
572
565
|
v = rb_hash_lookup(ropts, oj_max_nesting_sym);
|
573
566
|
if (Qtrue == v) {
|
@@ -693,6 +686,7 @@ static struct _options mimic_object_to_json_options = {
|
|
693
686
|
RubyTime, // time_format
|
694
687
|
No, // bigdec_as_num
|
695
688
|
RubyDec, // bigdec_load
|
689
|
+
false, // compat_bigdec
|
696
690
|
No, // to_hash
|
697
691
|
No, // to_json
|
698
692
|
No, // as_json
|
data/ext/oj/oj.c
CHANGED
@@ -107,6 +107,7 @@ static VALUE bigdecimal_load_sym;
|
|
107
107
|
static VALUE bigdecimal_sym;
|
108
108
|
static VALUE circular_sym;
|
109
109
|
static VALUE class_cache_sym;
|
110
|
+
static VALUE compat_bigdecimal_sym;
|
110
111
|
static VALUE compat_sym;
|
111
112
|
static VALUE create_id_sym;
|
112
113
|
static VALUE custom_sym;
|
@@ -168,6 +169,7 @@ struct _options oj_default_options = {
|
|
168
169
|
UnixTime, // time_format
|
169
170
|
NotSet, // bigdec_as_num
|
170
171
|
AutoDec, // bigdec_load
|
172
|
+
false, // compat_bigdec
|
171
173
|
No, // to_hash
|
172
174
|
No, // to_json
|
173
175
|
No, // as_json
|
@@ -230,6 +232,7 @@ struct _options oj_default_options = {
|
|
230
232
|
* - *:time_format* [_:unix_|_:unix_zone_|_:xmlschema_|_:ruby_] time format when dumping
|
231
233
|
* - *:bigdecimal_as_decimal* [_Boolean_|_nil_] dump BigDecimal as a decimal number or as a String
|
232
234
|
* - *:bigdecimal_load* [_:bigdecimal_|_:float_|_:auto_|_:fast_] load decimals as BigDecimal instead of as a Float. :auto pick the most precise for the number of digits. :float should be the same as ruby. :fast may require rounding but is must faster.
|
235
|
+
* - *:compat_bigdecimal* [_true_|_false_] load decimals as BigDecimal instead of as a Float when in compat or rails mode.
|
233
236
|
* - *:create_id* [_String_|_nil_] create id for json compatible object encoding, default is 'json_class'
|
234
237
|
* - *:create_additions* [_Boolean_|_nil_] if true allow creation of instances using create_id on load.
|
235
238
|
* - *:second_precision* [_Fixnum_|_nil_] number of digits after the decimal when dumping the seconds portion of time
|
@@ -334,6 +337,7 @@ get_def_opts(VALUE self) {
|
|
334
337
|
case AutoDec:
|
335
338
|
default: rb_hash_aset(opts, bigdecimal_load_sym, auto_sym); break;
|
336
339
|
}
|
340
|
+
rb_hash_aset(opts, compat_bigdecimal_sym, oj_default_options.compat_bigdec ? Qtrue : Qfalse);
|
337
341
|
rb_hash_aset(opts, create_id_sym, (NULL == oj_default_options.create_id) ? Qnil : rb_str_new2(oj_default_options.create_id));
|
338
342
|
rb_hash_aset(opts, oj_space_sym, (0 == oj_default_options.dump_opts.after_size) ? Qnil : rb_str_new2(oj_default_options.dump_opts.after_sep));
|
339
343
|
rb_hash_aset(opts, oj_space_before_sym, (0 == oj_default_options.dump_opts.before_size) ? Qnil : rb_str_new2(oj_default_options.dump_opts.before_sep));
|
@@ -379,6 +383,7 @@ get_def_opts(VALUE self) {
|
|
379
383
|
* - *:escape* [_:newline_|_:json_|_:xss_safe_|_:ascii_|_unicode_xss_|_nil_] mode encodes all high-bit characters as escaped sequences if :ascii, :json is standand UTF-8 JSON encoding, :newline is the same as :json but newlines are not escaped, :unicode_xss allows unicode but escapes &, <, and >, and any \u20xx characters along with some others, and :xss_safe escapes &, <, and >, and some others.
|
380
384
|
* - *:bigdecimal_as_decimal* [_Boolean_|_nil_] dump BigDecimal as a decimal number or as a String.
|
381
385
|
* - *:bigdecimal_load* [_:bigdecimal_|_:float_|_:auto_|_nil_] load decimals as BigDecimal instead of as a Float. :auto pick the most precise for the number of digits.
|
386
|
+
* - *:compat_bigdecimal* [_true_|_false_] load decimals as BigDecimal instead of as a Float in compat mode.
|
382
387
|
* - *:mode* [_:object_|_:strict_|_:compat_|_:null_|_:custom_|_:rails_|_:wab_] load and dump mode to use for JSON :strict raises an exception when a non-supported Object is encountered. :compat attempts to extract variable values from an Object using to_json() or to_hash() then it walks the Object's variables if neither is found. The :object mode ignores to_hash() and to_json() methods and encodes variables using code internal to the Oj gem. The :null mode ignores non-supported Objects and replaces them with a null. The :custom mode honors all dump options. The :rails more mimics rails and Active behavior.
|
383
388
|
* - *:time_format* [_:unix_|_:xmlschema_|_:ruby_] time format when dumping in :compat mode :unix decimal number denoting the number of seconds since 1/1/1970, :unix_zone decimal number denoting the number of seconds since 1/1/1970 plus the utc_offset in the exponent, :xmlschema date-time format taken from XML Schema as a String, :ruby Time.to_s formatted String.
|
384
389
|
* - *:create_id* [_String_|_nil_] create id for json compatible object encoding
|
@@ -582,19 +587,21 @@ oj_parse_options(VALUE ropts, Options copts) {
|
|
582
587
|
rb_raise(rb_eArgError, ":bigdecimal_load must be :bigdecimal, :float, or :auto.");
|
583
588
|
}
|
584
589
|
}
|
590
|
+
if (Qnil != (v = rb_hash_lookup(ropts, compat_bigdecimal_sym))) {
|
591
|
+
copts->compat_bigdec = (Qtrue == v);
|
592
|
+
}
|
585
593
|
if (Qtrue == rb_funcall(ropts, oj_has_key_id, 1, oj_decimal_class_sym)) {
|
586
594
|
v = rb_hash_lookup(ropts, oj_decimal_class_sym);
|
587
595
|
if (rb_cFloat == v) {
|
588
|
-
copts->
|
596
|
+
copts->compat_bigdec = FloatDec;
|
589
597
|
} else if (oj_bigdecimal_class == v) {
|
590
|
-
copts->
|
598
|
+
copts->compat_bigdec = BigDec;
|
591
599
|
} else if (Qnil == v) {
|
592
|
-
copts->
|
600
|
+
copts->compat_bigdec = AutoDec;
|
593
601
|
} else {
|
594
602
|
rb_raise(rb_eArgError, ":decimal_class must be BigDecimal, Float, or nil.");
|
595
603
|
}
|
596
604
|
}
|
597
|
-
|
598
605
|
if (Qtrue == rb_funcall(ropts, oj_has_key_id, 1, create_id_sym)) {
|
599
606
|
v = rb_hash_lookup(ropts, create_id_sym);
|
600
607
|
if (Qnil == v) {
|
@@ -1663,6 +1670,7 @@ Init_oj() {
|
|
1663
1670
|
bigdecimal_sym = ID2SYM(rb_intern("bigdecimal")); rb_gc_register_address(&bigdecimal_sym);
|
1664
1671
|
circular_sym = ID2SYM(rb_intern("circular")); rb_gc_register_address(&circular_sym);
|
1665
1672
|
class_cache_sym = ID2SYM(rb_intern("class_cache")); rb_gc_register_address(&class_cache_sym);
|
1673
|
+
compat_bigdecimal_sym = ID2SYM(rb_intern("compat_bigdecimal"));rb_gc_register_address(&compat_bigdecimal_sym);
|
1666
1674
|
compat_sym = ID2SYM(rb_intern("compat")); rb_gc_register_address(&compat_sym);
|
1667
1675
|
create_id_sym = ID2SYM(rb_intern("create_id")); rb_gc_register_address(&create_id_sym);
|
1668
1676
|
custom_sym = ID2SYM(rb_intern("custom")); rb_gc_register_address(&custom_sym);
|
data/ext/oj/oj.h
CHANGED
data/ext/oj/parse.c
CHANGED
@@ -385,8 +385,13 @@ read_num(ParseInfo pi) {
|
|
385
385
|
ni.nan = 0;
|
386
386
|
ni.neg = 0;
|
387
387
|
ni.has_exp = 0;
|
388
|
-
|
389
|
-
|
388
|
+
if (CompatMode == pi->options.mode) {
|
389
|
+
ni.no_big = !pi->options.compat_bigdec;
|
390
|
+
ni.bigdec_load = pi->options.compat_bigdec;
|
391
|
+
} else {
|
392
|
+
ni.no_big = (FloatDec == pi->options.bigdec_load || FastDec == pi->options.bigdec_load || RubyDec == pi->options.bigdec_load);
|
393
|
+
ni.bigdec_load = pi->options.bigdec_load;
|
394
|
+
}
|
390
395
|
|
391
396
|
if ('-' == *pi->cur) {
|
392
397
|
pi->cur++;
|
@@ -511,7 +516,11 @@ read_num(ParseInfo pi) {
|
|
511
516
|
ni.nan = 1;
|
512
517
|
}
|
513
518
|
}
|
514
|
-
if (
|
519
|
+
if (CompatMode == pi->options.mode) {
|
520
|
+
if (pi->options.compat_bigdec) {
|
521
|
+
ni.big = 1;
|
522
|
+
}
|
523
|
+
} else if (BigDec == pi->options.bigdec_load) {
|
515
524
|
ni.big = 1;
|
516
525
|
}
|
517
526
|
if (0 == parent) {
|
data/ext/oj/sparse.c
CHANGED
@@ -400,8 +400,13 @@ read_num(ParseInfo pi) {
|
|
400
400
|
ni.nan = 0;
|
401
401
|
ni.neg = 0;
|
402
402
|
ni.has_exp = 0;
|
403
|
-
|
404
|
-
|
403
|
+
if (CompatMode == pi->options.mode) {
|
404
|
+
ni.no_big = !pi->options.compat_bigdec;
|
405
|
+
ni.bigdec_load = pi->options.compat_bigdec;
|
406
|
+
} else {
|
407
|
+
ni.no_big = (FloatDec == pi->options.bigdec_load || FastDec == pi->options.bigdec_load || RubyDec == pi->options.bigdec_load);
|
408
|
+
ni.bigdec_load = pi->options.bigdec_load;
|
409
|
+
}
|
405
410
|
|
406
411
|
c = reader_get(&pi->rd);
|
407
412
|
if ('-' == c) {
|
@@ -518,7 +523,11 @@ read_num(ParseInfo pi) {
|
|
518
523
|
ni.nan = 1;
|
519
524
|
}
|
520
525
|
}
|
521
|
-
if (
|
526
|
+
if (CompatMode == pi->options.mode) {
|
527
|
+
if (pi->options.compat_bigdec) {
|
528
|
+
ni.big = 1;
|
529
|
+
}
|
530
|
+
} else if (BigDec == pi->options.bigdec_load) {
|
522
531
|
ni.big = 1;
|
523
532
|
}
|
524
533
|
add_num_value(pi, &ni);
|
@@ -541,15 +550,24 @@ read_nan(ParseInfo pi) {
|
|
541
550
|
ni.infinity = 0;
|
542
551
|
ni.nan = 1;
|
543
552
|
ni.neg = 0;
|
544
|
-
|
545
|
-
|
553
|
+
if (CompatMode == pi->options.mode) {
|
554
|
+
ni.no_big = !pi->options.compat_bigdec;
|
555
|
+
ni.bigdec_load = pi->options.compat_bigdec;
|
556
|
+
} else {
|
557
|
+
ni.no_big = (FloatDec == pi->options.bigdec_load || FastDec == pi->options.bigdec_load || RubyDec == pi->options.bigdec_load);
|
558
|
+
ni.bigdec_load = pi->options.bigdec_load;
|
559
|
+
}
|
546
560
|
|
547
561
|
if ('a' != reader_get(&pi->rd) ||
|
548
562
|
('N' != (c = reader_get(&pi->rd)) && 'n' != c)) {
|
549
563
|
oj_set_error_at(pi, oj_parse_error_class, __FILE__, __LINE__, "not a number or other value");
|
550
564
|
return;
|
551
565
|
}
|
552
|
-
if (
|
566
|
+
if (CompatMode == pi->options.mode) {
|
567
|
+
if (pi->options.compat_bigdec) {
|
568
|
+
ni.big = 1;
|
569
|
+
}
|
570
|
+
} else if (BigDec == pi->options.bigdec_load) {
|
553
571
|
ni.big = 1;
|
554
572
|
}
|
555
573
|
add_num_value(pi, &ni);
|
@@ -739,8 +757,15 @@ oj_sparse2(ParseInfo pi) {
|
|
739
757
|
ni.infinity = 0;
|
740
758
|
ni.nan = 1;
|
741
759
|
ni.neg = 0;
|
742
|
-
|
743
|
-
|
760
|
+
if (CompatMode == pi->options.mode) {
|
761
|
+
ni.no_big = !pi->options.compat_bigdec;
|
762
|
+
ni.bigdec_load = pi->options.compat_bigdec;
|
763
|
+
} else {
|
764
|
+
ni.no_big = (FloatDec == pi->options.bigdec_load ||
|
765
|
+
FastDec == pi->options.bigdec_load ||
|
766
|
+
RubyDec == pi->options.bigdec_load);
|
767
|
+
ni.bigdec_load = pi->options.bigdec_load;
|
768
|
+
}
|
744
769
|
add_num_value(pi, &ni);
|
745
770
|
} else {
|
746
771
|
oj_set_error_at(pi, oj_parse_error_class, __FILE__, __LINE__, "invalid token");
|
data/lib/oj/version.rb
CHANGED
data/pages/Modes.md
CHANGED
@@ -95,7 +95,8 @@ information.
|
|
95
95
|
| :ascii_only | Boolean | x | x | 2 | 2 | x | x | |
|
96
96
|
| :auto_define | Boolean | | | | | x | x | |
|
97
97
|
| :bigdecimal_as_decimal | Boolean | | | | 3 | x | x | |
|
98
|
-
| :bigdecimal_load | Boolean | | |
|
98
|
+
| :bigdecimal_load | Boolean | | | | | | x | |
|
99
|
+
| :compat_bigdecimal | Boolean | | | x | | | x | |
|
99
100
|
| :circular | Boolean | x | x | x | x | x | x | |
|
100
101
|
| :class_cache | Boolean | | | | | x | x | |
|
101
102
|
| :create_additions | Boolean | | | x | x | | x | |
|
data/pages/Options.md
CHANGED
@@ -70,6 +70,14 @@ This can also be set with `:decimal_class` when used as a load or
|
|
70
70
|
parse option to match the JSON gem. In that case either `Float`,
|
71
71
|
`BigDecimal`, or `nil` can be provided.
|
72
72
|
|
73
|
+
### :compat_bigdecimal [Boolean]
|
74
|
+
|
75
|
+
Determines how to load decimals when in `:compat` mode.
|
76
|
+
|
77
|
+
- `true` convert all decimal numbers to BigDecimal.
|
78
|
+
|
79
|
+
- `false` convert all decimal numbers to Float.
|
80
|
+
|
73
81
|
### :circular [Boolean]
|
74
82
|
|
75
83
|
Detect circular references while dumping. In :compat mode raise a
|
data/test/test_compat.rb
CHANGED
@@ -283,7 +283,7 @@ class CompatJuice < Minitest::Test
|
|
283
283
|
assert_equal('"0.314159265358979323846e1"', json.downcase)
|
284
284
|
end
|
285
285
|
|
286
|
-
def
|
286
|
+
def test_decimal_class
|
287
287
|
big = BigDecimal('3.14159265358979323846')
|
288
288
|
# :decimal_class is the undocumented feature.
|
289
289
|
json = Oj.load('3.14159265358979323846', mode: :compat, decimal_class: BigDecimal)
|
data/test/test_various.rb
CHANGED
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.
|
4
|
+
version: 3.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Ohler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-12 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
|
87
82
|
- pages/Advanced.md
|
88
|
-
- pages/Options.md
|
89
83
|
- pages/Compatibility.md
|
84
|
+
- pages/Custom.md
|
85
|
+
- pages/Encoding.md
|
86
|
+
- pages/JsonGem.md
|
90
87
|
- pages/Modes.md
|
88
|
+
- pages/Options.md
|
89
|
+
- pages/Rails.md
|
91
90
|
- pages/Security.md
|
91
|
+
- pages/WAB.md
|
92
92
|
files:
|
93
93
|
- LICENSE
|
94
94
|
- README.md
|
@@ -284,98 +284,98 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
284
284
|
- !ruby/object:Gem::Version
|
285
285
|
version: '0'
|
286
286
|
requirements: []
|
287
|
-
rubygems_version: 3.
|
287
|
+
rubygems_version: 3.2.3
|
288
288
|
signing_key:
|
289
289
|
specification_version: 4
|
290
290
|
summary: A fast JSON parser and serializer.
|
291
291
|
test_files:
|
292
|
+
- test/_test_active.rb
|
293
|
+
- test/_test_active_mimic.rb
|
294
|
+
- test/_test_mimic_rails.rb
|
295
|
+
- test/activerecord/result_test.rb
|
296
|
+
- test/activesupport4/decoding_test.rb
|
297
|
+
- test/activesupport4/encoding_test.rb
|
298
|
+
- test/activesupport4/test_helper.rb
|
299
|
+
- test/activesupport5/abstract_unit.rb
|
300
|
+
- test/activesupport5/decoding_test.rb
|
301
|
+
- test/activesupport5/encoding_test.rb
|
302
|
+
- test/activesupport5/encoding_test_cases.rb
|
303
|
+
- test/activesupport5/test_helper.rb
|
304
|
+
- test/activesupport5/time_zone_test_helpers.rb
|
305
|
+
- test/activesupport6/abstract_unit.rb
|
306
|
+
- test/activesupport6/decoding_test.rb
|
307
|
+
- test/activesupport6/encoding_test.rb
|
308
|
+
- test/activesupport6/encoding_test_cases.rb
|
309
|
+
- test/activesupport6/test_common.rb
|
310
|
+
- test/activesupport6/test_helper.rb
|
311
|
+
- test/activesupport6/time_zone_test_helpers.rb
|
312
|
+
- test/bar.rb
|
313
|
+
- test/baz.rb
|
314
|
+
- test/files.rb
|
292
315
|
- test/foo.rb
|
293
|
-
- test/prec.rb
|
294
|
-
- test/test_integer_range.rb
|
295
|
-
- test/test_strict.rb
|
296
|
-
- test/perf_strict.rb
|
297
|
-
- test/tests.rb
|
298
|
-
- test/perf_saj.rb
|
299
|
-
- test/test_compat.rb
|
300
316
|
- test/helper.rb
|
301
|
-
- test/
|
302
|
-
- test/
|
303
|
-
- test/
|
304
|
-
- test/
|
317
|
+
- test/isolated/shared.rb
|
318
|
+
- test/isolated/test_mimic_after.rb
|
319
|
+
- test/isolated/test_mimic_alone.rb
|
320
|
+
- test/isolated/test_mimic_as_json.rb
|
321
|
+
- test/isolated/test_mimic_before.rb
|
322
|
+
- test/isolated/test_mimic_define.rb
|
323
|
+
- test/isolated/test_mimic_rails_after.rb
|
324
|
+
- test/isolated/test_mimic_rails_before.rb
|
325
|
+
- test/isolated/test_mimic_redefine.rb
|
305
326
|
- test/json_gem/json_addition_test.rb
|
306
|
-
- test/json_gem/
|
327
|
+
- test/json_gem/json_common_interface_test.rb
|
328
|
+
- test/json_gem/json_encoding_test.rb
|
307
329
|
- test/json_gem/json_ext_parser_test.rb
|
308
|
-
- test/json_gem/
|
309
|
-
- test/json_gem/json_generic_object_test.rb
|
330
|
+
- test/json_gem/json_fixtures_test.rb
|
310
331
|
- test/json_gem/json_generator_test.rb
|
311
|
-
- test/json_gem/
|
312
|
-
- test/json_gem/json_encoding_test.rb
|
332
|
+
- test/json_gem/json_generic_object_test.rb
|
313
333
|
- test/json_gem/json_parser_test.rb
|
314
|
-
- test/
|
315
|
-
- test/
|
316
|
-
- test/
|
317
|
-
- test/
|
334
|
+
- test/json_gem/json_string_matching_test.rb
|
335
|
+
- test/json_gem/test_helper.rb
|
336
|
+
- test/perf.rb
|
337
|
+
- test/perf_compat.rb
|
338
|
+
- test/perf_fast.rb
|
339
|
+
- test/perf_file.rb
|
318
340
|
- test/perf_object.rb
|
319
|
-
- test/
|
320
|
-
- test/test_custom.rb
|
321
|
-
- test/bar.rb
|
322
|
-
- test/activesupport4/encoding_test.rb
|
323
|
-
- test/activesupport4/test_helper.rb
|
324
|
-
- test/activesupport4/decoding_test.rb
|
325
|
-
- test/sample_json.rb
|
326
|
-
- test/activesupport5/encoding_test_cases.rb
|
327
|
-
- test/activesupport5/encoding_test.rb
|
328
|
-
- test/activesupport5/abstract_unit.rb
|
329
|
-
- test/activesupport5/time_zone_test_helpers.rb
|
330
|
-
- test/activesupport5/test_helper.rb
|
331
|
-
- test/activesupport5/decoding_test.rb
|
332
|
-
- test/test_saj.rb
|
341
|
+
- test/perf_saj.rb
|
333
342
|
- test/perf_scp.rb
|
334
|
-
- test/
|
335
|
-
- test/
|
336
|
-
- test/
|
337
|
-
- test/
|
338
|
-
- test/test_fast.rb
|
339
|
-
- test/perf_fast.rb
|
343
|
+
- test/perf_simple.rb
|
344
|
+
- test/perf_strict.rb
|
345
|
+
- test/perf_wab.rb
|
346
|
+
- test/prec.rb
|
340
347
|
- test/sample/change.rb
|
341
|
-
- test/sample/
|
348
|
+
- test/sample/dir.rb
|
342
349
|
- test/sample/doc.rb
|
343
|
-
- test/sample/shape.rb
|
344
|
-
- test/sample/layer.rb
|
345
|
-
- test/sample/group.rb
|
346
350
|
- test/sample/file.rb
|
347
|
-
- test/sample/
|
351
|
+
- test/sample/group.rb
|
348
352
|
- test/sample/hasprops.rb
|
353
|
+
- test/sample/layer.rb
|
349
354
|
- test/sample/line.rb
|
350
|
-
- test/sample/dir.rb
|
351
355
|
- test/sample/oval.rb
|
352
|
-
- test/
|
353
|
-
- test/
|
354
|
-
- test/
|
355
|
-
- test/
|
356
|
-
- test/
|
357
|
-
- test/
|
358
|
-
- test/
|
359
|
-
- test/test_writer.rb
|
360
|
-
- test/test_rails.rb
|
361
|
-
- test/perf.rb
|
362
|
-
- test/isolated/test_mimic_define.rb
|
363
|
-
- test/isolated/test_mimic_after.rb
|
364
|
-
- test/isolated/test_mimic_rails_after.rb
|
365
|
-
- test/isolated/test_mimic_before.rb
|
366
|
-
- test/isolated/test_mimic_rails_before.rb
|
367
|
-
- test/isolated/test_mimic_redefine.rb
|
368
|
-
- test/isolated/shared.rb
|
369
|
-
- test/isolated/test_mimic_alone.rb
|
370
|
-
- test/isolated/test_mimic_as_json.rb
|
356
|
+
- test/sample/rect.rb
|
357
|
+
- test/sample/shape.rb
|
358
|
+
- test/sample/text.rb
|
359
|
+
- test/sample.rb
|
360
|
+
- test/sample_json.rb
|
361
|
+
- test/test_compat.rb
|
362
|
+
- test/test_custom.rb
|
371
363
|
- test/test_debian.rb
|
364
|
+
- test/test_fast.rb
|
365
|
+
- test/test_file.rb
|
372
366
|
- test/test_gc.rb
|
373
|
-
- test/
|
367
|
+
- test/test_hash.rb
|
368
|
+
- test/test_integer_range.rb
|
369
|
+
- test/test_null.rb
|
370
|
+
- test/test_object.rb
|
371
|
+
- test/test_rails.rb
|
372
|
+
- test/test_saj.rb
|
373
|
+
- test/test_scp.rb
|
374
|
+
- test/test_strict.rb
|
374
375
|
- test/test_various.rb
|
375
|
-
- test/
|
376
|
-
- test/
|
377
|
-
- test/
|
378
|
-
- test/
|
379
|
-
- test/
|
380
|
-
- test/
|
381
|
-
- test/activesupport6/decoding_test.rb
|
376
|
+
- test/test_wab.rb
|
377
|
+
- test/test_writer.rb
|
378
|
+
- test/tests.rb
|
379
|
+
- test/tests_mimic.rb
|
380
|
+
- test/tests_mimic_addition.rb
|
381
|
+
- test/zoo.rb
|