From a254ec67e7984856cfb615d19ed77cbfbcf756c8 Mon Sep 17 00:00:00 2001 From: Lucas Queiroz Date: Sun, 16 Dec 2018 16:59:10 -0200 Subject: [PATCH] Fix Faker::Internet.ip_v4_address to include all IP ranges (#1494) * Change ip_v4 generator to use 0..255 range for all octects * Add test for minimum ip address range --- lib/faker/default/internet.rb | 4 ++-- test/faker/default/test_faker_internet.rb | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/faker/default/internet.rb b/lib/faker/default/internet.rb index 78f455faff..10cc32900d 100644 --- a/lib/faker/default/internet.rb +++ b/lib/faker/default/internet.rb @@ -102,8 +102,8 @@ def mac_address(prefix = '') end def ip_v4_address - ary = (2..254).to_a - [sample(ary), sample(ary), sample(ary), sample(ary)].join('.') + [rand_in_range(0, 255), rand_in_range(0, 255), + rand_in_range(0, 255), rand_in_range(0, 255)].join('.') end def private_ip_v4_address diff --git a/test/faker/default/test_faker_internet.rb b/test/faker/default/test_faker_internet.rb index 2618c837a8..948cdd9831 100644 --- a/test/faker/default/test_faker_internet.rb +++ b/test/faker/default/test_faker_internet.rb @@ -149,6 +149,7 @@ def test_ip_v4_address assert_equal 3, @tester.ip_v4_address.count('.') 100.times do + assert @tester.ip_v4_address.split('.').map(&:to_i).min >= 0 assert @tester.ip_v4_address.split('.').map(&:to_i).max <= 255 end end