oj 3.7.6 → 3.7.7

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 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