From: Lucas Kanashiro <lucas.kanashiro@canonical.com>
Date: Wed, 18 Mar 2020 16:33:07 -0300
Subject: Fix failing tests against Ruby 2.7

Two tests expect an ArgumentError exception but in Ruby 2.7 it was
changed to Date::Error. This patch is based on this upstream commit:

https://github.com/faker-ruby/faker/commit/54a1bbfc1e7f92f6230dfeefa893e17edfcb3802
---
 test/test_faker_birthday_in_leap_year.rb | 21 ++++++++++++++++-----
 test/test_faker_date.rb                  | 11 +++++++++--
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/test/test_faker_birthday_in_leap_year.rb b/test/test_faker_birthday_in_leap_year.rb
index baa59d5..8b262d7 100644
--- a/test/test_faker_birthday_in_leap_year.rb
+++ b/test/test_faker_birthday_in_leap_year.rb
@@ -18,12 +18,23 @@ class TestFakerBirthdayInLeapYear < Test::Unit::TestCase
       @tester.birthday
     end
 
-    assert_raise ArgumentError do
-      ::Date.new(@today.year - @min, @today.month, @today.day)
-    end
+    # The error raised here is changed in Ruby 2.7.
+    if RUBY_VERSION < '2.7'
+      assert_raise ArgumentError do
+        ::Date.new(@today.year - @min, @today.month, @today.day)
+      end
+
+      assert_raise ArgumentError do
+        ::Date.new(@today.year - @max, @today.month, @today.day)
+      end
+    elsif RUBY_VERSION >= '2.7'
+      assert_raise Date::Error do
+        ::Date.new(@today.year - @min, @today.month, @today.day)
+      end
 
-    assert_raise ArgumentError do
-      ::Date.new(@today.year - @max, @today.month, @today.day)
+      assert_raise Date::Error do
+        ::Date.new(@today.year - @max, @today.month, @today.day)
+      end
     end
   end
 end
diff --git a/test/test_faker_date.rb b/test/test_faker_date.rb
index 7766bc7..ed2c8db 100644
--- a/test/test_faker_date.rb
+++ b/test/test_faker_date.rb
@@ -77,8 +77,15 @@ class TestFakerDate < Test::Unit::TestCase
   end
 
   def test_invalid_date
-    assert_raise ArgumentError do
-      @tester.between('9999-99-99', '9999-99-99')
+    # The error raised here is changed in Ruby 2.7.
+    if RUBY_VERSION < '2.7'
+      assert_raise ArgumentError do
+        @tester.between('9999-99-99', '9999-99-99')
+      end
+    elsif RUBY_VERSION >= '2.7'
+      assert_raise Date::Error do
+        @tester.between('9999-99-99', '9999-99-99')
+      end
     end
   end
 
