From 7cfabab389095127b6e26b39309d02e4b56ca8a1 Mon Sep 17 00:00:00 2001 From: Fernando Blat Date: Sun, 15 Jan 2023 00:24:51 +0100 Subject: [PATCH] Deprecate FillMurray service (#2657) * Deprecate Fillmurray service * Update date * Skip deprecation message --- lib/faker/default/fillmurray.rb | 2 ++ test/faker/default/test_faker_fillmurray.rb | 34 ++++++++++++++++----- test/test_determinism.rb | 17 ++++++----- 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/lib/faker/default/fillmurray.rb b/lib/faker/default/fillmurray.rb index f0c1cfb5d0..bd9765c368 100644 --- a/lib/faker/default/fillmurray.rb +++ b/lib/faker/default/fillmurray.rb @@ -24,6 +24,7 @@ class << self # #=> "https://fillmurray.com/200/400" # # @faker.version 1.7.1 + extend Gem::Deprecate def image(grayscale: false, width: 200, height: 200) raise ArgumentError, 'Width should be a number' unless width.to_s =~ /^\d+$/ raise ArgumentError, 'Height should be a number' unless height.to_s =~ /^\d+$/ @@ -31,6 +32,7 @@ def image(grayscale: false, width: 200, height: 200) "https://www.fillmurray.com#{'/g' if grayscale == true}/#{width}/#{height}" end + deprecate :image, 'Faker::LoremFlickr.image', 2023, 2 end end end diff --git a/test/faker/default/test_faker_fillmurray.rb b/test/faker/default/test_faker_fillmurray.rb index 56b6aaa984..f4d47e1727 100644 --- a/test/faker/default/test_faker_fillmurray.rb +++ b/test/faker/default/test_faker_fillmurray.rb @@ -8,28 +8,46 @@ def setup end def test_fillmurray - refute_nil @tester.image(grayscale: false, width: '300', height: '300').match(%r{https://www\.fillmurray\.com/(\d+)/(\d+)}) + Gem::Deprecate.skip_during do + refute_nil @tester.image(grayscale: false, width: '300', height: '300').match(%r{https://www\.fillmurray\.com/(\d+)/(\d+)}) + end + end + + def test_image_deprecation_message + _out, err = capture_output do + @tester.image(grayscale: false, width: '300', height: '300') + end + + assert_match(/Faker::Fillmurray.image is deprecated; use Faker::LoremFlickr.image instead\./, err) end def test_fillmurray_with_grayscale - assert_equal('g/', @tester.image(grayscale: true, width: '300', height: '300').match(%r{https://www\.fillmurray\.com/(g?/?)(\d+)/(\d+)})[1]) + Gem::Deprecate.skip_during do + assert_equal('g/', @tester.image(grayscale: true, width: '300', height: '300').match(%r{https://www\.fillmurray\.com/(g?/?)(\d+)/(\d+)})[1]) + end end def test_fillmurray_with_incorrect_height_format - assert_raise ArgumentError do - @tester.image(grayscale: false, width: '300', height: 'nine-thousand') + Gem::Deprecate.skip_during do + assert_raise ArgumentError do + @tester.image(grayscale: false, width: '300', height: 'nine-thousand') + end end end def test_fillmurray_with_incorrect_width_format - assert_raise ArgumentError do - @tester.image(grayscale: false, width: 'three-hundred') + Gem::Deprecate.skip_during do + assert_raise ArgumentError do + @tester.image(grayscale: false, width: 'three-hundred') + end end end def test_fillmurray_with_incorrect_grayscale - assert_raise ArgumentError do - @tester.image(grayscale: 'gray', width: '300', height: '400') + Gem::Deprecate.skip_during do + assert_raise ArgumentError do + @tester.image(grayscale: 'gray', width: '300', height: '400') + end end end end diff --git a/test/test_determinism.rb b/test/test_determinism.rb index cddedb7c1a..ce8805aef8 100644 --- a/test/test_determinism.rb +++ b/test/test_determinism.rb @@ -10,16 +10,19 @@ def setup def test_determinism Faker::Config.random = Random.new(42) - @all_methods.each_index do |index| - store_result @all_methods[index] - end - @first_run.freeze + Gem::Deprecate.skip_during do + @all_methods.each_index do |index| + store_result @all_methods[index] + end - Faker::Config.random = Random.new(42) + @first_run.freeze - @all_methods.each_index do |index| - assert deterministic_random? @first_run[index], @all_methods[index] + Faker::Config.random = Random.new(42) + + @all_methods.each_index do |index| + assert deterministic_random? @first_run[index], @all_methods[index] + end end end