ffaker 2.2.0 → 2.3.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 +34 -0
- data/README.md +4 -0
- data/REFERENCE.md +1153 -800
- data/Rakefile +23 -24
- data/ffaker.gemspec +12 -420
- data/lib/ffaker.rb +47 -7
- data/lib/ffaker/address.rb +11 -11
- data/lib/ffaker/address_au.rb +60 -60
- data/lib/ffaker/address_br.rb +5 -5
- data/lib/ffaker/address_ca.rb +7 -7
- data/lib/ffaker/address_ch.rb +1 -2
- data/lib/ffaker/address_ch_de.rb +1 -1
- data/lib/ffaker/address_ch_fr.rb +1 -1
- data/lib/ffaker/address_ch_it.rb +1 -1
- data/lib/ffaker/address_da.rb +5 -5
- data/lib/ffaker/address_de.rb +16 -12
- data/lib/ffaker/address_fi.rb +7 -8
- data/lib/ffaker/address_fr.rb +13 -13
- data/lib/ffaker/address_gr.rb +40 -0
- data/lib/ffaker/address_in.rb +12 -12
- data/lib/ffaker/address_kr.rb +87 -0
- data/lib/ffaker/address_mx.rb +409 -409
- data/lib/ffaker/address_nl.rb +17 -13
- data/lib/ffaker/address_ru.rb +6 -6
- data/lib/ffaker/address_se.rb +7 -8
- data/lib/ffaker/address_sn.rb +3 -3
- data/lib/ffaker/address_ua.rb +8 -8
- data/lib/ffaker/address_uk.rb +5 -5
- data/lib/ffaker/address_us.rb +9 -9
- data/lib/ffaker/airline.rb +16 -0
- data/lib/ffaker/avatar.rb +3 -3
- data/lib/ffaker/aws.rb +24 -0
- data/lib/ffaker/bacon_ipsum.rb +2 -2
- data/lib/ffaker/book.rb +45 -0
- data/lib/ffaker/boolean.rb +2 -2
- data/lib/ffaker/cheesy_lingo.rb +15 -12
- data/lib/ffaker/color.rb +54 -1
- data/lib/ffaker/color_ua.rb +1 -1
- data/lib/ffaker/company.rb +13 -11
- data/lib/ffaker/company_cn.rb +23 -0
- data/lib/ffaker/company_it.rb +4 -4
- data/lib/ffaker/company_se.rb +2 -2
- data/lib/ffaker/conference.rb +1 -1
- data/lib/ffaker/courses.rb +2 -3
- data/lib/ffaker/currency.rb +2 -2
- data/lib/ffaker/data/address_gr/city +79 -0
- data/lib/ffaker/data/address_gr/region +13 -0
- data/lib/ffaker/data/address_gr/street +100 -0
- data/lib/ffaker/data/address_kr/boroughs +29 -0
- data/lib/ffaker/data/address_kr/cities +51 -0
- data/lib/ffaker/data/airline/codes_list +209 -0
- data/lib/ffaker/data/airline/names_list +206 -0
- data/lib/ffaker/data/aws/ec2_instance_type +59 -0
- data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +3 -0
- data/lib/ffaker/data/aws/ec2_reserved_offering_type +6 -0
- data/lib/ffaker/data/aws/ec2_reserved_product_description +14 -0
- data/lib/ffaker/data/book/adj_and_adv +20 -0
- data/lib/ffaker/data/book/genres +369 -0
- data/lib/ffaker/data/book/nouns +36 -0
- data/lib/ffaker/data/book/prefixes +17 -0
- data/lib/ffaker/data/color/names_list +128 -0
- data/lib/ffaker/data/education/degree_prefix +274 -0
- data/lib/ffaker/data/education/degree_short_prefix +19 -0
- data/lib/ffaker/data/job_br/job_nouns +52 -0
- data/lib/ffaker/data/job_vn/job_nouns +191 -0
- data/lib/ffaker/data/lorem_ja/characters +101 -0
- data/lib/ffaker/data/lorem_ja/sentences +30 -0
- data/lib/ffaker/data/lorem_ja/sentences_end +21 -0
- data/lib/ffaker/data/lorem_ja/words +81 -0
- data/lib/ffaker/data/name/first_names_female +4275 -0
- data/lib/ffaker/data/name/first_names_male +1219 -0
- data/lib/ffaker/data/name_br/first_names_female +1068 -0
- data/lib/ffaker/data/name_br/first_names_male +607 -0
- data/lib/ffaker/data/name_br/last_names +52 -0
- data/lib/ffaker/data/name_gr/female_first_names +80 -0
- data/lib/ffaker/data/name_gr/female_last_names +45 -0
- data/lib/ffaker/data/name_gr/male_first_names +90 -0
- data/lib/ffaker/data/name_gr/male_last_names +57 -0
- data/lib/ffaker/data/name_kh/first_names +64 -0
- data/lib/ffaker/data/name_kh/last_names +71 -0
- data/lib/ffaker/data/name_kh/nick_names +30 -0
- data/lib/ffaker/data/name_then/first_names +292 -0
- data/lib/ffaker/data/name_then/last_names +63 -0
- data/lib/ffaker/data/name_then/nick_names +30 -0
- data/lib/ffaker/data/phone_number/phone_calling_code +205 -0
- data/lib/ffaker/data/sport/names +57 -24
- data/lib/ffaker/data/tweet/hashtag +58 -0
- data/lib/ffaker/data/youtube/video_ids +50 -0
- data/lib/ffaker/dizzle_ipsum.rb +2 -2
- data/lib/ffaker/education.rb +17 -16
- data/lib/ffaker/food.rb +5 -6
- data/lib/ffaker/gender.rb +4 -4
- data/lib/ffaker/gender_br.rb +17 -0
- data/lib/ffaker/gender_cn.rb +4 -4
- data/lib/ffaker/gender_kr.rb +4 -4
- data/lib/ffaker/geolocation.rb +26 -26
- data/lib/ffaker/healthcare_ipsum.rb +2 -2
- data/lib/ffaker/hipster_ipsum.rb +2 -2
- data/lib/ffaker/html_ipsum.rb +101 -81
- data/lib/ffaker/identification.rb +4 -4
- data/lib/ffaker/identification_br.rb +84 -0
- data/lib/ffaker/identification_es.rb +2 -2
- data/lib/ffaker/identification_es_cl.rb +7 -5
- data/lib/ffaker/identification_es_co.rb +9 -10
- data/lib/ffaker/identification_kr.rb +3 -4
- data/lib/ffaker/identification_mx.rb +27 -11
- data/lib/ffaker/internet.rb +26 -23
- data/lib/ffaker/internet_se.rb +21 -21
- data/lib/ffaker/job.rb +1 -1
- data/lib/ffaker/job_br.rb +12 -0
- data/lib/ffaker/job_cn.rb +1 -1
- data/lib/ffaker/job_fr.rb +3 -3
- data/lib/ffaker/job_ja.rb +2 -1
- data/lib/ffaker/job_kr.rb +1 -1
- data/lib/ffaker/job_vn.rb +13 -0
- data/lib/ffaker/locale.rb +2 -3
- data/lib/ffaker/lorem.rb +5 -5
- data/lib/ffaker/lorem_ar.rb +4 -4
- data/lib/ffaker/lorem_cn.rb +3 -3
- data/lib/ffaker/lorem_fr.rb +4 -4
- data/lib/ffaker/lorem_ja.rb +40 -0
- data/lib/ffaker/lorem_kr.rb +4 -4
- data/lib/ffaker/lorem_ua.rb +8 -11
- data/lib/ffaker/movie.rb +18 -20
- data/lib/ffaker/music.rb +4 -4
- data/lib/ffaker/name.rb +100 -11
- data/lib/ffaker/name_br.rb +37 -6
- data/lib/ffaker/name_cn.rb +2 -2
- data/lib/ffaker/name_cs.rb +10 -10
- data/lib/ffaker/name_da.rb +6 -6
- data/lib/ffaker/name_de.rb +5 -5
- data/lib/ffaker/name_fr.rb +4 -4
- data/lib/ffaker/name_ga.rb +4 -5
- data/lib/ffaker/name_gr.rb +60 -0
- data/lib/ffaker/name_it.rb +4 -4
- data/lib/ffaker/name_ja.rb +3 -3
- data/lib/ffaker/name_kh.rb +22 -0
- data/lib/ffaker/name_kr.rb +3 -3
- data/lib/ffaker/name_mx.rb +14 -14
- data/lib/ffaker/name_nb.rb +5 -5
- data/lib/ffaker/name_nl.rb +7 -7
- data/lib/ffaker/name_ph.rb +2 -2
- data/lib/ffaker/name_ru.rb +7 -8
- data/lib/ffaker/name_se.rb +5 -5
- data/lib/ffaker/name_sn.rb +23 -23
- data/lib/ffaker/name_th.rb +3 -3
- data/lib/ffaker/name_th_en.rb +26 -0
- data/lib/ffaker/name_ua.rb +8 -8
- data/lib/ffaker/name_vn.rb +4 -4
- data/lib/ffaker/nato_alphabet.rb +10 -10
- data/lib/ffaker/phone_number.rb +31 -21
- data/lib/ffaker/phone_number_au.rb +3 -3
- data/lib/ffaker/phone_number_br.rb +9 -8
- data/lib/ffaker/phone_number_ch.rb +7 -7
- data/lib/ffaker/phone_number_cu.rb +5 -5
- data/lib/ffaker/phone_number_de.rb +1 -1
- data/lib/ffaker/phone_number_fr.rb +4 -4
- data/lib/ffaker/phone_number_it.rb +2 -2
- data/lib/ffaker/phone_number_kr.rb +4 -4
- data/lib/ffaker/phone_number_mx.rb +4 -5
- data/lib/ffaker/phone_number_nl.rb +13 -13
- data/lib/ffaker/phone_number_se.rb +18 -19
- data/lib/ffaker/phone_number_sg.rb +8 -8
- data/lib/ffaker/phone_number_sn.rb +2 -2
- data/lib/ffaker/product.rb +18 -14
- data/lib/ffaker/skill.rb +3 -3
- data/lib/ffaker/sport.rb +1 -1
- data/lib/ffaker/ssn_se.rb +19 -20
- data/lib/ffaker/string.rb +21 -23
- data/lib/ffaker/time.rb +19 -7
- data/lib/ffaker/tweet.rb +59 -0
- data/lib/ffaker/unit.rb +12 -12
- data/lib/ffaker/unit_english.rb +34 -35
- data/lib/ffaker/unit_metric.rb +25 -25
- data/lib/ffaker/utils/array_utils.rb +12 -9
- data/lib/ffaker/utils/module_utils.rb +9 -6
- data/lib/ffaker/utils/random_utils.rb +33 -0
- data/lib/ffaker/vehicle.rb +21 -21
- data/lib/ffaker/venue.rb +1 -1
- data/lib/ffaker/youtube.rb +24 -0
- data/scripts/benchmark.rb +3 -3
- data/scripts/reference.rb +26 -23
- data/test/helper.rb +50 -0
- data/test/test_address.rb +40 -21
- data/test/test_address_au.rb +19 -9
- data/test/test_address_br.rb +9 -2
- data/test/test_address_ca.rb +7 -0
- data/test/test_address_ch.rb +6 -2
- data/test/test_address_ch_de.rb +7 -3
- data/test/test_address_ch_fr.rb +7 -3
- data/test/test_address_ch_it.rb +5 -1
- data/test/test_address_da.rb +18 -9
- data/test/test_address_de.rb +12 -5
- data/test/test_address_fi.rb +10 -3
- data/test/test_address_fr.rb +13 -0
- data/test/test_address_gr.rb +43 -0
- data/test/test_address_in.rb +20 -12
- data/test/test_address_kr.rb +14 -0
- data/test/test_address_mx.rb +12 -5
- data/test/test_address_nl.rb +11 -5
- data/test/test_address_ru.rb +11 -5
- data/test/test_address_se.rb +9 -3
- data/test/test_address_sn.rb +7 -1
- data/test/test_address_ua.rb +17 -10
- data/test/test_address_uk.rb +11 -3
- data/test/test_address_us.rb +15 -6
- data/test/test_airline.rb +17 -0
- data/test/test_array_utils.rb +51 -3
- data/test/test_avatar.rb +5 -1
- data/test/test_aws.rb +25 -0
- data/test/test_bacon_ipsum.rb +12 -6
- data/test/test_book.rb +41 -0
- data/test/test_boolean.rb +4 -0
- data/test/test_cheesy_lingo.rb +14 -10
- data/test/test_color.rb +126 -1
- data/test/test_color_ua.rb +5 -1
- data/test/test_company.rb +7 -0
- data/test/test_company_cn.rb +24 -0
- data/test/test_company_it.rb +7 -1
- data/test/test_company_se.rb +6 -0
- data/test/test_conference.rb +5 -2
- data/test/test_course_mathematiques.rb +5 -1
- data/test/test_course_philosophie.rb +5 -1
- data/test/test_currency.rb +12 -0
- data/test/test_dizzle_ipsum.rb +12 -6
- data/test/test_education.rb +9 -2
- data/test/test_faker.rb +8 -1
- data/test/test_food.rb +11 -4
- data/test/test_gender.rb +5 -1
- data/test/test_gender_br.rb +18 -0
- data/test/test_gender_cn.rb +5 -2
- data/test/test_gender_kr.rb +7 -3
- data/test/test_geolocation.rb +11 -8
- data/test/test_guid.rb +6 -1
- data/test/test_healthcare_ipsum.rb +13 -6
- data/test/test_hipster_ipsum.rb +13 -6
- data/test/test_html_ipsum.rb +28 -20
- data/test/test_identification.rb +9 -2
- data/test/test_identification_br.rb +46 -0
- data/test/test_identification_co.rb +7 -0
- data/test/test_identification_es.rb +5 -1
- data/test/test_identification_es_cl.rb +5 -1
- data/test/test_identification_es_mx.rb +7 -2
- data/test/test_identification_kr.rb +4 -0
- data/test/test_internet.rb +36 -5
- data/test/test_internet_se.rb +12 -4
- data/test/test_job.rb +4 -0
- data/test/test_job_br.rb +17 -0
- data/test/test_job_cn.rb +4 -0
- data/test/test_job_fr.rb +4 -0
- data/test/test_job_ja.rb +4 -0
- data/test/test_job_kr.rb +4 -0
- data/test/test_job_vn.rb +22 -0
- data/test/test_locale.rb +10 -4
- data/test/test_lorem.rb +18 -11
- data/test/test_lorem_ar.rb +16 -8
- data/test/test_lorem_cn.rb +9 -2
- data/test/test_lorem_fr.rb +16 -8
- data/test/test_lorem_ja.rb +81 -0
- data/test/test_lorem_kr.rb +17 -8
- data/test/test_lorem_ua.rb +15 -8
- data/test/test_module_utils.rb +2 -2
- data/test/test_movie.rb +5 -1
- data/test/test_music.rb +11 -4
- data/test/test_name.rb +114 -1
- data/test/test_name_br.rb +41 -2
- data/test/test_name_cn.rb +7 -0
- data/test/test_name_cs.rb +7 -0
- data/test/test_name_da.rb +13 -6
- data/test/test_name_de.rb +4 -0
- data/test/test_name_fr.rb +7 -0
- data/test/test_name_ga.rb +7 -0
- data/test/test_name_gr.rb +70 -0
- data/test/test_name_it.rb +7 -0
- data/test/test_name_ja.rb +7 -0
- data/test/test_name_kh.rb +32 -0
- data/test/test_name_kr.rb +7 -0
- data/test/test_name_mx.rb +9 -0
- data/test/test_name_nb.rb +8 -0
- data/test/test_name_nl.rb +4 -0
- data/test/test_name_ph.rb +7 -0
- data/test/test_name_ru.rb +10 -3
- data/test/test_name_se.rb +12 -4
- data/test/test_name_sn.rb +8 -0
- data/test/test_name_th.rb +7 -0
- data/test/test_name_th_en.rb +35 -0
- data/test/test_name_ua.rb +26 -17
- data/test/test_name_vn.rb +42 -0
- data/test/test_nato_alphabet.rb +15 -4
- data/test/test_phone_number.rb +24 -6
- data/test/test_phone_number_au.rb +17 -6
- data/test/test_phone_number_br.rb +22 -13
- data/test/test_phone_number_cu.rb +29 -18
- data/test/test_phone_number_da.rb +16 -7
- data/test/test_phone_number_de.rb +17 -9
- data/test/test_phone_number_kr.rb +9 -0
- data/test/test_phone_number_mx.rb +16 -8
- data/test/test_phone_number_nl.rb +9 -2
- data/test/test_phone_number_se.rb +12 -7
- data/test/test_phone_number_sg.rb +17 -9
- data/test/test_phone_number_sn.rb +12 -4
- data/test/test_products.rb +22 -0
- data/test/test_skill.rb +8 -2
- data/test/test_sports.rb +4 -0
- data/test/test_ssn.rb +3 -1
- data/test/test_ssn_mx.rb +6 -1
- data/test/test_ssn_se.rb +3 -0
- data/test/test_string.rb +28 -1
- data/test/test_time.rb +33 -2
- data/test/test_tweet.rb +59 -0
- data/test/test_units.rb +7 -0
- data/test/test_units_english.rb +9 -0
- data/test/test_units_metric.rb +9 -0
- data/test/test_vehicle.rb +24 -15
- data/test/test_venue.rb +5 -1
- data/test/test_youtube.rb +28 -0
- metadata +101 -5
- data/lib/ffaker/data/name/first_names +0 -3008
- data/lib/ffaker/data/name_br/first_names +0 -91
data/test/test_html_ipsum.rb
CHANGED
@@ -3,24 +3,32 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestHTMLIpsum < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::HTMLIpsum,
|
10
|
+
:a, :p, :dl, :ul_short, :ul_long, :ol_short, :ol_long, :ul_links,
|
11
|
+
:table, :body, :fancy_string
|
12
|
+
)
|
13
|
+
|
6
14
|
def setup
|
7
15
|
@tester = FFaker::HTMLIpsum
|
8
16
|
end
|
9
17
|
|
10
18
|
def test_a
|
11
|
-
assert_match
|
19
|
+
assert_match(/^<a href="#\w+" title="[ \w]+">[ \w]+<\/a>$/i, FFaker::HTMLIpsum.a)
|
12
20
|
end
|
13
21
|
|
14
22
|
def test_p
|
15
23
|
# We can't predict the number of times the sentence pattern will repeat
|
16
24
|
# because the FFaker::Lorem methods that we are using adds a random
|
17
25
|
# number on top of what we specify for the count argument.
|
18
|
-
assert_match
|
26
|
+
assert_match(/^<p>([ \w]+\.)+<\/p>$/i, FFaker::HTMLIpsum.p)
|
19
27
|
end
|
20
28
|
|
21
29
|
def test_p_breaks
|
22
30
|
# Here we can at least test how many <br> tags there are.
|
23
|
-
assert_match
|
31
|
+
assert_match(/^<p>(?:[ \w\.]+<br>){2}[ \w\.]+<\/p>$/i, FFaker::HTMLIpsum.p(3, include_breaks: true))
|
24
32
|
end
|
25
33
|
|
26
34
|
def test_p_fancy
|
@@ -28,64 +36,64 @@ class TestHTMLIpsum < Test::Unit::TestCase
|
|
28
36
|
# because the FFaker::Lorem methods that we are using adds a random
|
29
37
|
# number on top of what we specify for the count argument. We also have to
|
30
38
|
# account for the other HTML that is being returned.
|
31
|
-
str = FFaker::HTMLIpsum.p(5,
|
32
|
-
assert_match
|
33
|
-
assert_match
|
34
|
-
assert str.length > 6,
|
39
|
+
str = FFaker::HTMLIpsum.p(5, fancy: true)
|
40
|
+
assert_match(/^<p>/, str)
|
41
|
+
assert_match(/<\/p>$/, str)
|
42
|
+
assert str.length > 6, 'string contains more than <p></p>'
|
35
43
|
end
|
36
44
|
|
37
45
|
def test_p_fancy_breaks
|
38
46
|
# Here we can at least test how many <br> tags there are. We also have to
|
39
47
|
# account for the other HTML that is being returned.
|
40
|
-
str = FFaker::HTMLIpsum.p(10,
|
41
|
-
assert_equal 10, str.split(
|
48
|
+
str = FFaker::HTMLIpsum.p(10, fancy: true, include_breaks: true)
|
49
|
+
assert_equal 10, str.split('<br>').length
|
42
50
|
end
|
43
51
|
|
44
52
|
def test_dl
|
45
|
-
assert_match
|
53
|
+
assert_match(/^<dl>(<dt>[ \w]+<\/dt><dd>[ \w.]+<\/dd>){3}<\/dl>$/i, FFaker::HTMLIpsum.dl(3))
|
46
54
|
end
|
47
55
|
|
48
56
|
def test_ul_short
|
49
|
-
assert_match
|
57
|
+
assert_match(/^<ul>(<li>[ \w.]+<\/li>){3}<\/ul>$/i, FFaker::HTMLIpsum.ul_short(3))
|
50
58
|
end
|
51
59
|
|
52
60
|
def test_ul_long
|
53
|
-
assert_match
|
61
|
+
assert_match(/^<ul>(<li>[ \w.]+<\/li>){3}<\/ul>$/i, FFaker::HTMLIpsum.ul_long(3))
|
54
62
|
end
|
55
63
|
|
56
64
|
def test_ol_short
|
57
|
-
assert_match
|
65
|
+
assert_match(/^<ol>(<li>[ \w.]+<\/li>){3}<\/ol>$/i, FFaker::HTMLIpsum.ol_short(3))
|
58
66
|
end
|
59
67
|
|
60
68
|
def test_ol_long
|
61
|
-
assert_match
|
69
|
+
assert_match(/^<ol>(<li>[ \w.]+<\/li>){3}<\/ol>$/i, FFaker::HTMLIpsum.ol_long(3))
|
62
70
|
end
|
63
71
|
|
64
72
|
def test_ul_links
|
65
|
-
assert_match
|
73
|
+
assert_match(/^<ul>(<li><a href="#\w+" title="\w+">[ \w]+<\/a><\/li>){3}<\/ul>$/i, FFaker::HTMLIpsum.ul_links(3))
|
66
74
|
end
|
67
75
|
|
68
76
|
def test_table
|
69
|
-
assert_match
|
77
|
+
assert_match(/(<td>[ \w]+<\/td>\s*){3}/i, FFaker::HTMLIpsum.table(3))
|
70
78
|
end
|
71
79
|
|
72
80
|
def test_body
|
73
81
|
# We can't reliably predict what's going to end up inside, so just ensure
|
74
82
|
# that we have a complete string.
|
75
|
-
assert_match
|
83
|
+
assert_match(/^<h1>.+<\/pre>$/im, FFaker::HTMLIpsum.body)
|
76
84
|
end
|
77
85
|
|
78
86
|
def test_fancy_string
|
79
87
|
# We can't reliably predict what's going to end up inside, so just ensure
|
80
88
|
# that we have a complete string.
|
81
|
-
assert FFaker::HTMLIpsum.fancy_string.is_a?(String),
|
82
|
-
assert FFaker::HTMLIpsum.fancy_string.length > 1,
|
89
|
+
assert FFaker::HTMLIpsum.fancy_string.is_a?(String), 'returns a string'
|
90
|
+
assert FFaker::HTMLIpsum.fancy_string.length > 1, 'the string is longer than one char'
|
83
91
|
end
|
84
92
|
|
85
93
|
def test_fancy_string_breaks
|
86
94
|
# We can't reliably predict what's going to end up inside, so just ensure
|
87
95
|
# that we have a complete string.
|
88
96
|
str = FFaker::HTMLIpsum.fancy_string(3, true)
|
89
|
-
assert_equal 3, str.split(
|
97
|
+
assert_equal 3, str.split('<br>').length
|
90
98
|
end
|
91
99
|
end
|
data/test/test_identification.rb
CHANGED
@@ -3,6 +3,13 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerIdentification < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::Identification,
|
10
|
+
:drivers_license, :ssn, :gender, :ethnicity
|
11
|
+
)
|
12
|
+
|
6
13
|
def setup
|
7
14
|
@tester = FFaker::Identification
|
8
15
|
end
|
@@ -10,7 +17,7 @@ class TestFakerIdentification < Test::Unit::TestCase
|
|
10
17
|
def test_drivers_license
|
11
18
|
###-###-##-###-#
|
12
19
|
drivers_license_regex = /\A[A-Z]\d{3}-\d{3}-\d{2}-\d{3}-\d{1}\z/
|
13
|
-
assert_match
|
20
|
+
assert_match(drivers_license_regex, @tester.drivers_license)
|
14
21
|
end
|
15
22
|
|
16
23
|
def test_ssn
|
@@ -23,6 +30,6 @@ class TestFakerIdentification < Test::Unit::TestCase
|
|
23
30
|
|
24
31
|
def test_ethnicity
|
25
32
|
ethnicity_regex = /\A(African American|Asian\/Pacific Islander|Caucasian|Hispanic|Native American|Multiracial|Other|Prefer not to respond)\z/
|
26
|
-
assert_match
|
33
|
+
assert_match(ethnicity_regex, @tester.ethnicity)
|
27
34
|
end
|
28
35
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestFakerIdentificationBR < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::IdentificationBR,
|
10
|
+
:cpf, :pretty_cpf, :cnpj, :pretty_cnpj, :rg, :pretty_rg, :gender
|
11
|
+
)
|
12
|
+
|
13
|
+
def setup
|
14
|
+
@tester = FFaker::IdentificationBR
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_cpf
|
18
|
+
cpf = @tester.cpf
|
19
|
+
verification_digits = @tester.cpf_verification_digits(cpf[0..8])
|
20
|
+
assert(cpf[9..10] == verification_digits.join)
|
21
|
+
assert_match(/\A\d{11}\z/, cpf)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_pretty_cpf
|
25
|
+
assert_match(/\A\d{3}\.\d{3}\.\d{3}-\d{2}\z/, @tester.pretty_cpf)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_cnpj
|
29
|
+
cnpj = @tester.cnpj
|
30
|
+
verification_digits = @tester.cnpj_verification_digits(cnpj[0..11])
|
31
|
+
assert(cnpj[12..13] == verification_digits.join)
|
32
|
+
assert_match(/\A\d{14}\z/, cnpj)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_pretty_cnpj
|
36
|
+
assert_match(%r{\A\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}\z}, @tester.pretty_cnpj)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_rg
|
40
|
+
assert_match(/\A\d{9}\z/, @tester.rg)
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_gender
|
44
|
+
assert_match(/\A(Feminino|Masculino)\z/, @tester.gender)
|
45
|
+
end
|
46
|
+
end
|
@@ -2,6 +2,13 @@ require 'helper'
|
|
2
2
|
|
3
3
|
class TestFakerIdentificationESCO < Test::Unit::TestCase
|
4
4
|
include Test::Unit::Assertions
|
5
|
+
include DeterministicHelper
|
6
|
+
|
7
|
+
assert_methods_are_deterministic(
|
8
|
+
FFaker::IdentificationESCO,
|
9
|
+
:drivers_license, :driver_license_category, :blood_type, :expedition_date
|
10
|
+
)
|
11
|
+
|
5
12
|
def setup
|
6
13
|
@tester = FFaker::IdentificationESCO
|
7
14
|
end
|
@@ -3,11 +3,15 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerIdentificationES < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(FFaker::IdentificationES, :gender)
|
9
|
+
|
6
10
|
def setup
|
7
11
|
@tester = FFaker::IdentificationES
|
8
12
|
end
|
9
13
|
|
10
14
|
def test_gender
|
11
|
-
assert_match
|
15
|
+
assert_match(/(Hombre|Mujer)/, @tester.gender)
|
12
16
|
end
|
13
17
|
end
|
@@ -3,11 +3,15 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerIdentificationESCL < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(FFaker::IdentificationESCL, :rut)
|
9
|
+
|
6
10
|
def setup
|
7
11
|
@tester = FFaker::IdentificationESCL
|
8
12
|
end
|
9
13
|
|
10
14
|
def test_rut
|
11
|
-
assert_match
|
15
|
+
assert_match(/\b\d{7,8}\-[k|0-9]/i, @tester.rut)
|
12
16
|
end
|
13
17
|
end
|
@@ -4,6 +4,12 @@ require 'helper'
|
|
4
4
|
|
5
5
|
# Author Guapolo <github.com/guapolo>
|
6
6
|
class TestIdentificationMX < Test::Unit::TestCase
|
7
|
+
include DeterministicHelper
|
8
|
+
|
9
|
+
assert_methods_are_deterministic(
|
10
|
+
FFaker::IdentificationMX,
|
11
|
+
:rfc_persona_moral, :rfc_persona_fisica, :curp
|
12
|
+
)
|
7
13
|
|
8
14
|
def test_rfc_persona_moral
|
9
15
|
re = /\A[a-zñÑ&]{3}\d{2}[0-1][0-9][0-3][0-9][a-z0-9]{3}\z/i
|
@@ -16,9 +22,8 @@ class TestIdentificationMX < Test::Unit::TestCase
|
|
16
22
|
end
|
17
23
|
|
18
24
|
def test_curp
|
19
|
-
or_curp_states_abbr = FFaker::IdentificationMX::ESTADOS_CURP.join(
|
25
|
+
or_curp_states_abbr = FFaker::IdentificationMX::ESTADOS_CURP.join('|')
|
20
26
|
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
27
|
assert_match(re, FFaker::IdentificationMX.curp)
|
22
28
|
end
|
23
|
-
|
24
29
|
end
|
data/test/test_internet.rb
CHANGED
@@ -3,6 +3,15 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerInternet < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::Internet,
|
10
|
+
:email, :free_email, :safe_email, :disposable_email,
|
11
|
+
:user_name, :domain_name, :domain_word, :domain_suffix,
|
12
|
+
:http_url, :ip_v4_address, :password, :slug, :mac
|
13
|
+
)
|
14
|
+
|
6
15
|
def setup
|
7
16
|
@tester = FFaker::Internet
|
8
17
|
end
|
@@ -48,9 +57,13 @@ class TestFakerInternet < Test::Unit::TestCase
|
|
48
57
|
end
|
49
58
|
|
50
59
|
def test_uri
|
51
|
-
assert @tester.uri(
|
52
|
-
assert @tester.uri(
|
53
|
-
assert @tester.uri(
|
60
|
+
assert @tester.uri('ftp').match(/^ftp:\/\/.+/)
|
61
|
+
assert @tester.uri('http').match(/^http:\/\/.+/)
|
62
|
+
assert @tester.uri('https').match(/^https:\/\/.+/)
|
63
|
+
|
64
|
+
assert_deterministic { @tester.uri('ftp') }
|
65
|
+
assert_deterministic { @tester.uri('http') }
|
66
|
+
assert_deterministic { @tester.uri('https') }
|
54
67
|
end
|
55
68
|
|
56
69
|
def test_http_url
|
@@ -66,11 +79,13 @@ class TestFakerInternet < Test::Unit::TestCase
|
|
66
79
|
end
|
67
80
|
|
68
81
|
def test_slug_with_input_words
|
69
|
-
assert_not_match(/&/, @tester.slug(
|
82
|
+
assert_not_match(/&/, @tester.slug('Input Words&&Symbols'))
|
83
|
+
assert_deterministic { @tester.slug('Input Words&&Symbols') }
|
70
84
|
end
|
71
85
|
|
72
86
|
def test_slug_with_specified_glue
|
73
|
-
assert_match(/\A[a-z]+-[a-z]+\z/, @tester.slug(nil,
|
87
|
+
assert_match(/\A[a-z]+-[a-z]+\z/, @tester.slug(nil, '-'))
|
88
|
+
assert_deterministic { @tester.slug(nil, '-') }
|
74
89
|
end
|
75
90
|
|
76
91
|
def test_password
|
@@ -98,4 +113,20 @@ class TestFakerInternet < Test::Unit::TestCase
|
|
98
113
|
assert @tester.password(3, 1).length > 2
|
99
114
|
assert @tester.password(8, 5).length > 7
|
100
115
|
end
|
116
|
+
|
117
|
+
def test_mac
|
118
|
+
assert_match(/\A([a-z0-9]{2}:){5}[a-z0-9]{2}\z/, @tester.mac)
|
119
|
+
assert @tester.mac.length == 17
|
120
|
+
end
|
121
|
+
|
122
|
+
def test_mac_delimiter_argument
|
123
|
+
assert_match(/\A([a-z0-9]{2}-){5}[a-z0-9]{2}\z/, @tester.mac('-'))
|
124
|
+
assert_match(/\A([a-z0-9]{2}\.){5}[a-z0-9]{2}\z/, @tester.mac('.'))
|
125
|
+
assert_match(/\A([a-z0-9]{2}){6}\z/, @tester.mac(nil))
|
126
|
+
assert_match(/\A([a-z0-9]{2}){6}\z/, @tester.mac(''))
|
127
|
+
assert @tester.mac('-').length == 17
|
128
|
+
assert @tester.mac('.').length == 17
|
129
|
+
assert @tester.mac(nil).length == 12
|
130
|
+
assert @tester.mac('').length == 12
|
131
|
+
end
|
101
132
|
end
|
data/test/test_internet_se.rb
CHANGED
@@ -3,6 +3,14 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerInternetSE < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::InternetSE,
|
10
|
+
:email, :free_email, :safe_email, :disposable_email,
|
11
|
+
:user_name, :domain_name, :domain_word, :domain_suffix,
|
12
|
+
:http_url, :ip_v4_address, :password, :slug
|
13
|
+
)
|
6
14
|
|
7
15
|
def setup
|
8
16
|
@tester = FFaker::InternetSE
|
@@ -35,6 +43,7 @@ class TestFakerInternetSE < Test::Unit::TestCase
|
|
35
43
|
|
36
44
|
def test_user_name_with_arg
|
37
45
|
assert @tester.user_name('joel larsson').match(/(joel(_|\.)larsson|larsson(_|\.)joel)/)
|
46
|
+
assert_deterministic { @tester.user_name('joel larsson') }
|
38
47
|
end
|
39
48
|
|
40
49
|
def test_domain_name
|
@@ -50,9 +59,9 @@ class TestFakerInternetSE < Test::Unit::TestCase
|
|
50
59
|
end
|
51
60
|
|
52
61
|
def test_uri
|
53
|
-
assert @tester.uri(
|
54
|
-
assert @tester.uri(
|
55
|
-
assert @tester.uri(
|
62
|
+
assert @tester.uri('ftp').match(/^ftp:\/\/.+/)
|
63
|
+
assert @tester.uri('http').match(/^http:\/\/.+/)
|
64
|
+
assert @tester.uri('https').match(/^https:\/\/.+/)
|
56
65
|
end
|
57
66
|
|
58
67
|
def test_http_url
|
@@ -66,5 +75,4 @@ class TestFakerInternetSE < Test::Unit::TestCase
|
|
66
75
|
def test_slug
|
67
76
|
assert @tester.slug.match(/^[a-z]+(_|\.|\-)[a-z]+$/)
|
68
77
|
end
|
69
|
-
|
70
78
|
end
|
data/test/test_job.rb
CHANGED
data/test/test_job_br.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestFakerJobBR < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(FFaker::JobBR, :title)
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@tester = FFaker::JobBR
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_title
|
15
|
+
assert_includes @tester::JOB_NOUNS, @tester.title
|
16
|
+
end
|
17
|
+
end
|
data/test/test_job_cn.rb
CHANGED
data/test/test_job_fr.rb
CHANGED