From b9b255fa65813af95702b848cb084e2286345de9 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 2 Dec 2016 22:29:44 +0000 Subject: [PATCH] Work around upcoming minitest insanity Minitest 6 will not allow assert_equal to compare for equality with nil and minitest 5 has already started warning about it. That's fine if you're comparing with a nil constant, but if you're comparing with an expression that is sometimes nil and sometimes not nil it's an absolute pain in the rear end. --- test/integration/oauth_test.rb | 2 +- test/lib/bounding_box_test.rb | 8 ++--- test/lib/locale_test.rb | 54 +++++++++++++++++----------------- test/models/user_test.rb | 6 ++-- test/test_helper.rb | 13 ++++++++ 5 files changed, 48 insertions(+), 35 deletions(-) diff --git a/test/integration/oauth_test.rb b/test/integration/oauth_test.rb index 2452e6e6b..c10699f2a 100644 --- a/test/integration/oauth_test.rb +++ b/test/integration/oauth_test.rb @@ -333,7 +333,7 @@ class OAuthTest < ActionDispatch::IntegrationTest assert_not_nil token.created_at assert_nil token.authorized_at assert_nil token.invalidated_at - assert_equal options[:oauth_callback], token.callback_url + assert_equal_allowing_nil options[:oauth_callback], token.callback_url assert_allowed token, client.permissions token diff --git a/test/lib/bounding_box_test.rb b/test/lib/bounding_box_test.rb index 5fb81a4cb..dc62531f5 100644 --- a/test/lib/bounding_box_test.rb +++ b/test/lib/bounding_box_test.rb @@ -312,9 +312,9 @@ class BoundingBoxTest < ActiveSupport::TestCase end def check_bbox(bbox, result) - assert_equal result[0], bbox.min_lon, "min_lon" - assert_equal result[1], bbox.min_lat, "min_lat" - assert_equal result[2], bbox.max_lon, "max_lon" - assert_equal result[3], bbox.max_lat, "max_lat" + assert_equal_allowing_nil result[0], bbox.min_lon, "min_lon" + assert_equal_allowing_nil result[1], bbox.min_lat, "min_lat" + assert_equal_allowing_nil result[2], bbox.max_lon, "max_lon" + assert_equal_allowing_nil result[3], bbox.max_lat, "max_lat" end end diff --git a/test/lib/locale_test.rb b/test/lib/locale_test.rb index a100515c8..65c7ea398 100644 --- a/test/lib/locale_test.rb +++ b/test/lib/locale_test.rb @@ -32,39 +32,39 @@ class LocaleTest < ActiveSupport::TestCase end def test_script - assert_equal EN.script, Locale.tag("en").script - assert_equal EN_GB.script, Locale.tag("en-GB").script - assert_equal FR.script, Locale.tag("fr").script - assert_equal ZH_HANS.script, Locale.tag("zh-Hans").script - assert_equal ZH_HANT_TW.script, Locale.tag("zh-Hant-TW").script - assert_equal ZH_YUE.script, Locale.tag("zh-yue").script - assert_equal ZH_YUE.script, Locale.tag("zh-YUE").script - assert_equal BE_TARASK.script, Locale.tag("be-tarask").script - assert_equal BE_TARASK.script, Locale.tag("be-Tarask").script + assert_equal_allowing_nil EN.script, Locale.tag("en").script + assert_equal_allowing_nil EN_GB.script, Locale.tag("en-GB").script + assert_equal_allowing_nil FR.script, Locale.tag("fr").script + assert_equal_allowing_nil ZH_HANS.script, Locale.tag("zh-Hans").script + assert_equal_allowing_nil ZH_HANT_TW.script, Locale.tag("zh-Hant-TW").script + assert_equal_allowing_nil ZH_YUE.script, Locale.tag("zh-yue").script + assert_equal_allowing_nil ZH_YUE.script, Locale.tag("zh-YUE").script + assert_equal_allowing_nil BE_TARASK.script, Locale.tag("be-tarask").script + assert_equal_allowing_nil BE_TARASK.script, Locale.tag("be-Tarask").script end def test_region - assert_equal EN.region, Locale.tag("en").region - assert_equal EN_GB.region, Locale.tag("en-GB").region - assert_equal FR.region, Locale.tag("fr").region - assert_equal ZH_HANS.region, Locale.tag("zh-Hans").region - assert_equal ZH_HANT_TW.region, Locale.tag("zh-Hant-TW").region - assert_equal ZH_YUE.region, Locale.tag("zh-yue").region - assert_equal ZH_YUE.region, Locale.tag("zh-YUE").region - assert_equal BE_TARASK.region, Locale.tag("be-tarask").region - assert_equal BE_TARASK.region, Locale.tag("be-Tarask").region + assert_equal_allowing_nil EN.region, Locale.tag("en").region + assert_equal_allowing_nil EN_GB.region, Locale.tag("en-GB").region + assert_equal_allowing_nil FR.region, Locale.tag("fr").region + assert_equal_allowing_nil ZH_HANS.region, Locale.tag("zh-Hans").region + assert_equal_allowing_nil ZH_HANT_TW.region, Locale.tag("zh-Hant-TW").region + assert_equal_allowing_nil ZH_YUE.region, Locale.tag("zh-yue").region + assert_equal_allowing_nil ZH_YUE.region, Locale.tag("zh-YUE").region + assert_equal_allowing_nil BE_TARASK.region, Locale.tag("be-tarask").region + assert_equal_allowing_nil BE_TARASK.region, Locale.tag("be-Tarask").region end def test_variant - assert_equal EN.variant, Locale.tag("en").variant - assert_equal EN_GB.variant, Locale.tag("en-GB").variant - assert_equal FR.variant, Locale.tag("fr").variant - assert_equal ZH_HANS.variant, Locale.tag("zh-Hans").variant - assert_equal ZH_HANT_TW.variant, Locale.tag("zh-Hant-TW").variant - assert_equal ZH_YUE.variant, Locale.tag("zh-yue").variant - assert_equal ZH_YUE.variant, Locale.tag("zh-YUE").variant - assert_equal BE_TARASK.variant, Locale.tag("be-tarask").variant - assert_equal BE_TARASK.variant, Locale.tag("be-Tarask").variant + assert_equal_allowing_nil EN.variant, Locale.tag("en").variant + assert_equal_allowing_nil EN_GB.variant, Locale.tag("en-GB").variant + assert_equal_allowing_nil FR.variant, Locale.tag("fr").variant + assert_equal_allowing_nil ZH_HANS.variant, Locale.tag("zh-Hans").variant + assert_equal_allowing_nil ZH_HANT_TW.variant, Locale.tag("zh-Hant-TW").variant + assert_equal_allowing_nil ZH_YUE.variant, Locale.tag("zh-yue").variant + assert_equal_allowing_nil ZH_YUE.variant, Locale.tag("zh-YUE").variant + assert_equal_allowing_nil BE_TARASK.variant, Locale.tag("be-tarask").variant + assert_equal_allowing_nil BE_TARASK.variant, Locale.tag("be-Tarask").variant end def test_list diff --git a/test/models/user_test.rb b/test/models/user_test.rb index d480849dd..b7b37d3b4 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -151,7 +151,7 @@ class UserTest < ActiveSupport::TestCase def test_user_preferred_editor user = users(:normal_user) - assert_equal nil, user.preferred_editor + assert_nil user.preferred_editor user.preferred_editor = "potlatch" assert_equal "potlatch", user.preferred_editor user.save! @@ -244,8 +244,8 @@ class UserTest < ActiveSupport::TestCase user.delete assert_equal "user_#{user.id}", user.display_name assert user.description.blank? - assert_equal nil, user.home_lat - assert_equal nil, user.home_lon + assert_nil user.home_lat + assert_nil user.home_lon assert_equal false, user.image.file? assert_equal "deleted", user.status assert_equal false, user.visible? diff --git a/test/test_helper.rb b/test/test_helper.rb index 88cfe4831..3eafdd55c 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -77,6 +77,19 @@ module ActiveSupport end end + ## + # work round minitest insanity that causes it to tell you + # to use assert_nil to test for nil, which is fine if you're + # comparing to a nil constant but not if you're comparing + # an expression that might be nil sometimes + def assert_equal_allowing_nil(exp, act, msg = nil) + if exp.nil? + assert_nil act, msg + else + assert_equal exp, act, msg + end + end + ## # for some reason assert_equal a, b fails when the relations are # actually equal, so this method manually checks the fields... -- 2.43.2