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 +4 -4
- data/ext/oj/encode.h +2 -0
- data/ext/oj/fast.c +1 -1
- data/ext/oj/object.c +0 -29
- data/ext/oj/oj.c +0 -16
- data/ext/oj/saj.c +1 -1
- data/ext/oj/stream_writer.c +11 -5
- data/lib/oj/version.rb +1 -1
- data/test/bar.rb +25 -0
- data/test/foo.rb +78 -2
- data/test/test_object.rb +24 -0
- data/test/test_writer.rb +19 -2
- data/test/zoo.rb +13 -0
- metadata +73 -107
- data/test/bug.rb +0 -51
- data/test/bug2.rb +0 -10
- data/test/bug3.rb +0 -46
- data/test/bug_fast.rb +0 -32
- data/test/bug_load.rb +0 -24
- data/test/crash.rb +0 -111
- data/test/example.rb +0 -11
- data/test/io.rb +0 -48
- data/test/isolated/test_mimic_rails_datetime.rb +0 -27
- data/test/mem.rb +0 -20
- data/test/mod.rb +0 -16
- data/test/omit.rb +0 -20
- data/test/rails.rb +0 -50
- data/test/rails_datetime_test.rb +0 -24
- data/test/russian.rb +0 -18
- data/test/struct.rb +0 -29
- data/test/test_serializer.rb +0 -59
- data/test/write_timebars.rb +0 -31
- data/test/x_test.rb +0 -185
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 389ece68dade91713fa132445f6b5d7cefdef5b6e7787a8b66f530c13173271c
|
4
|
+
data.tar.gz: 49d899629ebbb41cb5b545400262f1644b93140c62b57f7f8c7ef98200ad2bb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15c6bd0b3324687ef248e2f67270bab76b1c70da8e92b54dc474082ae717d601142a745a7e365b3ffdf82c1b6fbb12d72cdb7db3cdefb34a50b3eaf28c941786
|
7
|
+
data.tar.gz: 28fa1bb71e89c195ccb840d6c4b639ffc5c2244eba48aa69aab07cc76757b954ddffbe83801eb6624745ab21c73e5493c4858cbcbfa630f6a3df2a5a2d3899b8
|
data/ext/oj/encode.h
CHANGED
data/ext/oj/fast.c
CHANGED
@@ -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
|
data/ext/oj/object.c
CHANGED
@@ -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
|
data/ext/oj/oj.c
CHANGED
@@ -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
|
data/ext/oj/saj.c
CHANGED
@@ -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 */
|
data/ext/oj/stream_writer.c
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
#include <ruby.h>
|
9
9
|
|
10
|
-
#include "
|
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
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
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));
|
data/lib/oj/version.rb
CHANGED
data/test/bar.rb
ADDED
@@ -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
|
data/test/foo.rb
CHANGED
@@ -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 '
|
7
|
-
require '
|
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"}]}
|
data/test/test_object.rb
CHANGED
@@ -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)
|
data/test/test_writer.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# encoding:
|
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
|
-
|
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
|
data/test/zoo.rb
ADDED
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.
|
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:
|
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/
|
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/
|
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/
|
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/
|
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/
|
298
|
-
- test/
|
299
|
-
- test/
|
300
|
-
- test/
|
301
|
-
- test/
|
302
|
-
- test/
|
303
|
-
- test/
|
304
|
-
- test/
|
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/
|
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/
|
314
|
-
- test/
|
315
|
-
- test/
|
316
|
-
- test/
|
317
|
-
- test/
|
318
|
-
- test/
|
319
|
-
- test/
|
320
|
-
- test/
|
321
|
-
- test/
|
322
|
-
- test/
|
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/
|
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/
|
333
|
-
- test/
|
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/
|
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/
|
345
|
-
- test/
|
346
|
-
- test/
|
347
|
-
- test/
|
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/
|
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/
|
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/
|
385
|
-
- test/
|
386
|
-
- test/
|
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
|