oj 3.7.6 → 3.7.7

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: 7289437b014edb9bb095abd9827815e3bea0efb62b4e5486d0034158c4811c1c
4
- data.tar.gz: 5d341b6a90bb002d7324f55277010a78236b6338710b58f490e416001167e5fa
3
+ metadata.gz: 389ece68dade91713fa132445f6b5d7cefdef5b6e7787a8b66f530c13173271c
4
+ data.tar.gz: 49d899629ebbb41cb5b545400262f1644b93140c62b57f7f8c7ef98200ad2bb9
5
5
  SHA512:
6
- metadata.gz: 8f68b2fb4f0762ce86cdc9a1a56ecd42d377f485fc32d0f36cf1c0ef689eee14f73b76a3b77dd7ecd7c0d6cc3837064cb62ea201e705145af40a18aaa93cdfe8
7
- data.tar.gz: 6406b48f3439c1340d23e1aea04fc6d781bbd0195012cdff94fbf81e409fd43978606d5fe0b61eca1c7ea635a8af16b1de876df92c3729d4ac96fb4d9951b239
6
+ metadata.gz: 15c6bd0b3324687ef248e2f67270bab76b1c70da8e92b54dc474082ae717d601142a745a7e365b3ffdf82c1b6fbb12d72cdb7db3cdefb34a50b3eaf28c941786
7
+ data.tar.gz: 28fa1bb71e89c195ccb840d6c4b639ffc5c2244eba48aa69aab07cc76757b954ddffbe83801eb6624745ab21c73e5493c4858cbcbfa630f6a3df2a5a2d3899b8
@@ -34,6 +34,8 @@
34
34
  #include "ruby.h"
35
35
  #include "ruby/encoding.h"
36
36
 
37
+ #include "oj.h"
38
+
37
39
  static inline VALUE
38
40
  oj_encode(VALUE rstr) {
39
41
  rb_enc_associate(rstr, oj_utf8_encoding);
@@ -839,7 +839,7 @@ parse_json(VALUE clas, char *json, bool given, bool allocated) {
839
839
  {
840
840
  struct rlimit lim;
841
841
 
842
- if (0 == getrlimit(RLIMIT_STACK, &lim)) {
842
+ if (0 == getrlimit(RLIMIT_STACK, &lim) && RLIM_INFINITY != lim.rlim_cur) {
843
843
  pi.stack_min = (void*)((char*)&lim - (lim.rlim_cur / 4 * 3)); // let 3/4ths of the stack be used only
844
844
  } else {
845
845
  pi.stack_min = 0; // indicates not to check stack limit
@@ -403,23 +403,6 @@ hat_value(ParseInfo pi, Val parent, const char *key, size_t klen, volatile VALUE
403
403
  return 0;
404
404
  }
405
405
 
406
- static void
407
- copy_ivars(VALUE target, VALUE src) {
408
- volatile VALUE vars = rb_funcall(src, oj_instance_variables_id, 0);
409
- volatile VALUE *np = RARRAY_PTR(vars);
410
- ID vid;
411
- int i, cnt = (int)RARRAY_LEN(vars);
412
- const char *attr;
413
-
414
- for (i = cnt; 0 < i; i--, np++) {
415
- vid = rb_to_id(*np);
416
- attr = rb_id2name(vid);
417
- if ('@' == *attr) {
418
- rb_ivar_set(target, vid, rb_ivar_get(src, vid));
419
- }
420
- }
421
- }
422
-
423
406
  void
424
407
  oj_set_obj_ivar(Val parent, Val kval, VALUE value) {
425
408
  const char *key = kval->key;
@@ -427,18 +410,6 @@ oj_set_obj_ivar(Val parent, Val kval, VALUE value) {
427
410
  ID var_id;
428
411
  ID *slot;
429
412
 
430
- if ('~' == *key && Qtrue == rb_obj_is_kind_of(parent->val, rb_eException)) {
431
- if (5 == klen && 0 == strncmp("~mesg", key, klen)) {
432
- VALUE args[1];
433
- volatile VALUE prev = parent->val;
434
-
435
- args[0] = value;
436
- parent->val = rb_class_new_instance(1, args, rb_class_of(parent->val));
437
- copy_ivars(parent->val, prev);
438
- } else if (3 == klen && 0 == strncmp("~bt", key, klen)) {
439
- rb_funcall(parent->val, rb_intern("set_backtrace"), 1, value);
440
- }
441
- }
442
413
  #if HAVE_LIBPTHREAD
443
414
  pthread_mutex_lock(&oj_cache_mutex);
444
415
  #else
@@ -1322,22 +1322,6 @@ extern VALUE oj_compat_parse(int argc, VALUE *argv, VALUE self);
1322
1322
  * valid. If the input is not a valid JSON document (an empty string is not a
1323
1323
  * valid JSON document) an exception is raised.
1324
1324
  *
1325
- * Note: Oj is not able to automatically deserialize all classes that are a
1326
- * subclass of a Ruby Exception. Only exception that take one required string
1327
- * argument in the initialize() method are supported. This is an example of how
1328
- * to write an Exception subclass that supports both a single string intializer
1329
- * and an Exception as an argument. Additional optional arguments can be added
1330
- * as well.
1331
- *
1332
- * The reason for this restriction has to do with a design decision on the part
1333
- * of the Ruby developers. Exceptions are special Objects. They do not follow the
1334
- * rules of other Objects. Exceptions have 'mesg' and a 'bt' attribute. Note that
1335
- * these are not '@mesg' and '@bt'. They can not be set using the normal C or
1336
- * Ruby calls. The only way I have found to set the 'mesg' attribute is through
1337
- * the initializer. Unfortunately that means any subclass that provides a
1338
- * different initializer can not be automatically decoded. A way around this is
1339
- * to use a create function but this example shows an alternative.
1340
- *
1341
1325
  * A block can be provided with a single argument. That argument will be the
1342
1326
  * parsed JSON document. This is useful when parsing a string that includes
1343
1327
  * multiple JSON documents. The block can take up to 3 arguments, the parsed
@@ -626,7 +626,7 @@ saj_parse(VALUE handler, char *json) {
626
626
  {
627
627
  struct rlimit lim;
628
628
 
629
- if (0 == getrlimit(RLIMIT_STACK, &lim)) {
629
+ if (0 == getrlimit(RLIMIT_STACK, &lim) && RLIM_INFINITY != lim.rlim_cur) {
630
630
  pi.stack_min = (void*)((char*)&obj - (lim.rlim_cur / 4 * 3)); /* let 3/4ths of the stack be used only */
631
631
  } else {
632
632
  pi.stack_min = 0; /* indicates not to check stack limit */
@@ -7,7 +7,7 @@
7
7
 
8
8
  #include <ruby.h>
9
9
 
10
- #include "oj.h"
10
+ #include "encode.h"
11
11
 
12
12
  extern VALUE Oj;
13
13
 
@@ -36,11 +36,17 @@ stream_writer_write(StreamWriter sw) {
36
36
 
37
37
  switch (sw->type) {
38
38
  case STRING_IO:
39
- rb_funcall(sw->stream, oj_write_id, 1, rb_str_new(sw->sw.out.buf, size));
40
- break;
41
- case STREAM_IO:
42
- rb_funcall(sw->stream, oj_write_id, 1, rb_str_new(sw->sw.out.buf, size));
39
+ case STREAM_IO: {
40
+ volatile VALUE rs = rb_str_new(sw->sw.out.buf, size);
41
+
42
+ // Oddly enough, when pushing ASCII characters with UTF-8 encoding or
43
+ // even ASCII-8BIT does not change the output encoding. Pushing any
44
+ // non-ASCII no matter what the encoding changes the output encoding
45
+ // to ASCII-8BIT if it the string is not forced to UTF-8 here.
46
+ rs = oj_encode(rs);
47
+ rb_funcall(sw->stream, oj_write_id, 1, rs);
43
48
  break;
49
+ }
44
50
  case FILE_IO:
45
51
  if (size != write(sw->fd, sw->sw.out.buf, size)) {
46
52
  rb_raise(rb_eIOError, "Write failed. [_%d_:%s]\n", errno, strerror(errno));
@@ -1,5 +1,5 @@
1
1
 
2
2
  module Oj
3
3
  # Current version of the module.
4
- VERSION = '3.7.6'
4
+ VERSION = '3.7.7'
5
5
  end
@@ -0,0 +1,25 @@
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
@@ -2,6 +2,82 @@
2
2
  # encoding: UTF-8
3
3
 
4
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
5
9
 
6
- require 'test_strict'
7
- require 'test_compat'
10
+ require 'oj'
11
+ require 'tracer'
12
+
13
+ #Tracer.on
14
+
15
+ class MyParser
16
+ attr_accessor :enum
17
+
18
+ def initialize
19
+ @io = StringIO.new
20
+ @writer = Oj::StreamWriter.new(@io)
21
+
22
+ json_string = Oj.dump({ records: 1.upto(2).map{|i| { id: i, name: "record_#{i}" }} }, mode: :strict)
23
+ @test_json = StringIO.new(json_string)
24
+
25
+ @enum = Enumerator.new do |yielder|
26
+ @yielder = yielder
27
+ Oj.sc_parse(self, @test_json)
28
+ end
29
+ end
30
+
31
+ # Stream parsing methods
32
+ def hash_start
33
+ @writer.push_object
34
+ end
35
+
36
+ def hash_end
37
+ @writer.pop unless @io.eof
38
+ end
39
+
40
+ def hash_key(key)
41
+ @writer.push_key(key)
42
+ end
43
+
44
+ def hash_set(h, key, value)
45
+ @writer.push_value(value)
46
+ end
47
+
48
+ def array_start
49
+ @writer.push_array
50
+ end
51
+
52
+ def array_end
53
+ @writer.pop
54
+ end
55
+
56
+ def array_append(a, value)
57
+ yield_data
58
+ end
59
+
60
+ def add_value(value);end
61
+
62
+ def yield_data
63
+ @writer.pop_all
64
+ @yielder << @io.string
65
+ @io.reopen("")
66
+ array_start
67
+ end
68
+ end
69
+
70
+ #puts MyParser.new.enum.to_a
71
+
72
+ puts "------------"
73
+
74
+ MyError = Class.new(StandardError)
75
+
76
+ MyParser.new.enum.each.with_index do |r, i|
77
+ puts "========="
78
+ raise MyError.new('hello')
79
+ #raise StopIteration if i == 0
80
+ #break if i >= 4
81
+ end
82
+
83
+ #{"records":[{"id":1,"name":"record_1"},{"id":2,"name":"record_2"},{"id":3,"name":"record_3"},{"id":4,"name":"record_4"},{"id":5,"name":"record_5"},{"id":6,"name":"record_6"},{"id":7,"name":"record_7"},{"id":8,"name":"record_8"},{"id":9,"name":"record_9"},{"id":10,"name":"record_10"},{"id":11,"name":"record_11"},{"id":12,"name":"record_12"},{"id":13,"name":"record_13"},{"id":14,"name":"record_14"},{"id":15,"name":"record_15"},{"id":16,"name":"record_16"},{"id":17,"name":"record_17"},{"id":18,"name":"record_18"},{"id":19,"name":"record_19"},{"id":20,"name":"record_20"},{"id":21,"name":"record_21"},{"id":22,"name":"record_22"},{"id":23,"name":"record_23"},{"id":24,"name":"record_24"},{"id":25,"name":"record_25"}]}
@@ -793,6 +793,30 @@ class ObjectJuice < Minitest::Test
793
793
  end
794
794
  end
795
795
 
796
+ class SubX < Exception
797
+ def initialize
798
+ super("sub")
799
+ @xyz = 123
800
+ end
801
+ end
802
+
803
+ def test_exception_subclass
804
+ err = nil
805
+ begin
806
+ raise SubX.new
807
+ rescue Exception => e
808
+ err = e
809
+ end
810
+ json = Oj.dump(err, :mode => :object, :indent => 2)
811
+ #puts "*** #{json}"
812
+ e2 = Oj.load(json, :mode => :strict)
813
+ assert_equal(err.class.to_s, e2['^o'])
814
+ assert_equal(err.message, e2['~mesg'])
815
+ assert_equal(err.backtrace, e2['~bt'])
816
+ e2 = Oj.load(json, :mode => :object)
817
+ assert_equal(e, e2);
818
+ end
819
+
796
820
  def test_range_object
797
821
  Oj.default_options = { :mode => :object }
798
822
  json = Oj.dump(1..7, :mode => :object, :indent => 0)
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: UTF-8
2
+ # encoding: utf-8
3
3
 
4
4
  $: << File.dirname(__FILE__)
5
5
 
@@ -227,6 +227,22 @@ class OjWriter < Minitest::Test
227
227
 
228
228
  # Stream Writer
229
229
 
230
+ class SString < ::String
231
+ alias :write :concat
232
+ end
233
+
234
+ def test_stream_writer_encoding
235
+ output = SString.new.force_encoding(::Encoding::UTF_8)
236
+ w = Oj::StreamWriter.new(output, :indent => 0)
237
+ # Oddly enough, when pushing ASCII characters with UTF-8 encoding or even
238
+ # ASCII-8BIT does not change the output encoding. Pushing any non-ASCII no
239
+ # matter what the encoding changes the output encoding to ASCII-8BIT.
240
+ x = "香港" # Hong Kong
241
+ x = x.force_encoding('ASCII-8BIT')
242
+ w.push_value(x)
243
+ assert_equal(::Encoding::UTF_8, output.encoding)
244
+ end
245
+
230
246
  def test_stream_writer_empty_array
231
247
  output = StringIO.open("", "w+")
232
248
  w = Oj::StreamWriter.new(output, :indent => 0)
@@ -251,7 +267,8 @@ class OjWriter < Minitest::Test
251
267
  w.push_object("a3")
252
268
  w.pop()
253
269
  w.pop()
254
- assert_equal(%|{"a1":{},"a2":{"b":[7,true,"string"]},"a3":{}}\n|, output.string())
270
+ result = output.string()
271
+ assert_equal(%|{"a1":{},"a2":{"b":[7,true,"string"]},"a3":{}}\n|, result)
255
272
  end
256
273
 
257
274
  def test_stream_writer_mixed_file
@@ -0,0 +1,13 @@
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"])
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.6
4
+ version: 3.7.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ohler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-30 00:00:00.000000000 Z
11
+ date: 2019-01-15 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/Custom.md
83
- - pages/WAB.md
84
- - pages/Advanced.md
85
82
  - pages/Rails.md
83
+ - pages/JsonGem.md
86
84
  - pages/Encoding.md
87
- - pages/Security.md
85
+ - pages/WAB.md
86
+ - pages/Custom.md
87
+ - pages/Advanced.md
88
88
  - pages/Options.md
89
89
  - pages/Compatibility.md
90
90
  - pages/Modes.md
91
- - pages/JsonGem.md
91
+ - pages/Security.md
92
92
  files:
93
93
  - LICENSE
94
94
  - README.md
@@ -175,17 +175,10 @@ files:
175
175
  - test/activesupport5/encoding_test_cases.rb
176
176
  - test/activesupport5/test_helper.rb
177
177
  - test/activesupport5/time_zone_test_helpers.rb
178
- - test/bug.rb
179
- - test/bug2.rb
180
- - test/bug3.rb
181
- - test/bug_fast.rb
182
- - test/bug_load.rb
183
- - test/crash.rb
184
- - test/example.rb
178
+ - test/bar.rb
185
179
  - test/files.rb
186
180
  - test/foo.rb
187
181
  - test/helper.rb
188
- - test/io.rb
189
182
  - test/isolated/shared.rb
190
183
  - test/isolated/test_mimic_after.rb
191
184
  - test/isolated/test_mimic_alone.rb
@@ -194,7 +187,6 @@ files:
194
187
  - test/isolated/test_mimic_define.rb
195
188
  - test/isolated/test_mimic_rails_after.rb
196
189
  - test/isolated/test_mimic_rails_before.rb
197
- - test/isolated/test_mimic_rails_datetime.rb
198
190
  - test/isolated/test_mimic_redefine.rb
199
191
  - test/json_gem/json_addition_test.rb
200
192
  - test/json_gem/json_common_interface_test.rb
@@ -206,9 +198,6 @@ files:
206
198
  - test/json_gem/json_parser_test.rb
207
199
  - test/json_gem/json_string_matching_test.rb
208
200
  - test/json_gem/test_helper.rb
209
- - test/mem.rb
210
- - test/mod.rb
211
- - test/omit.rb
212
201
  - test/perf.rb
213
202
  - test/perf_compat.rb
214
203
  - test/perf_fast.rb
@@ -219,9 +208,6 @@ files:
219
208
  - test/perf_simple.rb
220
209
  - test/perf_strict.rb
221
210
  - test/perf_wab.rb
222
- - test/rails.rb
223
- - test/rails_datetime_test.rb
224
- - test/russian.rb
225
211
  - test/sample.rb
226
212
  - test/sample/change.rb
227
213
  - test/sample/dir.rb
@@ -236,7 +222,6 @@ files:
236
222
  - test/sample/shape.rb
237
223
  - test/sample/text.rb
238
224
  - test/sample_json.rb
239
- - test/struct.rb
240
225
  - test/test_compat.rb
241
226
  - test/test_custom.rb
242
227
  - test/test_debian.rb
@@ -249,7 +234,6 @@ files:
249
234
  - test/test_object.rb
250
235
  - test/test_saj.rb
251
236
  - test/test_scp.rb
252
- - test/test_serializer.rb
253
237
  - test/test_strict.rb
254
238
  - test/test_various.rb
255
239
  - test/test_wab.rb
@@ -257,8 +241,7 @@ files:
257
241
  - test/tests.rb
258
242
  - test/tests_mimic.rb
259
243
  - test/tests_mimic_addition.rb
260
- - test/write_timebars.rb
261
- - test/x_test.rb
244
+ - test/zoo.rb
262
245
  homepage: http://www.ohler.com/oj
263
246
  licenses:
264
247
  - MIT
@@ -294,99 +277,82 @@ signing_key:
294
277
  specification_version: 4
295
278
  summary: A fast JSON parser and serializer.
296
279
  test_files:
297
- - test/activesupport4/encoding_test.rb
298
- - test/activesupport4/test_helper.rb
299
- - test/activesupport4/decoding_test.rb
300
- - test/perf_object.rb
301
- - test/test_hash.rb
302
- - test/test_custom.rb
303
- - test/bug3.rb
304
- - test/json_gem/json_generator_test.rb
280
+ - test/foo.rb
281
+ - test/test_integer_range.rb
282
+ - test/test_strict.rb
283
+ - test/perf_strict.rb
284
+ - test/tests.rb
285
+ - test/perf_saj.rb
286
+ - test/test_compat.rb
287
+ - test/helper.rb
288
+ - test/perf_file.rb
289
+ - test/test_scp.rb
290
+ - test/perf_compat.rb
291
+ - test/json_gem/json_common_interface_test.rb
305
292
  - test/json_gem/json_addition_test.rb
306
- - test/json_gem/json_generic_object_test.rb
307
- - test/json_gem/json_parser_test.rb
293
+ - test/json_gem/json_fixtures_test.rb
308
294
  - test/json_gem/json_ext_parser_test.rb
309
- - test/json_gem/json_encoding_test.rb
310
- - test/json_gem/json_common_interface_test.rb
311
- - test/json_gem/test_helper.rb
312
295
  - test/json_gem/json_string_matching_test.rb
313
- - test/json_gem/json_fixtures_test.rb
314
- - test/write_timebars.rb
315
- - test/test_writer.rb
316
- - test/russian.rb
317
- - test/rails_datetime_test.rb
318
- - test/omit.rb
319
- - test/test_gc.rb
320
- - test/_test_active_mimic.rb
321
- - test/test_serializer.rb
322
- - test/sample/file.rb
296
+ - test/json_gem/json_generic_object_test.rb
297
+ - test/json_gem/json_generator_test.rb
298
+ - test/json_gem/test_helper.rb
299
+ - test/json_gem/json_encoding_test.rb
300
+ - test/json_gem/json_parser_test.rb
301
+ - test/perf_wab.rb
302
+ - test/test_file.rb
303
+ - test/test_object.rb
304
+ - test/sample.rb
305
+ - test/perf_object.rb
306
+ - test/test_hash.rb
307
+ - test/test_custom.rb
308
+ - test/bar.rb
309
+ - test/activesupport4/encoding_test.rb
310
+ - test/activesupport4/test_helper.rb
311
+ - test/activesupport4/decoding_test.rb
312
+ - test/sample_json.rb
313
+ - test/activesupport5/encoding_test_cases.rb
314
+ - test/activesupport5/encoding_test.rb
315
+ - test/activesupport5/time_zone_test_helpers.rb
316
+ - test/activesupport5/test_helper.rb
317
+ - test/activesupport5/decoding_test.rb
318
+ - test/test_saj.rb
319
+ - test/perf_scp.rb
320
+ - test/test_wab.rb
321
+ - test/test_null.rb
322
+ - test/_test_active.rb
323
+ - test/_test_mimic_rails.rb
324
+ - test/test_fast.rb
325
+ - test/perf_fast.rb
326
+ - test/sample/change.rb
327
+ - test/sample/text.rb
328
+ - test/sample/doc.rb
329
+ - test/sample/shape.rb
330
+ - test/sample/layer.rb
323
331
  - test/sample/group.rb
324
- - test/sample/oval.rb
332
+ - test/sample/file.rb
325
333
  - test/sample/rect.rb
326
334
  - test/sample/hasprops.rb
327
- - test/sample/layer.rb
328
- - test/sample/text.rb
329
- - test/sample/doc.rb
330
335
  - test/sample/line.rb
331
336
  - test/sample/dir.rb
332
- - test/sample/shape.rb
333
- - test/sample/change.rb
337
+ - test/sample/oval.rb
338
+ - test/tests_mimic.rb
339
+ - test/perf_simple.rb
340
+ - test/zoo.rb
334
341
  - test/activerecord/result_test.rb
335
- - test/crash.rb
336
- - test/io.rb
337
- - test/test_object.rb
338
- - test/struct.rb
339
- - test/mod.rb
340
- - test/sample.rb
341
- - test/perf_scp.rb
342
- - test/bug2.rb
342
+ - test/_test_active_mimic.rb
343
343
  - test/tests_mimic_addition.rb
344
- - test/test_saj.rb
345
- - test/test_strict.rb
346
- - test/perf_saj.rb
347
- - test/perf_simple.rb
348
- - test/perf_fast.rb
349
- - test/test_wab.rb
350
- - test/tests.rb
351
- - test/example.rb
352
- - test/_test_active.rb
353
- - test/perf_compat.rb
354
- - test/test_various.rb
355
- - test/test_null.rb
356
- - test/test_integer_range.rb
357
- - test/test_scp.rb
358
- - test/bug_load.rb
359
- - test/files.rb
360
- - test/x_test.rb
361
- - test/foo.rb
344
+ - test/test_writer.rb
345
+ - test/perf.rb
346
+ - test/isolated/test_mimic_define.rb
347
+ - test/isolated/test_mimic_after.rb
362
348
  - test/isolated/test_mimic_rails_after.rb
363
- - test/isolated/test_mimic_rails_datetime.rb
349
+ - test/isolated/test_mimic_before.rb
350
+ - test/isolated/test_mimic_rails_before.rb
364
351
  - test/isolated/test_mimic_redefine.rb
365
- - test/isolated/test_mimic_as_json.rb
366
352
  - test/isolated/shared.rb
367
353
  - test/isolated/test_mimic_alone.rb
368
- - test/isolated/test_mimic_after.rb
369
- - test/isolated/test_mimic_before.rb
370
- - test/isolated/test_mimic_rails_before.rb
371
- - test/isolated/test_mimic_define.rb
372
- - test/_test_mimic_rails.rb
373
- - test/test_file.rb
374
- - test/perf_wab.rb
375
- - test/activesupport5/time_zone_test_helpers.rb
376
- - test/activesupport5/encoding_test.rb
377
- - test/activesupport5/test_helper.rb
378
- - test/activesupport5/encoding_test_cases.rb
379
- - test/activesupport5/decoding_test.rb
380
- - test/bug.rb
381
- - test/mem.rb
382
- - test/sample_json.rb
354
+ - test/isolated/test_mimic_as_json.rb
383
355
  - test/test_debian.rb
384
- - test/test_fast.rb
385
- - test/rails.rb
386
- - test/perf_file.rb
387
- - test/test_compat.rb
388
- - test/helper.rb
389
- - test/tests_mimic.rb
390
- - test/perf.rb
391
- - test/bug_fast.rb
392
- - test/perf_strict.rb
356
+ - test/test_gc.rb
357
+ - test/files.rb
358
+ - test/test_various.rb