ffaker 2.0.0 → 2.1.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 +32 -0
- data/README.md +7 -6
- data/REFERENCE.md +1355 -0
- data/Rakefile +6 -6
- data/ffaker.gemspec +16 -3
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/address_ca.rb +3 -3
- data/lib/ffaker/avatar.rb +20 -0
- data/lib/ffaker/bacon_ipsum.rb +1 -1
- data/lib/ffaker/data/job_cn/job_nouns +300 -0
- data/lib/ffaker/data/sport/names +34 -0
- data/lib/ffaker/dizzle_ipsum.rb +1 -1
- data/lib/ffaker/healthcare_ipsum.rb +1 -1
- data/lib/ffaker/hipster_ipsum.rb +1 -1
- data/lib/ffaker/html_ipsum.rb +1 -1
- data/lib/ffaker/identification_kr.rb +20 -0
- data/lib/ffaker/identification_mx.rb +3 -3
- data/lib/ffaker/internet.rb +3 -3
- data/lib/ffaker/internet_se.rb +1 -1
- data/lib/ffaker/job_cn.rb +12 -0
- data/lib/ffaker/job_fr.rb +6 -2
- data/lib/ffaker/locale.rb +1 -1
- data/lib/ffaker/lorem.rb +7 -5
- data/lib/ffaker/lorem_ar.rb +1 -1
- data/lib/ffaker/lorem_cn.rb +1 -1
- data/lib/ffaker/lorem_fr.rb +1 -1
- data/lib/ffaker/lorem_kr.rb +1 -1
- data/lib/ffaker/movie.rb +6 -0
- data/lib/ffaker/phone_number.rb +46 -17
- data/lib/ffaker/product.rb +1 -1
- data/lib/ffaker/skill.rb +1 -1
- data/lib/ffaker/sport.rb +10 -0
- data/lib/ffaker/string.rb +22 -11
- data/lib/ffaker/utils/array_utils.rb +4 -3
- data/lib/ffaker/vehicle.rb +1 -1
- data/scripts/reference.rb +89 -0
- data/test/test_address_ca.rb +6 -4
- data/test/test_array_utils.rb +3 -3
- data/test/test_avatar.rb +50 -0
- data/test/test_company.rb +8 -6
- data/test/test_identification.rb +5 -4
- data/test/test_identification_kr.rb +13 -0
- data/test/test_internet.rb +4 -0
- data/test/test_job.rb +1 -2
- data/test/test_job_cn.rb +17 -0
- data/test/test_job_fr.rb +4 -7
- data/test/test_job_ja.rb +1 -1
- data/test/test_job_kr.rb +1 -1
- data/test/test_locale.rb +21 -0
- data/test/test_lorem_kr.rb +1 -1
- data/test/test_movie.rb +8 -0
- data/test/test_name.rb +3 -3
- data/test/test_name_br.rb +7 -8
- data/test/test_name_cs.rb +8 -6
- data/test/test_name_de.rb +3 -3
- data/test/test_name_fr.rb +15 -17
- data/test/test_name_ga.rb +12 -14
- data/test/test_name_it.rb +14 -15
- data/test/test_name_ja.rb +1 -1
- data/test/test_name_mx.rb +82 -80
- data/test/test_name_nb.rb +6 -9
- data/test/test_name_nl.rb +3 -3
- data/test/test_name_ph.rb +12 -2
- data/test/test_name_ru.rb +14 -10
- data/test/test_name_se.rb +6 -9
- data/test/test_name_sn.rb +39 -52
- data/test/test_name_th.rb +7 -9
- data/test/test_phone_number.rb +9 -0
- data/test/test_sports.rb +13 -0
- data/test/test_string.rb +26 -16
- data/test/test_units.rb +8 -10
- data/test/test_units_english.rb +15 -22
- data/test/test_units_metric.rb +15 -21
- metadata +22 -4
data/test/test_name_nb.rb
CHANGED
@@ -3,36 +3,33 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerNameNB < Test::Unit::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
@tester = FFaker::NameNB
|
9
8
|
end
|
10
9
|
|
11
10
|
def test_last_name
|
12
|
-
|
11
|
+
assert_include @tester::LAST_NAMES, @tester.last_name
|
13
12
|
end
|
14
13
|
|
15
14
|
def test_first_name_male
|
16
|
-
|
15
|
+
assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
|
17
16
|
end
|
18
17
|
|
19
18
|
def test_first_name_female
|
20
|
-
|
19
|
+
assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
|
21
20
|
end
|
22
21
|
|
23
22
|
def test_prefix
|
24
|
-
|
23
|
+
assert_include @tester::PREFIXES, @tester.prefix
|
25
24
|
end
|
26
25
|
|
27
26
|
def test_first_name
|
28
27
|
parts = @tester.first_name.split(' ')
|
29
|
-
|
28
|
+
assert_include [1, 2], parts.count
|
30
29
|
end
|
31
30
|
|
32
31
|
def test_name
|
33
32
|
parts = @tester.name.split(' ')
|
34
|
-
|
33
|
+
assert_include [2, 3, 4], parts.count
|
35
34
|
end
|
36
|
-
|
37
35
|
end
|
38
|
-
|
data/test/test_name_nl.rb
CHANGED
@@ -8,14 +8,14 @@ class TestFakerNameNL < Test::Unit::TestCase
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_name
|
11
|
-
|
11
|
+
assert_match(/(\w+\.? ?){2,3}/, @tester.name)
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_prefix
|
15
|
-
|
15
|
+
assert_match(/[A-Z][a-z]+\.?/, @tester.prefix)
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_suffix
|
19
|
-
|
19
|
+
assert_match(/[A-Z][a-z]*\.?/, @tester.suffix)
|
20
20
|
end
|
21
21
|
end
|
data/test/test_name_ph.rb
CHANGED
@@ -3,15 +3,25 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerNamePH < Test::Unit::TestCase
|
6
|
+
PH_REGEXP = /\A([\wñÑú-]+\.? ?){2,5}\z/
|
7
|
+
|
6
8
|
def setup
|
7
9
|
@tester = FFaker::NamePH
|
8
10
|
end
|
9
11
|
|
10
12
|
def test_name
|
11
|
-
|
13
|
+
assert_match(PH_REGEXP, @tester.name)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_last_name
|
17
|
+
assert_match(PH_REGEXP, @tester.last_name)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_first_name
|
21
|
+
assert_match(PH_REGEXP, @tester.first_name)
|
12
22
|
end
|
13
23
|
|
14
24
|
def test_prefix
|
15
|
-
|
25
|
+
assert_match(/\A[A-Z][a-z]+\.?\z/, @tester.prefix)
|
16
26
|
end
|
17
27
|
end
|
data/test/test_name_ru.rb
CHANGED
@@ -2,15 +2,17 @@
|
|
2
2
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
|
-
class
|
5
|
+
class TestFakerNameRU < Test::Unit::TestCase
|
6
|
+
RU_REGEX = /[А-Я][а-я]+/
|
7
|
+
|
6
8
|
def setup
|
7
9
|
@tester = FFaker::NameRU
|
8
10
|
end
|
9
11
|
|
10
12
|
def test_name
|
11
13
|
@words = @tester.name.split
|
12
|
-
|
13
|
-
assert @words.
|
14
|
+
assert_include [2, 3], @words.size
|
15
|
+
assert @words.all? { |word| word.match RU_REGEX }
|
14
16
|
end
|
15
17
|
|
16
18
|
def test_name_sex
|
@@ -19,27 +21,27 @@ class TestFakerNameRu < Test::Unit::TestCase
|
|
19
21
|
end
|
20
22
|
|
21
23
|
def test_last_name
|
22
|
-
|
24
|
+
assert_match RU_REGEX, @tester.last_name
|
23
25
|
end
|
24
26
|
|
25
27
|
def test_male_last_name
|
26
|
-
|
28
|
+
assert_include @tester::LAST_NAMES[:male], @tester.last_name(:male)
|
27
29
|
end
|
28
30
|
|
29
31
|
def test_first_name
|
30
|
-
|
32
|
+
assert_match RU_REGEX, @tester.first_name
|
31
33
|
end
|
32
34
|
|
33
35
|
def test_male_first_name
|
34
|
-
|
36
|
+
assert_include @tester::FIRST_NAMES[:male], @tester.first_name(:male)
|
35
37
|
end
|
36
38
|
|
37
39
|
def test_patronymic
|
38
|
-
|
40
|
+
assert_match RU_REGEX, @tester.patronymic
|
39
41
|
end
|
40
42
|
|
41
43
|
def test_male_patronymic
|
42
|
-
|
44
|
+
assert_include @tester::PATRONYMICS[:male], @tester.patronymic(:male)
|
43
45
|
end
|
44
46
|
|
45
47
|
def test_with_same_sex
|
@@ -62,11 +64,13 @@ class TestFakerNameRu < Test::Unit::TestCase
|
|
62
64
|
assert same_sex?(names, :male)
|
63
65
|
end
|
64
66
|
|
67
|
+
private
|
68
|
+
|
65
69
|
# checks if every name is of the same sex
|
66
70
|
def same_sex?(words, sex = :any)
|
67
71
|
(sex == :any ? [:male, :female] : [sex]).any? do |sex|
|
68
72
|
words.all? do |word|
|
69
|
-
[
|
73
|
+
[@tester::LAST_NAMES, @tester::FIRST_NAMES, @tester::PATRONYMICS].any? do |names|
|
70
74
|
names[sex].include?(word)
|
71
75
|
end
|
72
76
|
end
|
data/test/test_name_se.rb
CHANGED
@@ -3,36 +3,33 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerNameSE < Test::Unit::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
@tester = FFaker::NameSE
|
9
8
|
end
|
10
9
|
|
11
10
|
def test_last_name
|
12
|
-
|
11
|
+
assert_include @tester::LAST_NAMES, (@tester.last_name)
|
13
12
|
end
|
14
13
|
|
15
14
|
def test_first_name_male
|
16
|
-
|
15
|
+
assert_include @tester::FIRST_NAMES_MALE, (@tester.first_name_male)
|
17
16
|
end
|
18
17
|
|
19
18
|
def test_first_name_female
|
20
|
-
|
19
|
+
assert_include @tester::FIRST_NAMES_FEMALE, (@tester.first_name_female)
|
21
20
|
end
|
22
21
|
|
23
22
|
def test_prefix
|
24
|
-
|
23
|
+
assert_include @tester::PREFIXES, (@tester.prefix)
|
25
24
|
end
|
26
25
|
|
27
26
|
def test_first_name
|
28
27
|
parts = @tester.first_name.split(' ')
|
29
|
-
|
28
|
+
assert_include [1, 2], parts.count
|
30
29
|
end
|
31
30
|
|
32
31
|
def test_name
|
33
32
|
parts = @tester.name.split(' ')
|
34
|
-
|
33
|
+
assert_include [2, 3, 4], parts.count
|
35
34
|
end
|
36
|
-
|
37
35
|
end
|
38
|
-
|
data/test/test_name_sn.rb
CHANGED
@@ -4,95 +4,82 @@ require 'helper'
|
|
4
4
|
|
5
5
|
# Author: PapePathe<pathe.sene@gmail.com> github.com/PapePathe
|
6
6
|
class TestFakerNameSn < Test::Unit::TestCase
|
7
|
-
|
8
7
|
def setup
|
9
8
|
@tester = FFaker::NameSN
|
10
9
|
end
|
11
10
|
|
12
11
|
def test_last_name
|
13
|
-
|
12
|
+
assert_include @tester::LAST_NAMES, @tester.last_name
|
14
13
|
end
|
15
14
|
|
16
15
|
def test_first_name_male
|
17
|
-
|
16
|
+
assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
|
18
17
|
end
|
19
18
|
|
20
19
|
def test_first_name_female
|
21
|
-
|
20
|
+
assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
|
22
21
|
end
|
23
22
|
|
24
23
|
def test_prefix_male
|
25
|
-
|
24
|
+
assert_include @tester::PREFIX_MALE, @tester.prefix_male
|
26
25
|
end
|
27
26
|
|
28
27
|
def test_prefix_female
|
29
|
-
|
28
|
+
assert_include @tester::PREFIX_FEMALE, @tester.prefix_female
|
30
29
|
end
|
31
30
|
|
32
31
|
def test_name_male
|
33
|
-
# => split the name_male into an array of words
|
34
32
|
parts = @tester.name_male.split(' ')
|
33
|
+
assert_include [2, 3], parts.count
|
35
34
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
# the value at the index 1 should be a valid! male_first_name
|
41
|
-
assert FFaker::NameSN::FIRST_NAMES_MALE.include?(parts[1])
|
35
|
+
case parts.count
|
36
|
+
when 3
|
37
|
+
male_prefix, male_first_name, last_name = parts
|
42
38
|
|
43
|
-
|
44
|
-
|
39
|
+
assert_include @tester::PREFIX_MALE, male_prefix
|
40
|
+
assert_include @tester::FIRST_NAMES_MALE, male_first_name
|
41
|
+
assert_include @tester::LAST_NAMES, last_name
|
42
|
+
when 2
|
43
|
+
male_first_name, last_name = parts
|
45
44
|
|
46
|
-
|
47
|
-
|
48
|
-
assert FFaker::NameSN::FIRST_NAMES_MALE.include?(parts[0])
|
49
|
-
|
50
|
-
# the value at the index 1 should be a valid! last_name
|
51
|
-
assert FFaker::NameSN::LAST_NAMES.include?(parts[1])
|
45
|
+
assert_include @tester::FIRST_NAMES_MALE, male_first_name
|
46
|
+
assert_include @tester::LAST_NAMES, last_name
|
52
47
|
end
|
53
48
|
end
|
54
49
|
|
55
50
|
def test_name_female
|
56
|
-
# => split the name_female into an array of words
|
57
51
|
parts = @tester.name_female.split(' ')
|
52
|
+
assert_include [2, 3], parts.count
|
58
53
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
# the value at the index 1 should be a valid! male_first_name
|
64
|
-
assert FFaker::NameSN::FIRST_NAMES_FEMALE.include?(parts[1])
|
54
|
+
case parts.count
|
55
|
+
when 3
|
56
|
+
female_prefix, female_first_name, last_name = parts
|
65
57
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
58
|
+
assert_include @tester::PREFIX_FEMALE, female_prefix
|
59
|
+
assert_include @tester::FIRST_NAMES_FEMALE, female_first_name
|
60
|
+
assert_include @tester::LAST_NAMES, last_name
|
61
|
+
when 2
|
62
|
+
female_first_name, last_name = parts
|
71
63
|
|
72
|
-
|
73
|
-
|
64
|
+
assert_include @tester::FIRST_NAMES_FEMALE, female_first_name
|
65
|
+
assert_include @tester::LAST_NAMES, last_name
|
74
66
|
end
|
75
67
|
end
|
76
68
|
|
77
69
|
def test_senegalese_name
|
78
|
-
# => split the name into an array of words
|
79
70
|
parts = @tester.name_sn.split(' ')
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
assert FFaker::NameSN::FIRST_NAMES_FEMALE.include?(parts[0]) || FFaker::NameSN::FIRST_NAMES_MALE.include?(parts[0])
|
93
|
-
|
94
|
-
# the value at the index 0 should be a valid! firstname male or female
|
95
|
-
assert FFaker::NameSN::LAST_NAMES.include?(parts[1])
|
71
|
+
assert_include [2, 3], parts.count
|
72
|
+
|
73
|
+
case parts.count
|
74
|
+
when 3
|
75
|
+
prefix, first_name, last_name = parts
|
76
|
+
assert_include(@tester::PREFIX_FEMALE + @tester::PREFIX_MALE, prefix)
|
77
|
+
assert_include(@tester::FIRST_NAMES_FEMALE + @tester::FIRST_NAMES_MALE, first_name)
|
78
|
+
assert_include @tester::LAST_NAMES, last_name
|
79
|
+
when 2
|
80
|
+
first_name, last_name = parts
|
81
|
+
assert_include(@tester::FIRST_NAMES_FEMALE + @tester::FIRST_NAMES_MALE, first_name)
|
82
|
+
assert_include @tester::LAST_NAMES, last_name
|
96
83
|
end
|
97
84
|
end
|
98
85
|
end
|
data/test/test_name_th.rb
CHANGED
@@ -3,27 +3,25 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerNameTH < Test::Unit::TestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
@tester = FFaker::NameTH
|
9
8
|
end
|
10
9
|
|
11
10
|
def test_last_name
|
12
|
-
|
11
|
+
assert_include @tester::LAST_NAMES, @tester.last_name
|
13
12
|
end
|
14
13
|
|
15
14
|
def test_first_name
|
16
|
-
|
15
|
+
assert_include @tester::FIRST_NAMES, @tester.first_name
|
17
16
|
end
|
18
17
|
|
19
18
|
def test_nick_name
|
20
|
-
|
19
|
+
assert_include @tester::NICK_NAMES, @tester.nick_name
|
21
20
|
end
|
22
21
|
|
23
22
|
def test_name
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
first_name, last_name = @tester.name.split(' ')
|
24
|
+
assert_include @tester::FIRST_NAMES, first_name
|
25
|
+
assert_include @tester::LAST_NAMES, last_name
|
27
26
|
end
|
28
|
-
|
29
|
-
end
|
27
|
+
end
|
data/test/test_phone_number.rb
CHANGED
@@ -10,4 +10,13 @@ class TestPhoneNumer < Test::Unit::TestCase
|
|
10
10
|
def test_short_phone_number
|
11
11
|
assert_match /\d{3}-\d{3}-\d{4}/, FFaker::PhoneNumber.short_phone_number
|
12
12
|
end
|
13
|
+
|
14
|
+
def test_imei
|
15
|
+
assert_match /^\d{15}$/, FFaker::PhoneNumber.imei
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_imei_with_sn
|
19
|
+
sn = rand(1_000_000)
|
20
|
+
assert_match /^\d{8}#{sprintf('%06d', sn)}\d{1}$/, FFaker::PhoneNumber.imei(sn)
|
21
|
+
end
|
13
22
|
end
|
data/test/test_sports.rb
ADDED
data/test/test_string.rb
CHANGED
@@ -6,66 +6,76 @@ class TestString < Test::Unit::TestCase
|
|
6
6
|
FS = FFaker::String
|
7
7
|
|
8
8
|
def test_atoms
|
9
|
-
assert_equal
|
9
|
+
assert_equal 'abc', FS.from_regexp(/abc/)
|
10
10
|
end
|
11
11
|
|
12
12
|
def test_digits
|
13
|
-
assert_match
|
13
|
+
assert_match(/\A\d\d\d\z/, FS.from_regexp(/\d\d\d/))
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_word_characters
|
17
|
-
assert_match
|
17
|
+
assert_match(/\A\w\w\w\z/, FS.from_regexp(/\w\w\w/))
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_word_range_character
|
21
|
+
assert_match(/\A[a-z]\z/, FS.from_regexp(/[a-z]/))
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_dash_character
|
25
|
+
assert_match(/\A[a-z-]\z/, FS.from_regexp(/[a-z-]/))
|
26
|
+
assert_match(/\A[a-]\z/, FS.from_regexp(/[a-]/))
|
27
|
+
assert_match(/\A[-]\z/, FS.from_regexp(/[-]/))
|
18
28
|
end
|
19
29
|
|
20
30
|
def test_spaces
|
21
|
-
assert_match
|
31
|
+
assert_match(/\A\s\s\s\z/, FS.from_regexp(/\s\s\s/))
|
22
32
|
end
|
23
33
|
|
24
34
|
def test_escaped_characters
|
25
|
-
assert_equal
|
35
|
+
assert_equal '\\/.()[]{}', FS.from_regexp(/\\\/\.\(\)\[\]\{\}/)
|
26
36
|
end
|
27
37
|
|
28
38
|
def test_atom_sets
|
29
|
-
|
39
|
+
assert_include %w(a b c), FS.from_regexp(/[abc]/)
|
30
40
|
end
|
31
41
|
|
32
42
|
def test_special_sets
|
33
|
-
assert_match
|
43
|
+
assert_match(/\A[\w\d]\z/, FS.from_regexp(/[\w\d]/))
|
34
44
|
end
|
35
45
|
|
36
46
|
def test_atom_question
|
37
|
-
assert_match
|
47
|
+
assert_match(/\Aa?\z/, FS.from_regexp(/a?/))
|
38
48
|
end
|
39
49
|
|
40
50
|
def test_special_question
|
41
|
-
assert_match
|
51
|
+
assert_match(/\A\w?\z/, FS.from_regexp(/\w?/))
|
42
52
|
end
|
43
53
|
|
44
54
|
def test_set_question
|
45
|
-
assert_match
|
55
|
+
assert_match(/\A[abc]?\z/, FS.from_regexp(/[abc]?/))
|
46
56
|
end
|
47
57
|
|
48
58
|
def test_atom_plus
|
49
|
-
assert_match
|
59
|
+
assert_match(/\Aa+\z/, FS.from_regexp(/a+/))
|
50
60
|
end
|
51
61
|
|
52
62
|
def test_special_plus
|
53
|
-
assert_match
|
63
|
+
assert_match(/\A\w+\z/, FS.from_regexp(/\w+/))
|
54
64
|
end
|
55
65
|
|
56
66
|
def test_set_plus
|
57
|
-
assert_match
|
67
|
+
assert_match(/\A[abc]+\z/, FS.from_regexp(/[abc]+/))
|
58
68
|
end
|
59
69
|
|
60
70
|
def test_atom_star
|
61
|
-
assert_match
|
71
|
+
assert_match(/\Aa*\z/, FS.from_regexp(/a*/))
|
62
72
|
end
|
63
73
|
|
64
74
|
def test_special_star
|
65
|
-
assert_match
|
75
|
+
assert_match(/\A\w*\z/, FS.from_regexp(/\w*/))
|
66
76
|
end
|
67
77
|
|
68
78
|
def test_set_star
|
69
|
-
assert_match
|
79
|
+
assert_match(/\A[abc]*\z/, FS.from_regexp(/[abc]*/))
|
70
80
|
end
|
71
81
|
end
|