ffaker 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changelog.md +8 -0
- data/REFERENCE.md +10 -0
- data/ffaker.gemspec +1 -1
- data/lib/ffaker/address_au.rb +2 -1
- data/lib/ffaker/address_br.rb +5 -1
- data/lib/ffaker/address_gr.rb +2 -2
- data/lib/ffaker/address_ja.rb +12 -12
- data/lib/ffaker/address_mx.rb +364 -364
- data/lib/ffaker/address_pl.rb +85 -0
- data/lib/ffaker/animals.rb +12 -0
- data/lib/ffaker/data/address_pl/city +916 -0
- data/lib/ffaker/data/address_pl/square +390 -0
- data/lib/ffaker/data/address_pl/street +390 -0
- data/lib/ffaker/data/address_pl/voivodeship +16 -0
- data/lib/ffaker/data/address_pl/voivodeship_abbr +16 -0
- data/lib/ffaker/data/address_pl/voivodeship_capital_city +18 -0
- data/lib/ffaker/data/animal/common_names +141 -0
- data/lib/ffaker/data/filesystem/extension +32 -0
- data/lib/ffaker/data/filesystem/mime_type +67 -0
- data/lib/ffaker/data/name_pl/female_first_names +121 -0
- data/lib/ffaker/data/name_pl/female_last_names +200 -0
- data/lib/ffaker/data/name_pl/male_first_names +121 -0
- data/lib/ffaker/data/name_pl/male_last_names +200 -0
- data/lib/ffaker/filesystem.rb +25 -0
- data/lib/ffaker/html_ipsum.rb +7 -7
- data/lib/ffaker/identification_mx.rb +2 -2
- data/lib/ffaker/name_da.rb +1 -1
- data/lib/ffaker/name_gr.rb +1 -1
- data/lib/ffaker/name_mx.rb +1 -1
- data/lib/ffaker/name_pl.rb +99 -0
- data/lib/ffaker/phone_number_au.rb +2 -2
- data/lib/ffaker/phone_number_id.rb +1 -1
- data/lib/ffaker/string.rb +1 -1
- data/lib/ffaker/tweet.rb +1 -1
- data/scripts/reference.rb +4 -4
- data/test/test_address_br.rb +1 -1
- data/test/test_address_ca.rb +2 -1
- data/test/test_address_gr.rb +1 -1
- data/test/test_address_mx.rb +1 -1
- data/test/test_address_pl.rb +81 -0
- data/test/test_address_ua.rb +2 -1
- data/test/test_animal.rb +17 -0
- data/test/test_aws.rb +3 -3
- data/test/test_book.rb +2 -2
- data/test/test_filesystem.rb +28 -0
- data/test/test_lorem_fr.rb +2 -1
- data/test/test_name_br.rb +1 -1
- data/test/test_name_pl.rb +112 -0
- data/test/test_phone_number_au.rb +18 -13
- data/test/test_phone_number_cu.rb +6 -3
- metadata +26 -1
@@ -8,10 +8,10 @@ module FFaker
|
|
8
8
|
extend self
|
9
9
|
|
10
10
|
# Mobile prefixes
|
11
|
-
MobileOperatorsPrefix = %w(04).freeze
|
11
|
+
MobileOperatorsPrefix = %w(04 05).freeze
|
12
12
|
|
13
13
|
# Home or Work Operator prefixes
|
14
|
-
HomeWorkOperatorsPrefix = %w(02 03
|
14
|
+
HomeWorkOperatorsPrefix = %w(02 03 07 08).freeze
|
15
15
|
|
16
16
|
OperatorsPrefix = MobileOperatorsPrefix + HomeWorkOperatorsPrefix
|
17
17
|
|
data/lib/ffaker/string.rb
CHANGED
data/lib/ffaker/tweet.rb
CHANGED
data/scripts/reference.rb
CHANGED
@@ -2,8 +2,8 @@ $LOAD_PATH << File.dirname(__FILE__) + '/../lib'
|
|
2
2
|
require 'ffaker'
|
3
3
|
|
4
4
|
ICONS = {
|
5
|
-
error:
|
6
|
-
warning:
|
5
|
+
error: '‼️',
|
6
|
+
warning: '❗'
|
7
7
|
}.freeze
|
8
8
|
|
9
9
|
# Get a list of sections
|
@@ -60,11 +60,11 @@ sections = faker_modules.each.map do |mod|
|
|
60
60
|
right = ''
|
61
61
|
|
62
62
|
if arity > 0
|
63
|
-
left = "`#{meth}`(#{arity
|
63
|
+
left = "`#{meth}`(#{Array.new(arity) { '...' }.join(', ')})"
|
64
64
|
else
|
65
65
|
begin
|
66
66
|
examples, warnings = catch_warnings do
|
67
|
-
3
|
67
|
+
Array.new(3) { mod.send meth }
|
68
68
|
end
|
69
69
|
right = if warnings.any?
|
70
70
|
"#{ICONS[:warning]} *#{warnings.first}*"
|
data/test/test_address_br.rb
CHANGED
@@ -7,7 +7,7 @@ class TestAddressBR < Test::Unit::TestCase
|
|
7
7
|
|
8
8
|
assert_methods_are_deterministic(
|
9
9
|
FFaker::AddressBR,
|
10
|
-
:zip_code, :state, :state_abbr, :city, :street_prefix, :street
|
10
|
+
:zip_code, :state, :state_abbr, :city, :street_prefix, :street, :full_address
|
11
11
|
)
|
12
12
|
|
13
13
|
def test_zip_code
|
data/test/test_address_ca.rb
CHANGED
data/test/test_address_gr.rb
CHANGED
data/test/test_address_mx.rb
CHANGED
@@ -0,0 +1,81 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
|
6
|
+
class TestFakerAddressPL < Test::Unit::TestCase
|
7
|
+
include DeterministicHelper
|
8
|
+
|
9
|
+
assert_methods_are_deterministic(
|
10
|
+
FFaker::AddressPL,
|
11
|
+
:full_address, :street_address, :street_name, :street, :square, :voivodeship,
|
12
|
+
:voivodeship_abbr, :voivodeship_capital_city, :city, :building_number,
|
13
|
+
:secondary_number, :postal_code, :street_prefix, :square_prefix
|
14
|
+
)
|
15
|
+
|
16
|
+
def setup
|
17
|
+
@tester = FFaker::AddressPL
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_full_address
|
21
|
+
assert_match(/[a-z]/, @tester.full_address)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_full_address_includes_country
|
25
|
+
assert_match(/POLOGNE/, @tester.full_address(true))
|
26
|
+
end
|
27
|
+
|
28
|
+
def street_address
|
29
|
+
assert_match(/[a-z]/, @tester.street_address)
|
30
|
+
end
|
31
|
+
|
32
|
+
def street_name
|
33
|
+
prefix, street = @tester.street_name.split
|
34
|
+
assert_include(@tester::STREET_PREFIXES + @tester::SQUARE_PREFIXES, prefix)
|
35
|
+
assert_include(@tester::STREET + @tester::SQUARE, street)
|
36
|
+
end
|
37
|
+
|
38
|
+
def street
|
39
|
+
assert_include(@tester::STREET, @tester.street)
|
40
|
+
end
|
41
|
+
|
42
|
+
def square
|
43
|
+
assert_include(@tester::SQUARE, @tester.square)
|
44
|
+
end
|
45
|
+
|
46
|
+
def voivodeship
|
47
|
+
assert_include(@tester::VOIVODESHIP, @tester.voivodeship)
|
48
|
+
end
|
49
|
+
|
50
|
+
def voivodeship_abbr
|
51
|
+
assert_include(@tester::VOIVODESHIP_ABBR, @tester.voivodeship_abbr)
|
52
|
+
end
|
53
|
+
|
54
|
+
def voivodeship_capital_city
|
55
|
+
assert_include(@tester::VOIVODESHIP_CAPITAL_CITY, @tester.voivodeship_capital_city)
|
56
|
+
end
|
57
|
+
|
58
|
+
def city
|
59
|
+
assert_include(@tester::CITY, @tester.city)
|
60
|
+
end
|
61
|
+
|
62
|
+
def building
|
63
|
+
assert_match(/\d{1,3}/, @tester.building)
|
64
|
+
end
|
65
|
+
|
66
|
+
def secondary_number
|
67
|
+
assert_match(/\d{1,3}/, @tester.secondary_number.split.last)
|
68
|
+
end
|
69
|
+
|
70
|
+
def postal_code
|
71
|
+
assert_match(/\d{2}-\d{3}/, @tester.postal_code)
|
72
|
+
end
|
73
|
+
|
74
|
+
def street_prefix
|
75
|
+
assert_include(@tester::STREET_PREFIXES, @tester.square_prefix)
|
76
|
+
end
|
77
|
+
|
78
|
+
def square_prefix
|
79
|
+
assert_include(@tester::SQUARE_PREFIXES, @tester.square_prefix)
|
80
|
+
end
|
81
|
+
end
|
data/test/test_address_ua.rb
CHANGED
@@ -43,7 +43,8 @@ class TestAddressUA < Test::Unit::TestCase
|
|
43
43
|
def test_street_address_with_secondary
|
44
44
|
assert_match( \
|
45
45
|
/\Aвул\.\s[а-яА-ЯіїєґІЇЄҐ’\-\s]+,\s\d{1,3},\sкв\.\s\d{1,3}\z/,
|
46
|
-
@tester.street_address(true)
|
46
|
+
@tester.street_address(true)
|
47
|
+
)
|
47
48
|
end
|
48
49
|
|
49
50
|
def test_building_number
|
data/test/test_animal.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestAnimals < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(FFaker::Animal, :common_name)
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@tester = FFaker::Animal
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_name
|
15
|
+
assert_include @tester::COMMON_NAMES, @tester.common_name
|
16
|
+
end
|
17
|
+
end
|
data/test/test_aws.rb
CHANGED
@@ -8,15 +8,15 @@ class TestAWS < Test::Unit::TestCase
|
|
8
8
|
assert_methods_are_deterministic(FFaker::AWS, :instance_type)
|
9
9
|
|
10
10
|
def test_instance_type
|
11
|
-
assert_match(
|
11
|
+
assert_match(/\A[a-z]+\d\.\d*[a-z]+/, FFaker::AWS.instance_type)
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_offering_type
|
15
|
-
assert_match(
|
15
|
+
assert_match(/\A[ a-zA-Z]+\z/i, FFaker::AWS.offering_type)
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_instance_tenancy
|
19
|
-
assert_match(
|
19
|
+
assert_match(/\A(?:default|dedicated|host)+\z/i, FFaker::AWS.instance_tenancy)
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_product_description
|
data/test/test_book.rb
CHANGED
@@ -19,7 +19,7 @@ class TestBook < Test::Unit::TestCase
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_genre
|
22
|
-
assert_match(%r
|
22
|
+
assert_match(%r{[\w\s'\/]+}, @tester.genre)
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_author
|
@@ -35,7 +35,7 @@ class TestBook < Test::Unit::TestCase
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_cover
|
38
|
-
assert_match(%r
|
38
|
+
assert_match(%r{\Ahttps:\/\/robohash\.org\/.+\.png\?size=300x300\z},
|
39
39
|
@tester.cover)
|
40
40
|
end
|
41
41
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestFakerFilesystem < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::Filesystem,
|
10
|
+
:extension, :mime_type, :file_name
|
11
|
+
)
|
12
|
+
|
13
|
+
def setup
|
14
|
+
@tester = FFaker::Filesystem
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_extension
|
18
|
+
assert @tester.extension.match(/(flac|mp3|wav|bmp|gif|jpeg|jpg|png|tiff|css|csv|html|js|json|txt|mp4|avi|mov|webm|doc|docx|xls|xlsx|ppt|pptx|odt|ods|odp|pages|numbers|key|pdf)/)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_mime_type_format
|
22
|
+
assert @tester.mime_type.match(/(.*)\/(.*)+/)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_file_name
|
26
|
+
assert @tester.file_name.match(/([a-z\-_]+)(\\|\/)([a-z\-_]+)\.([a-z]+)/)
|
27
|
+
end
|
28
|
+
end
|
data/test/test_lorem_fr.rb
CHANGED
@@ -10,6 +10,7 @@ class TestLoremFR < Test::Unit::TestCase
|
|
10
10
|
:paragraph, :paragraphs, :sentence, :sentences,
|
11
11
|
:phrase, :phrases, :word, :words
|
12
12
|
)
|
13
|
+
REGEX = /\A[ -.ÀÂÉÈÊÎÔÚÛàâéèêîôùûa-z]+\z/i
|
13
14
|
|
14
15
|
def test_paragraph
|
15
16
|
assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraph)
|
@@ -24,7 +25,7 @@ class TestLoremFR < Test::Unit::TestCase
|
|
24
25
|
end
|
25
26
|
|
26
27
|
def test_paragraphsLoremFR
|
27
|
-
assert_match(
|
28
|
+
assert_match(REGEX, FFaker::LoremFR.paragraphs.join(' '))
|
28
29
|
end
|
29
30
|
|
30
31
|
def test_sentences
|
data/test/test_name_br.rb
CHANGED
@@ -22,7 +22,7 @@ class TestFakerNameBR < Test::Unit::TestCase
|
|
22
22
|
def test_name_with_prefix
|
23
23
|
prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
|
24
24
|
assert_include(@tester::PREFIXES, prefix)
|
25
|
-
assert(name.
|
25
|
+
assert(!name.empty?)
|
26
26
|
refute_empty(last_name)
|
27
27
|
end
|
28
28
|
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
|
6
|
+
class TestFakerNamePL < Test::Unit::TestCase
|
7
|
+
include DeterministicHelper
|
8
|
+
|
9
|
+
assert_methods_are_deterministic(
|
10
|
+
FFaker::NamePL,
|
11
|
+
:name, :name_with_prefix, :last_name, :first_name, :female_name_with_prefix,
|
12
|
+
:male_name_with_prefix, :female_full_name, :male_full_name, :female_first_name,
|
13
|
+
:female_last_name, :male_first_name, :male_last_name, :prefix,
|
14
|
+
:female_prefix, :male_prefix, :academic_degree_prefix
|
15
|
+
)
|
16
|
+
|
17
|
+
def setup
|
18
|
+
@tester = FFaker::NamePL
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_name
|
22
|
+
assert_match(/(\w+\.? ?){2}/, @tester.name)
|
23
|
+
end
|
24
|
+
|
25
|
+
def name_with_prefix
|
26
|
+
prefix, first_name, last_name = @tester.name_with_prefix.split
|
27
|
+
assert_include(@tester::PREFIXES, prefix)
|
28
|
+
refute_empty(first_name)
|
29
|
+
refute_empty(last_name)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_female_name_with_prefix
|
33
|
+
prefix, first_name, last_name = @tester.female_name_with_prefix.split
|
34
|
+
assert_include(@tester::FEMALE_PREFIXES, prefix)
|
35
|
+
assert_include(@tester::FEMALE_FIRST_NAMES, first_name)
|
36
|
+
assert_include(@tester::FEMALE_LAST_NAMES, last_name)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_male_name_with_prefix
|
40
|
+
prefix, first_name, last_name = @tester.male_name_with_prefix.split
|
41
|
+
assert_include(@tester::MALE_PREFIXES, prefix)
|
42
|
+
assert_include(@tester::MALE_FIRST_NAMES, first_name)
|
43
|
+
assert_include(@tester::MALE_LAST_NAMES, last_name)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_female_full_name
|
47
|
+
first_name, last_name = @tester.female_full_name.split
|
48
|
+
assert_include(@tester::FEMALE_FIRST_NAMES, first_name)
|
49
|
+
assert_include(@tester::FEMALE_LAST_NAMES, last_name)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_male_full_name
|
53
|
+
first_name, last_name = @tester.male_full_name.split
|
54
|
+
assert_include(@tester::MALE_FIRST_NAMES, first_name)
|
55
|
+
assert_include(@tester::MALE_LAST_NAMES, last_name)
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_first_name
|
59
|
+
first_names = @tester::FEMALE_FIRST_NAMES + @tester::MALE_FIRST_NAMES
|
60
|
+
assert_include(first_names, @tester.first_name)
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_first_name_with_argument
|
64
|
+
assert_include(@tester::FEMALE_FIRST_NAMES, @tester.first_name(:female))
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_female_first_name
|
68
|
+
assert_include(@tester::FEMALE_FIRST_NAMES, @tester.female_first_name)
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_male_first_name
|
72
|
+
assert_include(@tester::MALE_FIRST_NAMES, @tester.male_first_name)
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_last_name
|
76
|
+
last_names = @tester::FEMALE_LAST_NAMES + @tester::MALE_LAST_NAMES
|
77
|
+
assert_include(last_names, @tester.last_name)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_last_name_with_argument
|
81
|
+
assert_include(@tester::MALE_LAST_NAMES, @tester.last_name(:male))
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_female_last_name
|
85
|
+
assert_include(@tester::FEMALE_LAST_NAMES, @tester.female_last_name)
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_male_last_name
|
89
|
+
assert_include(@tester::MALE_LAST_NAMES, @tester.male_last_name)
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_prefix
|
93
|
+
assert_include(@tester::PREFIXES, @tester.prefix)
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_female_prefix
|
97
|
+
assert_include(@tester::FEMALE_PREFIXES, @tester.female_prefix)
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_male_prefix
|
101
|
+
assert_include(@tester::MALE_PREFIXES, @tester.male_prefix)
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_academic_degree_prefix
|
105
|
+
assert_include(@tester::ACADEMIC_DEGREE_PREFIXES, @tester.academic_degree_prefix)
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_name_for_gender_raises_argument_error
|
109
|
+
error = assert_raises(ArgumentError) { @tester.send(:name_for_gender, :name, :vodka) }
|
110
|
+
assert_match("Gender must be one of: #{@tester::GENDERS}", error.message)
|
111
|
+
end
|
112
|
+
end
|
@@ -20,42 +20,47 @@ class TestPhoneNumberAU < Test::Unit::TestCase
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_mobile_phone_prefix
|
23
|
-
|
23
|
+
assert_include(FFaker::PhoneNumberAU::MobileOperatorsPrefix,
|
24
|
+
@tester.mobile_phone_prefix)
|
24
25
|
end
|
25
26
|
|
26
27
|
def test_home_work_phone_prefix
|
27
|
-
|
28
|
+
assert_include(FFaker::PhoneNumberAU::HomeWorkOperatorsPrefix,
|
29
|
+
@tester.home_work_phone_prefix)
|
28
30
|
end
|
29
31
|
|
30
32
|
def test_phone_prefix
|
31
|
-
|
33
|
+
assert_include(FFaker::PhoneNumberAU::OperatorsPrefix,
|
34
|
+
@tester.phone_prefix)
|
32
35
|
end
|
33
36
|
|
34
37
|
def test_mobile_phone_number
|
35
|
-
assert_match(/
|
38
|
+
assert_match(/0[45]\d{2} \d{3} \d{3}/,
|
39
|
+
FFaker::PhoneNumberAU.mobile_phone_number)
|
36
40
|
end
|
37
41
|
|
38
42
|
def test_home_work_phone_number
|
39
|
-
assert_match(/\(\d{2}\) \d{4} \d{4}/,
|
43
|
+
assert_match(/\(\d{2}\) \d{4} \d{4}/,
|
44
|
+
FFaker::PhoneNumberAU.home_work_phone_number)
|
40
45
|
end
|
41
46
|
|
42
47
|
def test_phone_number
|
43
|
-
|
44
|
-
|
45
|
-
end
|
48
|
+
assert_match(/(?:0[45]\d{1,2} \d{3} \d{3}|\(\d{2}\) \d{4} \d{4})/,
|
49
|
+
FFaker::PhoneNumberAU.phone_number)
|
46
50
|
end
|
47
51
|
|
48
52
|
def test_international_mobile_phone_number
|
49
|
-
assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
|
53
|
+
assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
|
54
|
+
FFaker::PhoneNumberAU.international_mobile_phone_number)
|
50
55
|
end
|
51
56
|
|
52
57
|
def test_international_home_work_phone_number
|
53
|
-
assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
|
58
|
+
assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
|
59
|
+
FFaker::PhoneNumberAU.international_home_work_phone_number)
|
54
60
|
end
|
55
61
|
|
56
62
|
def test_international_phone_number
|
57
|
-
|
58
|
-
|
59
|
-
end
|
63
|
+
assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
|
64
|
+
FFaker::PhoneNumberAU.international_phone_number)
|
60
65
|
end
|
61
66
|
end
|