Skip to content

Commit e53bbb4

Browse files
committed
Enable Minitest/AssertNil cop to address DEPRECATED: Use assert_nil if expecting nil warning
This commit addresses the `DEPRECATED: Use assert_nil if expecting nil` warning at https://buildkite.com/rails/rails/builds/116902#01953bd2-7999-468a-bcd6-5e9b68964fa6/1270-1276 by enabling `Minitest/AssertNil` available since RuboCop Minitest 0.1.0. ```ruby $ cd railties $ RAILS_STRICT_WARNINGS=1 bin/test test/application/configuration_test.rb:4031 Run options: --seed 1261 DEPRECATED: Use assert_nil if expecting nil from /home/yahonda/src/github.com/rails/rails/railties/test/application/configuration_test.rb:4031. This will fail in Minitest 6. E Error: ApplicationTests::ConfigurationTest#test_ActiveStorage.variant_processor_uses_mini_magick_without_Rails_7_defaults: ActiveSupport::RaiseWarnings::WarningError: DEPRECATED: Use assert_nil if expecting nil from /home/yahonda/src/github.com/rails/rails/railties/test/application/configuration_test.rb:4031. This will fail in Minitest 6. /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in 'ActiveSupport::RaiseWarnings#warn' bin/test test/application/configuration_test.rb:4026 Finished in 1.568723s, 0.6375 runs/s, 0.6375 assertions/s. 1 runs, 1 assertions, 0 failures, 1 errors, 0 skips $ ``` Here are the output of rubocop -a that corrects other assertions that are not deprecated. ```ruby $ bundle exec rubocop -a ... snip ... Offenses: actionpack/test/controller/integration_test.rb:498:7: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(request.parameters["leaks"]). assert_predicate request.parameters["leaks"], :nil? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ actiontext/test/unit/model_test.rb:21:7: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(message.content). assert_predicate message.content, :nil? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ actiontext/test/unit/model_test.rb:149:7: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(message.content). assert_predicate message.content, :nil? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ activemodel/test/cases/type/boolean_test.rb:10:9: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(type.cast("")). assert_predicate type.cast(""), :nil? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ activemodel/test/cases/type/boolean_test.rb:11:9: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(type.cast(nil)). assert_predicate type.cast(nil), :nil? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ activemodel/test/cases/validations_test.rb:255:5: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(t.author_name). assert_predicate t.author_name, :nil? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ activerecord/test/cases/associations/has_many_through_associations_test.rb:1246:5: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(post[:author_count]). assert_predicate post[:author_count], :nil? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ railties/test/application/configuration_test.rb:4031:7: C: [Corrected] Minitest/AssertNil: Prefer using assert_nil(ActiveStorage.variant_processor). assert_equal nil, ActiveStorage.variant_processor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3345 files inspected, 8 offenses detected, 8 offenses corrected $ ``` Refer to https://github.com/rubocop/rubocop-minitest/blob/master/CHANGELOG.md#010-2019-09-01 https://github.com/minitest/minitest/blob/master/History.rdoc#5230--2024-05-15- minitest/minitest@f0f17b99
1 parent 8009769 commit e53bbb4

File tree

7 files changed

+11
-8
lines changed

7 files changed

+11
-8
lines changed

.rubocop.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,9 @@ Performance/RedundantStringChars:
382382
Performance/StringInclude:
383383
Enabled: true
384384

385+
Minitest/AssertNil:
386+
Enabled: true
387+
385388
Minitest/AssertPredicate:
386389
Enabled: true
387390

actionpack/test/controller/integration_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ def test_post_then_get_with_parameters_do_not_leak_across_requests
495495
assert_equal "foo=bar", request.env["QUERY_STRING"]
496496
assert_equal "foo=bar", request.query_string
497497
assert_equal "bar", request.parameters["foo"]
498-
assert_predicate request.parameters["leaks"], :nil?
498+
assert_nil request.parameters["leaks"]
499499
end
500500
end
501501

actiontext/test/unit/model_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class ActionText::ModelTest < ActiveSupport::TestCase
1818
test "without content" do
1919
assert_difference("ActionText::RichText.count" => 0) do
2020
message = Message.create!(subject: "Greetings")
21-
assert_predicate message.content, :nil?
21+
assert_nil message.content
2222
assert_predicate message.content, :blank?
2323
assert_predicate message.content, :empty?
2424
assert_not message.content?
@@ -146,7 +146,7 @@ class ActionText::ModelTest < ActiveSupport::TestCase
146146
test "with blank content and store_if_blank: false" do
147147
assert_difference("ActionText::RichText.count" => 0) do
148148
message = MessageWithoutBlanks.create!(subject: "Greetings", content: "")
149-
assert_predicate message.content, :nil?
149+
assert_nil message.content
150150
assert_predicate message.content, :blank?
151151
assert_predicate message.content, :empty?
152152
assert_not message.content?

activemodel/test/cases/type/boolean_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ module Type
77
class BooleanTest < ActiveModel::TestCase
88
def test_type_cast_boolean
99
type = Type::Boolean.new
10-
assert_predicate type.cast(""), :nil?
11-
assert_predicate type.cast(nil), :nil?
10+
assert_nil type.cast("")
11+
assert_nil type.cast(nil)
1212

1313
assert type.cast(true)
1414
assert type.cast(1)

activemodel/test/cases/validations_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ def test_validation_with_if_and_on
252252

253253
# If block should not fire
254254
assert_predicate t, :valid?
255-
assert_predicate t.author_name, :nil?
255+
assert_nil t.author_name
256256

257257
# If block should fire
258258
assert t.invalid?(:update)

activerecord/test/cases/associations/has_many_through_associations_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1243,7 +1243,7 @@ def test_deleting_from_has_many_through_a_belongs_to_should_not_try_to_update_co
12431243

12441244
assert_includes post.author_addresses, address
12451245
post.author_addresses.delete(address)
1246-
assert_predicate post[:author_count], :nil?
1246+
assert_nil post[:author_count]
12471247
end
12481248

12491249
def test_primary_key_option_on_source

railties/test/application/configuration_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4028,7 +4028,7 @@ class Post < ActiveRecord::Base
40284028

40294029
app "development"
40304030

4031-
assert_equal nil, ActiveStorage.variant_processor
4031+
assert_nil ActiveStorage.variant_processor
40324032
end
40334033

40344034
test "ActiveStorage.variant_processor uses vips by default" do

0 commit comments

Comments
 (0)