ffaker 2.1.0 → 2.2.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 -21
- data/README.md +16 -16
- data/REFERENCE.md +925 -646
- data/ffaker.gemspec +73 -5
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/address.rb +4 -0
- data/lib/ffaker/address_ch.rb +21 -0
- data/lib/ffaker/address_ch_de.rb +16 -0
- data/lib/ffaker/address_ch_fr.rb +16 -0
- data/lib/ffaker/address_ch_it.rb +16 -0
- data/lib/ffaker/address_da.rb +2 -4
- data/lib/ffaker/address_in.rb +56 -0
- data/lib/ffaker/address_ru.rb +39 -0
- data/lib/ffaker/address_ua.rb +58 -0
- data/lib/ffaker/avatar.rb +3 -5
- data/lib/ffaker/cheesy_lingo.rb +39 -0
- data/lib/ffaker/color_ua.rb +12 -0
- data/lib/ffaker/data/address/time_zone +128 -0
- data/lib/ffaker/data/address_ch/canton_abbr +26 -0
- data/lib/ffaker/data/address_chde/canton +26 -0
- data/lib/ffaker/data/address_chfr/canton +26 -0
- data/lib/ffaker/data/address_chit/canton +26 -0
- data/lib/ffaker/data/address_da/city +3 -3
- data/lib/ffaker/data/address_da/kommune +0 -4
- data/lib/ffaker/data/address_in/state +29 -0
- data/lib/ffaker/data/address_in/state_abbr +29 -0
- data/lib/ffaker/data/address_in/union_territory +7 -0
- data/lib/ffaker/data/address_in/union_territory_abbr +7 -0
- data/lib/ffaker/data/address_ru/city +74 -0
- data/lib/ffaker/data/address_ru/province +83 -0
- data/lib/ffaker/data/address_ru/street +49 -0
- data/lib/ffaker/data/address_ua/city +57 -0
- data/lib/ffaker/data/address_ua/country +193 -0
- data/lib/ffaker/data/address_ua/province +27 -0
- data/lib/ffaker/data/address_ua/street +13 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +54 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_words +34 -0
- data/lib/ffaker/data/color_ua/names_list +114 -0
- data/lib/ffaker/data/lorem_ua/capital_chars +33 -0
- data/lib/ffaker/data/lorem_ua/chars +33 -0
- data/lib/ffaker/data/lorem_ua/words +362 -0
- data/lib/ffaker/data/music/albums +91 -0
- data/lib/ffaker/data/music/artists +100 -0
- data/lib/ffaker/data/music/genres +20 -0
- data/lib/ffaker/data/music/songs +100 -0
- data/lib/ffaker/data/name_da/female_first_names +291 -480
- data/lib/ffaker/data/name_da/male_first_names +294 -383
- data/lib/ffaker/data/name_ua/first_names_female +193 -0
- data/lib/ffaker/data/name_ua/first_names_male +195 -0
- data/lib/ffaker/data/name_ua/last_names_female +230 -0
- data/lib/ffaker/data/name_ua/last_names_male +239 -0
- data/lib/ffaker/data/name_ua/middle_names_female +116 -0
- data/lib/ffaker/data/name_ua/middle_names_male +116 -0
- data/lib/ffaker/data/vehicle/displacements_list +21 -0
- data/lib/ffaker/data/vehicle/fuel_types_list +6 -0
- data/lib/ffaker/data/vehicle/transmissions_list +4 -0
- data/lib/ffaker/data/vehicle/upholstery_list +5 -0
- data/lib/ffaker/internet.rb +20 -20
- data/lib/ffaker/lorem_ua.rb +59 -0
- data/lib/ffaker/music.rb +24 -0
- data/lib/ffaker/name_da.rb +17 -28
- data/lib/ffaker/name_ja.rb +2 -4
- data/lib/ffaker/name_ua.rb +59 -0
- data/lib/ffaker/phone_number.rb +4 -1
- data/lib/ffaker/phone_number_br.rb +74 -0
- data/lib/ffaker/phone_number_ch.rb +46 -0
- data/lib/ffaker/phone_number_da.rb +3 -3
- data/lib/ffaker/string.rb +14 -6
- data/lib/ffaker/vehicle.rb +26 -0
- data/test/test_address.rb +4 -0
- data/test/test_address_ch.rb +13 -0
- data/test/test_address_ch_de.rb +9 -0
- data/test/test_address_ch_fr.rb +9 -0
- data/test/test_address_ch_it.rb +11 -0
- data/test/test_address_da.rb +10 -10
- data/test/test_address_in.rb +50 -0
- data/test/test_address_ru.rb +30 -0
- data/test/test_address_ua.rb +49 -0
- data/test/test_avatar.rb +7 -6
- data/test/test_cheesy_lingo.rb +37 -0
- data/test/test_color_ua.rb +9 -0
- data/test/test_internet.rb +11 -3
- data/test/test_lorem_ua.rb +45 -0
- data/test/test_music.rb +21 -0
- data/test/test_name_br.rb +1 -1
- data/test/test_name_da.rb +48 -0
- data/test/test_name_ja.rb +32 -1
- data/test/test_name_ua.rb +59 -0
- data/test/test_phone_number.rb +8 -3
- data/test/test_phone_number_br.rb +47 -0
- data/test/test_phone_number_da.rb +39 -0
- data/test/test_string.rb +6 -0
- data/test/test_time.rb +2 -2
- data/test/test_vehicle.rb +24 -0
- data/test/test_venue.rb +1 -1
- metadata +86 -5
data/test/test_internet.rb
CHANGED
|
@@ -58,15 +58,23 @@ class TestFakerInternet < Test::Unit::TestCase
|
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
def test_ip_v4_address
|
|
61
|
-
|
|
61
|
+
assert_match(/\A(?:\d{1,3}\.){3}\d{1,3}\z/, @tester.ip_v4_address)
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def test_slug
|
|
65
|
-
|
|
65
|
+
assert_match(/\A[a-z]+[_.-][a-z]+\z/, @tester.slug)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_slug_with_input_words
|
|
69
|
+
assert_not_match(/&/, @tester.slug("Input Words&&Symbols"))
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def test_slug_with_specified_glue
|
|
73
|
+
assert_match(/\A[a-z]+-[a-z]+\z/, @tester.slug(nil, "-"))
|
|
66
74
|
end
|
|
67
75
|
|
|
68
76
|
def test_password
|
|
69
|
-
|
|
77
|
+
assert_match(/\A[a-z]+\z/, @tester.password)
|
|
70
78
|
end
|
|
71
79
|
|
|
72
80
|
def test_password_min_length
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestLoremUA < Test::Unit::TestCase
|
|
6
|
+
SENTENCE_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s\.\!\?,]+\z/
|
|
7
|
+
WORDS_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s]+\z/
|
|
8
|
+
WORD_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-]+\z/
|
|
9
|
+
|
|
10
|
+
def setup
|
|
11
|
+
@tester = FFaker::LoremUA
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_word
|
|
15
|
+
assert_match WORD_MATCHER, @tester.word
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_words
|
|
19
|
+
@tester.words(10).each do |word|
|
|
20
|
+
assert_match WORD_MATCHER, word
|
|
21
|
+
end
|
|
22
|
+
assert_match WORDS_MATCHER, @tester.words.join(" ")
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_sentence
|
|
26
|
+
assert_match SENTENCE_MATCHER, @tester.sentence(20)
|
|
27
|
+
assert_match SENTENCE_MATCHER, @tester.sentence(4)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_sentences
|
|
31
|
+
@tester.sentences(10).each do |sentence|
|
|
32
|
+
assert_match SENTENCE_MATCHER, sentence
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_paragraph
|
|
37
|
+
assert_match SENTENCE_MATCHER, @tester.paragraph
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_paragraphs
|
|
41
|
+
@tester.paragraphs.each do |paragraph|
|
|
42
|
+
assert_match SENTENCE_MATCHER, paragraph
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
data/test/test_music.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestMusic < Test::Unit::TestCase
|
|
6
|
+
def test_genre
|
|
7
|
+
assert_match /[A-z]|\W|\&\/+/, FFaker::Music.genre
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_album
|
|
11
|
+
assert_match /\s|[A-z]|\W|\d|\'|\?+/, FFaker::Music.album
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_artist
|
|
15
|
+
assert_match /\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.artist
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_song
|
|
19
|
+
assert_match /\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.song
|
|
20
|
+
end
|
|
21
|
+
end
|
data/test/test_name_br.rb
CHANGED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerNameDA < Test::Unit::TestCase
|
|
6
|
+
RU_REGEX = /[А-Я][а-я]+/
|
|
7
|
+
|
|
8
|
+
def setup
|
|
9
|
+
@tester = FFaker::NameDA
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_name
|
|
13
|
+
assert_raise { @tester.name(:hahaha) }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_any_name
|
|
17
|
+
assert @tester.any_name.count(' ') < 3
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_male_name
|
|
21
|
+
regexp = %r(#{@tester::MALE_FIRST_NAMES.join('|')})
|
|
22
|
+
assert @tester.male_name.count(' ') < 3
|
|
23
|
+
assert_match regexp, @tester.male_name
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_female_name
|
|
27
|
+
regexp = %r(#{@tester::FEMALE_FIRST_NAMES.join('|')})
|
|
28
|
+
assert @tester.female_name.count(' ') < 3
|
|
29
|
+
assert_match regexp, @tester.female_name
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_first_name
|
|
33
|
+
assert_include @tester::MALE_FIRST_NAMES, @tester.first_name(:male)
|
|
34
|
+
assert_include @tester::FEMALE_FIRST_NAMES, @tester.first_name(:female)
|
|
35
|
+
first_names = @tester::MALE_FIRST_NAMES + @tester::FEMALE_FIRST_NAMES
|
|
36
|
+
assert_include first_names, @tester.first_name(:any)
|
|
37
|
+
assert_include first_names, @tester.first_name
|
|
38
|
+
assert_raise { @tester.first_name(:hahaha) }
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_last_name
|
|
42
|
+
assert_match /\A['a-z]+\z/i, @tester.last_name
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_prefix
|
|
46
|
+
assert_match /\A(?:Hr|Fr|Dr|Prof)\.\Z/, @tester.prefix
|
|
47
|
+
end
|
|
48
|
+
end
|
data/test/test_name_ja.rb
CHANGED
|
@@ -3,11 +3,42 @@
|
|
|
3
3
|
require 'helper'
|
|
4
4
|
|
|
5
5
|
class TestFakerNameJA < Test::Unit::TestCase
|
|
6
|
+
class << self
|
|
7
|
+
def startup
|
|
8
|
+
FFaker::NameJA.const_set(:FIRST_NAMES, %w(あきら フミ 三郎))
|
|
9
|
+
FFaker::NameJA.const_set(:LAST_NAMES, %w(佐藤 高橋 佐々木))
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def shutdown
|
|
13
|
+
FFaker::NameJA.class_eval { remove_const(:FIRST_NAMES) }
|
|
14
|
+
FFaker::NameJA.class_eval { remove_const(:LAST_NAMES) }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
6
18
|
def setup
|
|
7
19
|
@tester = FFaker::NameJA
|
|
8
20
|
end
|
|
9
21
|
|
|
22
|
+
def test_first_name
|
|
23
|
+
assert_include(@tester::FIRST_NAMES, @tester.first_name)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_last_name
|
|
27
|
+
assert_include(@tester::LAST_NAMES, @tester.last_name)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_last_first
|
|
31
|
+
assert_last_first(@tester.last_first)
|
|
32
|
+
end
|
|
33
|
+
|
|
10
34
|
def test_name
|
|
11
|
-
|
|
35
|
+
assert_last_first(@tester.name)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
def assert_last_first(actual)
|
|
41
|
+
last_first_regexp = /(#{@tester::LAST_NAMES.join('|')})(#{@tester::FIRST_NAMES.join('|')})/
|
|
42
|
+
assert_match(last_first_regexp, actual)
|
|
12
43
|
end
|
|
13
44
|
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestNameUA < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
@tester = FFaker::NameUA
|
|
8
|
+
|
|
9
|
+
@single_word_name_regexp = /\A[а-яА-ЯіїєґІЇЄҐ’\-]+\z/
|
|
10
|
+
@multiple_words_name_regexp = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s]+\z/
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_first_name_male
|
|
14
|
+
assert_include @tester::FIRST_NAMES_MALE, (@tester.first_name_male)
|
|
15
|
+
assert_match @single_word_name_regexp, @tester.first_name_male
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_first_name_female
|
|
19
|
+
assert_include @tester::FIRST_NAMES_FEMALE, (@tester.first_name_female)
|
|
20
|
+
assert_match @single_word_name_regexp, @tester.first_name_female
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_middle_name_male
|
|
24
|
+
assert_include @tester::MIDDLE_NAMES_MALE, (@tester.middle_name_male)
|
|
25
|
+
assert_match @single_word_name_regexp, @tester.middle_name_male
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_middle_name_female
|
|
29
|
+
assert_include @tester::MIDDLE_NAMES_FEMALE, (@tester.middle_name_female)
|
|
30
|
+
assert_match @single_word_name_regexp, @tester.middle_name_female
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_last_name_male
|
|
34
|
+
assert_include @tester::LAST_NAMES_MALE, (@tester.last_name_male)
|
|
35
|
+
assert_match @single_word_name_regexp, @tester.last_name_male
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_last_name_female
|
|
39
|
+
assert_include @tester::LAST_NAMES_FEMALE, (@tester.last_name_female)
|
|
40
|
+
assert_match @single_word_name_regexp, @tester.last_name_female
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def test_first_name
|
|
44
|
+
assert_include @tester::FIRST_NAMES, (@tester.first_name)
|
|
45
|
+
assert_match @single_word_name_regexp, @tester.first_name
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_last_name
|
|
49
|
+
assert_include @tester::LAST_NAMES, (@tester.last_name)
|
|
50
|
+
assert_match @single_word_name_regexp, @tester.last_name
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_name
|
|
54
|
+
8.times do
|
|
55
|
+
assert_match @multiple_words_name_regexp, @tester.name
|
|
56
|
+
assert_include [1, 2, 3], @tester.name.split(' ').count
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
data/test/test_phone_number.rb
CHANGED
|
@@ -7,16 +7,21 @@ class TestPhoneNumer < Test::Unit::TestCase
|
|
|
7
7
|
assert_match /\d{3}[. -]\d{3}/, FFaker::PhoneNumber.phone_number
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
+
def test_area_code
|
|
11
|
+
assert_not_match /\A\d11\z/, FFaker::PhoneNumber.area_code.to_s
|
|
12
|
+
assert_match /\A\d{3}\z/, FFaker::PhoneNumber.area_code.to_s
|
|
13
|
+
end
|
|
14
|
+
|
|
10
15
|
def test_short_phone_number
|
|
11
|
-
assert_match /\d{3}-\d{3}-\d{4}/, FFaker::PhoneNumber.short_phone_number
|
|
16
|
+
assert_match /\A\d{3}-\d{3}-\d{4}\z/, FFaker::PhoneNumber.short_phone_number
|
|
12
17
|
end
|
|
13
18
|
|
|
14
19
|
def test_imei
|
|
15
|
-
assert_match
|
|
20
|
+
assert_match /\A\d{15}\z/, FFaker::PhoneNumber.imei
|
|
16
21
|
end
|
|
17
22
|
|
|
18
23
|
def test_imei_with_sn
|
|
19
24
|
sn = rand(1_000_000)
|
|
20
|
-
assert_match
|
|
25
|
+
assert_match /\A\d{8}#{sprintf('%06d', sn)}\d{1}\z/, FFaker::PhoneNumber.imei(sn)
|
|
21
26
|
end
|
|
22
27
|
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
# Author: Gustavo Souza https://github.com/gustavor-souza
|
|
6
|
+
class TestPhoneNumberBR < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@tester = FFaker::PhoneNumberBR
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_phone_number
|
|
12
|
+
10.times do
|
|
13
|
+
assert_match /\A[1-9]\d\s?9?\d{4}-?\d{4}\z/, @tester.phone_number
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_home_work_phone_number
|
|
18
|
+
assert_match /\A[1-9]\d\s?[2-5]\d{3}-?\d{4}\z/,
|
|
19
|
+
@tester.home_work_phone_number
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_mobile_phone_number
|
|
23
|
+
assert_match /\A[1-9]\d\s?([6-9]|9[6-9])\d{3}-?\d{4}\z/,
|
|
24
|
+
@tester.mobile_phone_number
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_international_phone_number
|
|
28
|
+
10.times do
|
|
29
|
+
assert_match /\A\+55\s?[1-9]\d\s?9?\d{4}-?\d{4}\z/,
|
|
30
|
+
@tester.international_phone_number
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_international_mobile_phone_number
|
|
35
|
+
assert_match /\A\+55\s?[1-9]\d\s?([6-9]|9[6-9])\d{3}-?\d{4}\z/,
|
|
36
|
+
@tester.international_mobile_phone_number
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_international_home_work_phone_number
|
|
40
|
+
assert_match /\A\+55\s?[1-9]\d\s?[2-5]\d{3}-?\d{4}\z/,
|
|
41
|
+
@tester.international_home_work_phone_number
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_country_code
|
|
45
|
+
assert_match '+55', @tester.country_code
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
# Author: wiseleyb<wiseleyb@gmail.com>
|
|
6
|
+
class TestPhoneNumberDA < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@tester = FFaker::PhoneNumberDA
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_home_work_phone_number
|
|
12
|
+
assert_match /\A\d{8}\z/, @tester.home_work_phone_number
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_mobile_phone_number
|
|
16
|
+
assert_match /\A\d{8}\z/, @tester.mobile_phone_number
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_phone_number
|
|
20
|
+
assert_match /\A\d{8}\z/, @tester.phone_number
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_country_code
|
|
24
|
+
assert_equal '+45', @tester.country_code
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_international_mobile_phone_number
|
|
28
|
+
assert_match /\A\+45 \d{8}\z/, @tester.international_mobile_phone_number
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_international_home_work_phone_number
|
|
32
|
+
assert_match /\A\+45 \d{8}\z/, @tester.international_home_work_phone_number
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_international_phone_number
|
|
36
|
+
assert_match /\A\+45 \d{8}\z/, @tester.international_phone_number
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
data/test/test_string.rb
CHANGED
|
@@ -78,4 +78,10 @@ class TestString < Test::Unit::TestCase
|
|
|
78
78
|
def test_set_star
|
|
79
79
|
assert_match(/\A[abc]*\z/, FS.from_regexp(/[abc]*/))
|
|
80
80
|
end
|
|
81
|
+
|
|
82
|
+
def test_braces
|
|
83
|
+
assert_equal "a" * 13, FS.from_regexp(/a{13}/)
|
|
84
|
+
assert_match(/\A[abc]{13}\z/, FS.from_regexp(/[abc]{13}/))
|
|
85
|
+
assert_match(/\A\w{13}\z/, FS.from_regexp(/\w{13}/))
|
|
86
|
+
end
|
|
81
87
|
end
|
data/test/test_time.rb
CHANGED
|
@@ -8,12 +8,12 @@ class TestFakerTime < Test::Unit::TestCase
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def test_date
|
|
11
|
-
date_regex =
|
|
11
|
+
date_regex = /\A\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [-|+]\d{4}\z/
|
|
12
12
|
assert_match date_regex, @tester.date.to_s
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def test_month
|
|
16
|
-
month_regex =
|
|
16
|
+
month_regex = /\A(?:January|February|March|April|May|June|July|August|September|October|November|December)\z/
|
|
17
17
|
assert_match month_regex, @tester.month
|
|
18
18
|
end
|
|
19
19
|
end
|
data/test/test_vehicle.rb
CHANGED
|
@@ -38,4 +38,28 @@ class TestVehicle < Test::Unit::TestCase
|
|
|
38
38
|
def test_drivetrain
|
|
39
39
|
assert_match /\A[a-z0-9]+\z/i, FFaker::Vehicle.drivetrain
|
|
40
40
|
end
|
|
41
|
+
|
|
42
|
+
def test_transmission
|
|
43
|
+
assert_match /\A[ a-z0-9]+\z/i, FFaker::Vehicle.transmission
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_transmission_abbr
|
|
47
|
+
assert_match /\A[A-Z]{2,3}\z/, FFaker::Vehicle.transmission_abbr
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_engine_cylinders
|
|
51
|
+
assert_match /\A[a-z0-9]+\z/i, FFaker::Vehicle.engine_cylinders
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_engine_displacement
|
|
55
|
+
assert_match /\A\d{1,2}\.\d\z/, FFaker::Vehicle.engine_displacement
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_fuel_type
|
|
59
|
+
assert_match /\A[ a-z0-9\(\)]+\z/i, FFaker::Vehicle.fuel_type
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_interior_upholstery
|
|
63
|
+
assert_match /\A[ a-z0-9]+\z/i, FFaker::Vehicle.interior_upholstery
|
|
64
|
+
end
|
|
41
65
|
end
|