ffaker 1.24.0 → 1.25.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 +7 -15
- data/Changelog.md +4 -0
- data/ffaker.gemspec +42 -2
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/address_fi.rb +48 -0
- data/lib/ffaker/address_mx.rb +3 -9
- data/lib/ffaker/address_nl.rb +43 -0
- data/lib/ffaker/boolean.rb +16 -0
- data/lib/ffaker/color.rb +13 -0
- data/lib/ffaker/data/address_fi/city +107 -0
- data/lib/ffaker/data/address_fi/countries +96 -0
- data/lib/ffaker/data/address_fi/street +140 -0
- data/lib/ffaker/data/address_nl/city +2226 -0
- data/lib/ffaker/data/address_nl/province +12 -0
- data/lib/ffaker/data/color/names_list +19 -0
- data/lib/ffaker/data/food/fruit +82 -0
- data/lib/ffaker/data/food/herb_spice +64 -0
- data/lib/ffaker/data/food/meat +48 -0
- data/lib/ffaker/data/food/vegetable +207 -0
- data/lib/ffaker/data/identification_mx/estados_curp +33 -0
- data/lib/ffaker/data/job_ja/job_nouns +235 -0
- data/lib/ffaker/data/name_nl/first_names_female +89 -0
- data/lib/ffaker/data/name_nl/first_names_male +75 -0
- data/lib/ffaker/data/name_nl/last_names +115 -0
- data/lib/ffaker/data/vehicle/makes_list +74 -0
- data/lib/ffaker/data/vehicle/models_list +106 -0
- data/lib/ffaker/data/vehicle/trims_list +13 -0
- data/lib/ffaker/food.rb +27 -0
- data/lib/ffaker/identification_mx.rb +49 -0
- data/lib/ffaker/internet.rb +15 -0
- data/lib/ffaker/internet_se.rb +7 -0
- data/lib/ffaker/job_ja.rb +12 -0
- data/lib/ffaker/lorem.rb +1 -1
- data/lib/ffaker/name_nl.rb +50 -0
- data/lib/ffaker/name_ru.rb +1 -1
- data/lib/ffaker/phone_number_nl.rb +52 -0
- data/lib/ffaker/ssn_mx.rb +57 -0
- data/lib/ffaker/vehicle.rb +50 -0
- data/test/test_address_fi.rb +33 -0
- data/test/test_address_mx.rb +9 -9
- data/test/test_address_nl.rb +30 -0
- data/test/test_boolean.rb +10 -0
- data/test/test_color.rb +9 -0
- data/test/test_food.rb +21 -0
- data/test/test_identification_es_mx.rb +24 -0
- data/test/test_internet.rb +7 -0
- data/test/test_internet_se.rb +4 -1
- data/test/test_job_ja.rb +17 -0
- data/test/test_lorem.rb +3 -0
- data/test/test_name_br.rb +4 -2
- data/test/test_name_nl.rb +21 -0
- data/test/test_phone_number_nl.rb +30 -0
- data/test/test_ssn_mx.rb +32 -0
- data/test/test_vehicle.rb +41 -0
- metadata +90 -45
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
# Author Guapolo <github.com/guapolo>
|
|
5
|
+
module SSNMX
|
|
6
|
+
extend ModuleUtils
|
|
7
|
+
extend self
|
|
8
|
+
|
|
9
|
+
# The Social Security number is a eleven-digit number in the format
|
|
10
|
+
# "AABBCCDDEE-F".
|
|
11
|
+
def ssn
|
|
12
|
+
Faker.numerify('##########-#')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The Social Security number is a eleven-digit number in the format
|
|
16
|
+
# "AABBCCDDEEF".
|
|
17
|
+
def ssn_undashed
|
|
18
|
+
Faker.numerify('###########')
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# http://es.wikipedia.org/wiki/Instituto_Mexicano_del_Seguro_Social
|
|
22
|
+
# The Social Security number from IMSS
|
|
23
|
+
# (Instituto Mexicano del Seguro Social)
|
|
24
|
+
# is a eleven-digit number in the format
|
|
25
|
+
# "AABBCCDDEE-F".
|
|
26
|
+
def imss
|
|
27
|
+
Faker.numerify('##########-#')
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# http://es.wikipedia.org/wiki/Instituto_Mexicano_del_Seguro_Social
|
|
31
|
+
# The Social Security number from IMSS
|
|
32
|
+
# (Instituto Mexicano del Seguro Social)
|
|
33
|
+
# is a eleven-digit number in the format
|
|
34
|
+
# "AABBCCDDEEF".
|
|
35
|
+
def imss_undashed
|
|
36
|
+
Faker.numerify('###########')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# http://es.wikipedia.org/wiki/Instituto_de_Seguridad_y_Servicios_Sociales_de_los_Trabajadores_del_Estado
|
|
40
|
+
# The Social Security number from ISSSTE
|
|
41
|
+
# (Instituto de Seguridad y Servicios Sociales de los Trabajadores del Estado)
|
|
42
|
+
# is a eleven-digit number in the format
|
|
43
|
+
# "AABBCCDDEE-F".
|
|
44
|
+
def issste
|
|
45
|
+
Faker.numerify('##########-#')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# http://es.wikipedia.org/wiki/Instituto_de_Seguridad_y_Servicios_Sociales_de_los_Trabajadores_del_Estado
|
|
49
|
+
# The Social Security number from ISSSTE
|
|
50
|
+
# (Instituto de Seguridad y Servicios Sociales de los Trabajadores del Estado)
|
|
51
|
+
# is a eleven-digit number in the format
|
|
52
|
+
# "AABBCCDDEEF".
|
|
53
|
+
def issste_undashed
|
|
54
|
+
Faker.numerify('###########')
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
module Vehicle
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
def base_color
|
|
9
|
+
Faker::Color.name
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def drivetrain
|
|
13
|
+
DRIVETRAINS.rand
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def make
|
|
17
|
+
MAKES_LIST.rand
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def manufacturer_color(n=2)
|
|
21
|
+
# Take two prefixes because it's more fun than one
|
|
22
|
+
[COLOR_PREFIXES.random_pick(n), self.base_color].flatten.join(' ')
|
|
23
|
+
end
|
|
24
|
+
alias_method :mfg_color, :manufacturer_color
|
|
25
|
+
|
|
26
|
+
def model
|
|
27
|
+
MODELS_LIST.rand
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def trim
|
|
31
|
+
TRIMS_LIST.rand
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def vin
|
|
35
|
+
Faker.bothify('1#???#####?######').upcase
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def year
|
|
39
|
+
YEARS.rand
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
DRIVETRAINS = k(%w(4WD 4X4 AWD FWD RWD))
|
|
43
|
+
YEARS = k('1900'.."#{Date.today.year+1}")
|
|
44
|
+
COLOR_PREFIXES = k(%w(
|
|
45
|
+
beautiful bright calm dangerous dark dull fast magnetic magnificent majestic melodic metallic
|
|
46
|
+
mundane mute mysterious new pleasant pretty resonant royal slate soft tranquil vibrant weak
|
|
47
|
+
))
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
# Test features related to Finnish addresses
|
|
6
|
+
class TestAddressFI < Test::Unit::TestCase
|
|
7
|
+
ALPHA = /\A[[:alpha:]]+/
|
|
8
|
+
DIGIT = /\d{1}/
|
|
9
|
+
|
|
10
|
+
def test_fi_city
|
|
11
|
+
assert_match ALPHA, Faker::AddressFI.city
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_fi_zip_code
|
|
15
|
+
assert_match(/\d{2}/, Faker::AddressFI.zip_code)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_countries
|
|
19
|
+
assert Faker::AddressFI::COUNTRIES.include?(Faker::AddressFI.random_country)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_fi_full_address
|
|
23
|
+
address = Faker::AddressFI.full_address
|
|
24
|
+
assert_match ALPHA, address
|
|
25
|
+
assert_match DIGIT, address
|
|
26
|
+
assert_match(/SUOMI/, address)
|
|
27
|
+
assert_match(/[\, a-z]/, address)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_fi_zip_code_frozen
|
|
31
|
+
assert Faker::AddressFI.zip_code.frozen? == false
|
|
32
|
+
end
|
|
33
|
+
end
|
data/test/test_address_mx.rb
CHANGED
|
@@ -4,23 +4,23 @@ require 'helper'
|
|
|
4
4
|
|
|
5
5
|
# Author: guapolo github.com/guapolo
|
|
6
6
|
class TestAddressMX < Test::Unit::TestCase
|
|
7
|
-
def setup
|
|
8
|
-
@tester = Faker::AddressMX
|
|
9
|
-
end
|
|
10
|
-
|
|
11
7
|
def test_mx_state
|
|
12
|
-
assert_match /[
|
|
8
|
+
assert_match /[\sa-z]/i, Faker::AddressMX.state
|
|
13
9
|
end
|
|
14
10
|
|
|
15
11
|
def test_mx_state_abbr
|
|
16
|
-
assert_match /[A-Z]/,
|
|
12
|
+
assert_match /[A-Z]/, Faker::AddressMX.state_abbr
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_postal_code
|
|
16
|
+
assert_match /[0-9]/, Faker::AddressMX.postal_code
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def
|
|
20
|
-
assert_match /[0-9]/,
|
|
19
|
+
def test_zip_code
|
|
20
|
+
assert_match /[0-9]/, Faker::AddressMX.zip_code
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def test_mx_municipality
|
|
24
|
-
assert_match /[
|
|
24
|
+
assert_match /[\sa-z]/i, Faker::AddressMX.municipality
|
|
25
25
|
end
|
|
26
26
|
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestAddressNL < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
def setup
|
|
8
|
+
@tester = Faker::AddressNL
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_city
|
|
12
|
+
assert_match /[ a-z]+/, @tester.city
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_province
|
|
16
|
+
assert_match /[ a-z]/, @tester.province
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_zip_code
|
|
20
|
+
assert_match /^\d{4}\s\w{2}$/, @tester.zip_code
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_street_name
|
|
24
|
+
assert_match /[ a-z]+/, @tester.street_name
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_street_address
|
|
28
|
+
assert_match /[ a-z]+/, @tester.street_address
|
|
29
|
+
end
|
|
30
|
+
end
|
data/test/test_color.rb
ADDED
data/test/test_food.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerFood < Test::Unit::TestCase
|
|
6
|
+
def test_vegetable
|
|
7
|
+
assert_match /\A[-\/ 'a-z0-9]+\z/i, Faker::Food.vegetable
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_fruit
|
|
11
|
+
assert_match /\A[ a-z0-9]+\z/i, Faker::Food.fruit
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_meat
|
|
15
|
+
assert_match /\A[, a-z0-9]+\z/i, Faker::Food.meat
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_herb_or_spice
|
|
19
|
+
assert_match /\A[-, a-z0-9]+\z/i, Faker::Food.herb_or_spice
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
# Author Guapolo <github.com/guapolo>
|
|
6
|
+
class TestIdentificationMX < Test::Unit::TestCase
|
|
7
|
+
|
|
8
|
+
def test_rfc_persona_moral
|
|
9
|
+
re = /\A[a-zñÑ&]{3}\d{2}[0-1][0-9][0-3][0-9][a-z0-9]{3}\z/i
|
|
10
|
+
assert_match(re, Faker::IdentificationMX.rfc_persona_moral)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_rfc_persona_fisica
|
|
14
|
+
re = /\A[a-zñÑ]{4}\d{2}[0-1][0-9][0-3][0-9][a-z0-9]{3}\z/i
|
|
15
|
+
assert_match(re, Faker::IdentificationMX.rfc_persona_fisica)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_curp
|
|
19
|
+
or_curp_states_abbr = Faker::IdentificationMX::ESTADOS_CURP.join("|")
|
|
20
|
+
re = /\A[a-z][aeioux][a-z]{2}[0-9]{2}[0-1][0-9][0-3][0-9][hm]#{or_curp_states_abbr}[bcdfghjklmnñpqrstvwxyz]{3}[0-9a-z][0-9]\z/i
|
|
21
|
+
assert_match(re, Faker::IdentificationMX.curp)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
data/test/test_internet.rb
CHANGED
|
@@ -57,4 +57,11 @@ class TestFakerInternet < Test::Unit::TestCase
|
|
|
57
57
|
assert @tester.ip_v4_address.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
+
def test_slug
|
|
61
|
+
assert @tester.slug.match(/^[a-z]+(_|\.|\-)[a-z]+$/)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def test_password
|
|
65
|
+
assert @tester.password.match(/[a-z]+/)
|
|
66
|
+
end
|
|
60
67
|
end
|
data/test/test_internet_se.rb
CHANGED
data/test/test_job_ja.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerJobJA < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
@tester = Faker::JobJA
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_title
|
|
11
|
+
assert @tester.title.length >= 1
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_nouns
|
|
15
|
+
assert @tester::JOB_NOUNS.is_a?(Array)
|
|
16
|
+
end
|
|
17
|
+
end
|
data/test/test_lorem.rb
CHANGED
data/test/test_name_br.rb
CHANGED
|
@@ -12,8 +12,10 @@ class TestFakerNameBR < Test::Unit::TestCase
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def test_name_with_prefix
|
|
15
|
-
prefixes = @tester::PREFIXES
|
|
16
|
-
|
|
15
|
+
prefixes = @tester::PREFIXES
|
|
16
|
+
parts = @tester.name_with_prefix.split(/\s+/)
|
|
17
|
+
assert prefixes.include?(parts.first)
|
|
18
|
+
assert(parts[1].length > 0)
|
|
17
19
|
end
|
|
18
20
|
|
|
19
21
|
def test_first_name
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerNameNL < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
@tester = Faker::NameNL
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_name
|
|
11
|
+
assert @tester.name.match(/(\w+\.? ?){2,3}/)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_prefix
|
|
15
|
+
assert @tester.prefix.match(/[A-Z][a-z]+\.?/)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_suffix
|
|
19
|
+
assert @tester.suffix.match(/[A-Z][a-z]*\.?/)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
# Author: wiseleyb<wiseleyb@gmail.com>
|
|
6
|
+
class TestPhoneNumberNL < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@tester = Faker::PhoneNumberNL
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_mobile_phone_prefix
|
|
12
|
+
assert @tester.mobile_phone_number.start_with?('06')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_phone_prefix
|
|
16
|
+
assert @tester.phone_number.start_with?('0')
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_phone_number
|
|
20
|
+
10.times do
|
|
21
|
+
assert_match /^0([\s\-]*\d){9}$/, @tester.phone_number
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_international_phone_number
|
|
26
|
+
10.times do
|
|
27
|
+
assert_match /^\+31/, @tester.international_phone_number
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
data/test/test_ssn_mx.rb
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
# Author Guapolo <github.com/guapolo>
|
|
6
|
+
class TestSSNMX < Test::Unit::TestCase
|
|
7
|
+
|
|
8
|
+
def test_ssn
|
|
9
|
+
assert_match(/\d{10}-\d/, Faker::SSNMX.ssn)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_ssn_undashed
|
|
13
|
+
assert_match(/\d{11}/, Faker::SSNMX.ssn_undashed)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_imss
|
|
17
|
+
assert_match(/\d{10}-\d/, Faker::SSNMX.imss)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_imss_undashed
|
|
21
|
+
assert_match(/\d{11}/, Faker::SSNMX.imss_undashed)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_issste
|
|
25
|
+
assert_match(/\d{10}-\d/, Faker::SSNMX.issste)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_issste_undashed
|
|
29
|
+
assert_match(/\d{11}/, Faker::SSNMX.issste_undashed)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestVehicle < Test::Unit::TestCase
|
|
6
|
+
def test_base_color
|
|
7
|
+
assert_match /\A[a-z]+\z/, Faker::Vehicle.base_color
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_year
|
|
11
|
+
assert_match /\A\d{4}\z/, Faker::Vehicle.year
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_manufacturer_color
|
|
15
|
+
assert_match /\A[ a-z]+\z/, Faker::Vehicle.manufacturer_color
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_mfg_color
|
|
19
|
+
assert_match /\A[ a-z]+\z/, Faker::Vehicle.mfg_color
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_make
|
|
23
|
+
assert_match /\A[A-Z][- A-Za-z]+\z/, Faker::Vehicle.make
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_model
|
|
27
|
+
assert_match /\A[-\. a-z0-9]+\z/i, Faker::Vehicle.model
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_trim
|
|
31
|
+
assert_match /\A[- a-z]+\z/i, Faker::Vehicle.trim
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_vin
|
|
35
|
+
assert_match /\A[A-Z0-9]{17}\z/, Faker::Vehicle.vin
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_drivetrain
|
|
39
|
+
assert_match /\A[a-z0-9]+\z/i, Faker::Vehicle.drivetrain
|
|
40
|
+
end
|
|
41
|
+
end
|