ffaker 2.5.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|