File tree Expand file tree Collapse file tree 4 files changed +35
-14
lines changed
lib/active_model/serializer Expand file tree Collapse file tree 4 files changed +35
-14
lines changed Original file line number Diff line number Diff line change 8
8
rvm :
9
9
- 1.9.3
10
10
- 2.0.0
11
- - 2.1
12
11
- 2.2
13
12
- ruby-head
14
13
- rbx-2
@@ -17,7 +16,7 @@ install:
17
16
- bundle install --retry=3
18
17
19
18
script :
20
- - env CAPTURE_STDERR=false bundle exec rake ci
19
+ - env CAPTURE_STDERR=${CAPTURE_STDERR:- false} bundle exec rake ci
21
20
22
21
env :
23
22
- " RAILS_VERSION=4.0"
27
26
28
27
matrix :
29
28
include :
29
+ - rvm : 2.1
30
+ env : CAPTURE_STDERR=true
30
31
- rvm : jruby-19mode
31
32
env : JRUBY_OPTS='--server -Xcompile.invokedynamic=false -Xcli.debug=true --debug'
32
33
allow_failures :
Original file line number Diff line number Diff line change 2
2
class ActiveModel ::Serializer
3
3
class ArraySerializer < CollectionSerializer
4
4
def initialize ( *)
5
- warn "Calling deprecated ArraySerializer in #{ caller [ 0 ] } . Please use CollectionSerializer"
5
+ warn "Calling deprecated ArraySerializer in #{ caller [ 0 .. 2 ] . join ( ', ' ) } . Please use CollectionSerializer"
6
6
super
7
7
end
8
8
end
Original file line number Diff line number Diff line change 3
3
4
4
module ActiveModel
5
5
class Serializer
6
- class ArraySerializerTest < CollectionSerializerTest
7
- extend ActiveSupport ::Testing ::Stream
8
- def self . run_one_method ( *)
9
- stderr = ( capture ( :stderr ) do
10
- super
11
- end )
12
- if stderr !~ /Calling deprecated ArraySerializer/
13
- fail Minitest ::Assertion , stderr
6
+ # Minitest.run_one_method isn't present in minitest 4
7
+ if $minitest_version > 4 # rubocop:disable Style/GlobalVars
8
+ class ArraySerializerTest < CollectionSerializerTest
9
+ extend ActiveSupport ::Testing ::Stream
10
+ def self . run_one_method ( *)
11
+ stderr = ( capture ( :stderr ) do
12
+ super
13
+ end )
14
+ if stderr !~ /Calling deprecated ArraySerializer/
15
+ fail Minitest ::Assertion , stderr
16
+ end
14
17
end
15
- end
16
18
17
- def collection_serializer
18
- ArraySerializer
19
+ def collection_serializer
20
+ ArraySerializer
21
+ end
22
+ end
23
+ else
24
+ class ArraySerializerTest < Minitest ::Test
25
+ extend ActiveSupport ::Testing ::Stream
26
+ def test_json_key_with_root_warns_when_using_array_serializer
27
+ stderr = ( capture ( :stderr ) do
28
+ comment = Comment . new
29
+ post = Post . new
30
+ serializer = ArraySerializer . new ( [ comment , post ] )
31
+ assert_equal serializer . json_key , 'comments'
32
+ end )
33
+ assert_match ( /Calling deprecated ArraySerializer/ , stderr )
34
+ end
19
35
end
20
36
end
21
37
end
Original file line number Diff line number Diff line change 25
25
require 'minitest/reporters'
26
26
Minitest ::Reporters . use!
27
27
if defined? ( Minitest ::Test )
28
+ $minitest_version = 5 # rubocop:disable Style/GlobalVars
28
29
# Minitest 5
29
30
# https://github.com/seattlerb/minitest/blob/e21fdda9d/lib/minitest/autorun.rb
30
31
# https://github.com/seattlerb/minitest/blob/e21fdda9d/lib/minitest.rb#L45-L59
31
32
else
33
+ $minitest_version = 4 # rubocop:disable Style/GlobalVars
32
34
# Minitest 4
33
35
# https://github.com/seattlerb/minitest/blob/644a52fd0/lib/minitest/autorun.rb
34
36
# https://github.com/seattlerb/minitest/blob/644a52fd0/lib/minitest/unit.rb#L768-L787
@@ -47,6 +49,8 @@ def Minitest.after_run(&block)
47
49
if ENV [ 'CAPTURE_STDERR' ] !~ /false|1/i
48
50
require 'capture_warnings'
49
51
CaptureWarnings . new ( _fail_build = true ) . execute!
52
+ else
53
+ $VERBOSE = true
50
54
end
51
55
52
56
require 'active_model_serializers'
You can’t perform that action at this time.
0 commit comments