oj 3.10.18 → 3.11.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|