ffakerer 1.0.1

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.
Files changed (234) hide show
  1. checksums.yaml +15 -0
  2. data/Changelog.md +154 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE +22 -0
  5. data/README.md +88 -0
  6. data/Rakefile +138 -0
  7. data/ffakerer.gemspec +266 -0
  8. data/lib/ffakerer.rb +31 -0
  9. data/lib/ffakerer/address.rb +99 -0
  10. data/lib/ffakerer/address_au.rb +106 -0
  11. data/lib/ffakerer/address_ca.rb +28 -0
  12. data/lib/ffakerer/address_da.rb +56 -0
  13. data/lib/ffakerer/address_de.rb +42 -0
  14. data/lib/ffakerer/address_mx.rb +505 -0
  15. data/lib/ffakerer/address_se.rb +48 -0
  16. data/lib/ffakerer/address_sn.rb +25 -0
  17. data/lib/ffakerer/address_uk.rb +27 -0
  18. data/lib/ffakerer/address_us.rb +30 -0
  19. data/lib/ffakerer/bacon_ipsum.rb +21 -0
  20. data/lib/ffakerer/company.rb +45 -0
  21. data/lib/ffakerer/company_se.rb +24 -0
  22. data/lib/ffakerer/conference.rb +12 -0
  23. data/lib/ffakerer/data/address/city_suffixes +19 -0
  24. data/lib/ffakerer/data/address/country +242 -0
  25. data/lib/ffakerer/data/address/neighborhood +49 -0
  26. data/lib/ffakerer/data/address/street_suffix +195 -0
  27. data/lib/ffakerer/data/address_ca/province +13 -0
  28. data/lib/ffakerer/data/address_da/city +592 -0
  29. data/lib/ffakerer/data/address_da/kommune +92 -0
  30. data/lib/ffakerer/data/address_da/street +657 -0
  31. data/lib/ffakerer/data/address_de/city +1666 -0
  32. data/lib/ffakerer/data/address_de/state +15 -0
  33. data/lib/ffakerer/data/address_mx/state +32 -0
  34. data/lib/ffakerer/data/address_mx/state_abbr +32 -0
  35. data/lib/ffakerer/data/address_se/city +154 -0
  36. data/lib/ffakerer/data/address_se/countries +250 -0
  37. data/lib/ffakerer/data/address_se/street +2887 -0
  38. data/lib/ffakerer/data/address_sn/arrondissements +47 -0
  39. data/lib/ffakerer/data/address_sn/departements +43 -0
  40. data/lib/ffakerer/data/address_sn/regions +14 -0
  41. data/lib/ffakerer/data/address_uk/uk_county +70 -0
  42. data/lib/ffakerer/data/address_us/state +50 -0
  43. data/lib/ffakerer/data/address_us/state_abbr +51 -0
  44. data/lib/ffakerer/data/address_us/state_and_territories_abbr +62 -0
  45. data/lib/ffakerer/data/bacon_ipsum/bacon_words +60 -0
  46. data/lib/ffakerer/data/company/bs_mid +65 -0
  47. data/lib/ffakerer/data/company/bs_pos +44 -0
  48. data/lib/ffakerer/data/company/bs_pre +60 -0
  49. data/lib/ffakerer/data/company/catch_mid +101 -0
  50. data/lib/ffakerer/data/company/catch_pos +104 -0
  51. data/lib/ffakerer/data/company/catch_pre +100 -0
  52. data/lib/ffakerer/data/company/position_areas +11 -0
  53. data/lib/ffakerer/data/conference/conference_list +40 -0
  54. data/lib/ffakerer/data/dizzle_ipsum/dizzle_words +69 -0
  55. data/lib/ffakerer/data/education/major_noun +13 -0
  56. data/lib/ffakerer/data/education/school_suffix +13 -0
  57. data/lib/ffakerer/data/healthcare_ipsum/healthcare_words +193 -0
  58. data/lib/ffakerer/data/hipster_ipsum/hipster_words +101 -0
  59. data/lib/ffakerer/data/job/job_adj +37 -0
  60. data/lib/ffakerer/data/job/job_noun +25 -0
  61. data/lib/ffakerer/data/job/job_prefix +22 -0
  62. data/lib/ffakerer/data/job_fr/job_nouns +14 -0
  63. data/lib/ffakerer/data/job_fr/job_prefixes +15 -0
  64. data/lib/ffakerer/data/lorem/characters +36 -0
  65. data/lib/ffakerer/data/lorem/words +249 -0
  66. data/lib/ffakerer/data/lorem_ar/words +911 -0
  67. data/lib/ffakerer/data/lorem_cn/words +706 -0
  68. data/lib/ffakerer/data/lorem_fr/words +10379 -0
  69. data/lib/ffakerer/data/movie/adj_and_adv +20 -0
  70. data/lib/ffakerer/data/movie/nouns +36 -0
  71. data/lib/ffakerer/data/movie/prefixes +17 -0
  72. data/lib/ffakerer/data/name/first_names +3008 -0
  73. data/lib/ffakerer/data/name/last_names +475 -0
  74. data/lib/ffakerer/data/name_cn/first_names +1000 -0
  75. data/lib/ffakerer/data/name_cn/last_names +1057 -0
  76. data/lib/ffakerer/data/name_cs/prefixes +16 -0
  77. data/lib/ffakerer/data/name_da/female_first_names +492 -0
  78. data/lib/ffakerer/data/name_da/last_names +187 -0
  79. data/lib/ffakerer/data/name_da/male_first_names +390 -0
  80. data/lib/ffakerer/data/name_de/first_names +1166 -0
  81. data/lib/ffakerer/data/name_de/last_names +100 -0
  82. data/lib/ffakerer/data/name_fr/first_names +220 -0
  83. data/lib/ffakerer/data/name_fr/last_names +408 -0
  84. data/lib/ffakerer/data/name_ga/first_names_female +225 -0
  85. data/lib/ffakerer/data/name_ga/first_names_male +306 -0
  86. data/lib/ffakerer/data/name_ja/first_names +397 -0
  87. data/lib/ffakerer/data/name_ja/last_names +1078 -0
  88. data/lib/ffakerer/data/name_kr/first_names +1317 -0
  89. data/lib/ffakerer/data/name_kr/last_names +197 -0
  90. data/lib/ffakerer/data/name_mx/female_first_names +216 -0
  91. data/lib/ffakerer/data/name_mx/last_names +352 -0
  92. data/lib/ffakerer/data/name_mx/male_first_names +211 -0
  93. data/lib/ffakerer/data/name_ph/autochthonous_surnames +217 -0
  94. data/lib/ffakerer/data/name_ph/spanish_surnames +300 -0
  95. data/lib/ffakerer/data/name_se/first_names_female +110 -0
  96. data/lib/ffakerer/data/name_se/first_names_male +110 -0
  97. data/lib/ffakerer/data/name_se/last_names +100 -0
  98. data/lib/ffakerer/data/name_sn/first_names_female +225 -0
  99. data/lib/ffakerer/data/name_sn/first_names_male +304 -0
  100. data/lib/ffakerer/data/name_sn/last_names +243 -0
  101. data/lib/ffakerer/data/name_vn/first_names +6 -0
  102. data/lib/ffakerer/data/name_vn/last_names +67 -0
  103. data/lib/ffakerer/data/name_vn/middle_names +89 -0
  104. data/lib/ffakerer/data/phone_number_se/phone_prefix +265 -0
  105. data/lib/ffakerer/data/product/adj +19 -0
  106. data/lib/ffakerer/data/product/b1 +19 -0
  107. data/lib/ffakerer/data/product/noun +16 -0
  108. data/lib/ffakerer/data/skill/specialty_end +14 -0
  109. data/lib/ffakerer/data/skill/specialty_start +18 -0
  110. data/lib/ffakerer/data/skill/tech_skills +52 -0
  111. data/lib/ffakerer/data/venue/venue_list +33 -0
  112. data/lib/ffakerer/dizzle_ipsum.rb +21 -0
  113. data/lib/ffakerer/education.rb +48 -0
  114. data/lib/ffakerer/geolocation.rb +50 -0
  115. data/lib/ffakerer/healthcare_ipsum.rb +20 -0
  116. data/lib/ffakerer/hipster_ipsum.rb +21 -0
  117. data/lib/ffakerer/html_ipsum.rb +160 -0
  118. data/lib/ffakerer/identification.rb +27 -0
  119. data/lib/ffakerer/identification_es.rb +15 -0
  120. data/lib/ffakerer/identification_es_cl.rb +26 -0
  121. data/lib/ffakerer/identification_es_co.rb +40 -0
  122. data/lib/ffakerer/internet.rb +72 -0
  123. data/lib/ffakerer/internet_se.rb +106 -0
  124. data/lib/ffakerer/job.rb +12 -0
  125. data/lib/ffakerer/job_fr.rb +14 -0
  126. data/lib/ffakerer/lorem.rb +44 -0
  127. data/lib/ffakerer/lorem_ar.rb +40 -0
  128. data/lib/ffakerer/lorem_cn.rb +41 -0
  129. data/lib/ffakerer/lorem_fr.rb +39 -0
  130. data/lib/ffakerer/movie.rb +63 -0
  131. data/lib/ffakerer/name.rb +35 -0
  132. data/lib/ffakerer/name_cn.rb +24 -0
  133. data/lib/ffakerer/name_cs.rb +90 -0
  134. data/lib/ffakerer/name_da.rb +68 -0
  135. data/lib/ffakerer/name_de.rb +33 -0
  136. data/lib/ffakerer/name_fr.rb +37 -0
  137. data/lib/ffakerer/name_ga.rb +47 -0
  138. data/lib/ffakerer/name_ja.rb +24 -0
  139. data/lib/ffakerer/name_kr.rb +24 -0
  140. data/lib/ffakerer/name_mx.rb +103 -0
  141. data/lib/ffakerer/name_ph.rb +29 -0
  142. data/lib/ffakerer/name_ru.rb +92 -0
  143. data/lib/ffakerer/name_se.rb +47 -0
  144. data/lib/ffakerer/name_sn.rb +65 -0
  145. data/lib/ffakerer/name_vn.rb +28 -0
  146. data/lib/ffakerer/phone_number.rb +34 -0
  147. data/lib/ffakerer/phone_number_au.rb +77 -0
  148. data/lib/ffakerer/phone_number_da.rb +45 -0
  149. data/lib/ffakerer/phone_number_de.rb +51 -0
  150. data/lib/ffakerer/phone_number_mx.rb +58 -0
  151. data/lib/ffakerer/phone_number_se.rb +90 -0
  152. data/lib/ffakerer/phone_number_sg.rb +81 -0
  153. data/lib/ffakerer/phone_number_sn.rb +78 -0
  154. data/lib/ffakerer/product.rb +45 -0
  155. data/lib/ffakerer/skill.rb +24 -0
  156. data/lib/ffakerer/ssn.rb +17 -0
  157. data/lib/ffakerer/ssn_se.rb +109 -0
  158. data/lib/ffakerer/string.rb +92 -0
  159. data/lib/ffakerer/time.rb +30 -0
  160. data/lib/ffakerer/unit.rb +50 -0
  161. data/lib/ffakerer/unit_english.rb +114 -0
  162. data/lib/ffakerer/unit_metric.rb +105 -0
  163. data/lib/ffakerer/utils/array_utils.rb +44 -0
  164. data/lib/ffakerer/utils/module_utils.rb +29 -0
  165. data/lib/ffakerer/venue.rb +12 -0
  166. data/scripts/benchmark.rb +21 -0
  167. data/scripts/profile.sh +2 -0
  168. data/scripts/profiling.rb +7 -0
  169. data/test/helper.rb +2 -0
  170. data/test/test_address.rb +73 -0
  171. data/test/test_address_au.rb +58 -0
  172. data/test/test_address_ca.rb +17 -0
  173. data/test/test_address_de.rb +25 -0
  174. data/test/test_address_mx.rb +26 -0
  175. data/test/test_address_se.rb +36 -0
  176. data/test/test_address_sn.rb +25 -0
  177. data/test/test_address_uk.rb +17 -0
  178. data/test/test_address_us.rb +25 -0
  179. data/test/test_array_utils.rb +52 -0
  180. data/test/test_bacon_ipsum.rb +30 -0
  181. data/test/test_company.rb +23 -0
  182. data/test/test_company_se.rb +14 -0
  183. data/test/test_conference.rb +10 -0
  184. data/test/test_dizzle_ipsum.rb +30 -0
  185. data/test/test_education.rb +34 -0
  186. data/test/test_faker.rb +30 -0
  187. data/test/test_faker_internet.rb +60 -0
  188. data/test/test_faker_internet_se.rb +67 -0
  189. data/test/test_faker_job.rb +14 -0
  190. data/test/test_faker_job_fr.rb +22 -0
  191. data/test/test_faker_name.rb +21 -0
  192. data/test/test_faker_name_cn.rb +13 -0
  193. data/test/test_faker_name_cs.rb +65 -0
  194. data/test/test_faker_name_de.rb +21 -0
  195. data/test/test_faker_name_fr.rb +48 -0
  196. data/test/test_faker_name_ga.rb +56 -0
  197. data/test/test_faker_name_ja.rb +13 -0
  198. data/test/test_faker_name_kr.rb +13 -0
  199. data/test/test_faker_name_mx.rb +180 -0
  200. data/test/test_faker_name_ph.rb +17 -0
  201. data/test/test_faker_name_ru.rb +80 -0
  202. data/test/test_faker_name_se.rb +38 -0
  203. data/test/test_faker_name_sn.rb +98 -0
  204. data/test/test_geolocation.rb +34 -0
  205. data/test/test_healthcare_ipsum.rb +27 -0
  206. data/test/test_hipster_ipsum.rb +29 -0
  207. data/test/test_html_ipsum.rb +91 -0
  208. data/test/test_identification.rb +27 -0
  209. data/test/test_identification_co.rb +38 -0
  210. data/test/test_identification_es.rb +13 -0
  211. data/test/test_identification_es_cl.rb +13 -0
  212. data/test/test_lorem.rb +44 -0
  213. data/test/test_lorem_ar.rb +37 -0
  214. data/test/test_lorem_cn.rb +47 -0
  215. data/test/test_lorem_fr.rb +37 -0
  216. data/test/test_module_utils.rb +14 -0
  217. data/test/test_movie.rb +9 -0
  218. data/test/test_phone_number.rb +13 -0
  219. data/test/test_phone_number_au.rb +50 -0
  220. data/test/test_phone_number_de.rb +46 -0
  221. data/test/test_phone_number_mx.rb +43 -0
  222. data/test/test_phone_number_se.rb +60 -0
  223. data/test/test_phone_number_sg.rb +44 -0
  224. data/test/test_phone_number_sn.rb +34 -0
  225. data/test/test_skill.rb +24 -0
  226. data/test/test_ssn.rb +11 -0
  227. data/test/test_ssn_se.rb +43 -0
  228. data/test/test_string.rb +71 -0
  229. data/test/test_time.rb +19 -0
  230. data/test/test_units.rb +32 -0
  231. data/test/test_units_english.rb +62 -0
  232. data/test/test_units_metric.rb +61 -0
  233. data/test/test_venue.rb +9 -0
  234. metadata +372 -0
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ # => author: PapePathe github.com/PapePathe
4
+ # => email: pathe.sene@gmail.com
5
+
6
+ require "helper"
7
+
8
+ class TestAddressSn < Test::Unit::TestCase
9
+
10
+ def setup
11
+ @subject = Faker::AddressSN
12
+ end
13
+
14
+ def test_region
15
+ assert Faker::AddressSN::REGIONS.include?(Faker::AddressSN.region)
16
+ end
17
+
18
+ def test_departement
19
+ assert Faker::AddressSN::DEPARTEMENTS.include?(Faker::AddressSN.departement)
20
+ end
21
+
22
+ def test_arrondissement
23
+ assert Faker::AddressSN::ARRONDISSEMENTS.include?(Faker::AddressSN.arrondissement)
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestAddressUK < Test::Unit::TestCase
6
+ def test_county
7
+ assert_match /[ a-z]/, Faker::AddressUK.county
8
+ end
9
+
10
+ def test_country
11
+ assert_match /[ a-z]/, Faker::AddressUK.country
12
+ end
13
+
14
+ def test_postcode
15
+ assert_match /^[A-Z]{2}\d \d[A-Z]{2}|[A-Z]{2}\d\d \d[A-Z]{2}$/, Faker::AddressUK.postcode
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestAddressUSUS < Test::Unit::TestCase
6
+ def test_us_state
7
+ assert_match /[ a-z]/, Faker::AddressUS.state
8
+ end
9
+
10
+ def test_us_state_abbr
11
+ assert_match /[A-Z]/, Faker::AddressUS.state_abbr
12
+ end
13
+
14
+ def test_us_state_and_territories_abbr
15
+ assert_match /[A-Z]/, Faker::AddressUS.state_and_territories_abbr
16
+ end
17
+
18
+ def test_zip_code
19
+ assert_match /[0-9]/, Faker::AddressUS.zip_code
20
+ end
21
+
22
+ def test_zip_code_frozen
23
+ assert Faker::AddressUS.zip_code.frozen? == false
24
+ end
25
+ end
@@ -0,0 +1,52 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+ require 'set'
5
+
6
+ class TestArrayUtils < Test::Unit::TestCase
7
+ def setup
8
+ @array = Faker::ArrayUtils.const_array("a".."c")
9
+ @elems = Set.new("a".."c")
10
+ end
11
+
12
+ def test_provides_a_way_of_freezing_the_elements_and_itself
13
+ assert @array.respond_to?(:freeze_all)
14
+ @array.freeze_all
15
+ assert @array.frozen?
16
+ @array.each { |e| assert e.frozen? }
17
+ end
18
+
19
+ def test_provides_a_way_of_getting_a_random_element
20
+ set = Set.new
21
+ 1000.times { set << @array.rand }
22
+ assert set == @elems
23
+ end
24
+
25
+ def test_provides_a_way_of_getting_n_random_elements
26
+ assert_equal @array.random_pick(3).sort, @array.sort
27
+
28
+ 1.upto(3) do |n|
29
+ 1000.times do
30
+ new_arr = @array.random_pick(n)
31
+ assert_equal n, new_arr.length
32
+ new_arr.each do |e|
33
+ assert @elems.include? e
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ def test_provides_a_way_of_shuffling_the_array
40
+ assert_equal @array.shuffle.sort, @array.sort
41
+
42
+ different_arrangements = 0
43
+
44
+ 1000.times do
45
+ new_arr = @array.shuffle
46
+ assert new_arr.to_set == @elems
47
+ different_arrangements += 1 if new_arr != @array
48
+ end
49
+
50
+ assert different_arrangements > 0
51
+ end
52
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestBaconIpsum < Test::Unit::TestCase
6
+
7
+ def test_paragraph
8
+ assert_match /1\+|[ a-z]+/i, Faker::BaconIpsum.paragraph
9
+ end
10
+
11
+ def test_sentence
12
+ assert_match /1\+|[ a-z]+/i, Faker::BaconIpsum.sentence
13
+ end
14
+
15
+ def test_paragraphs
16
+ assert_match /1\+|[ a-z]+/i, Faker::BaconIpsum.paragraphs.join(" ")
17
+ end
18
+
19
+ def test_sentences
20
+ assert_match /1\+|[ a-z]+/i, Faker::BaconIpsum.sentences.join(" ")
21
+ end
22
+
23
+ def test_words
24
+ assert_match /1\+|[ a-z]+/i, Faker::BaconIpsum.words.join(" ")
25
+ end
26
+
27
+ def test_word
28
+ assert_match /1\+|[a-z]+/i, Faker::BaconIpsum.word
29
+ end
30
+ end
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestCompany < Test::Unit::TestCase
6
+ def test_bs
7
+ assert_match /[ a-z]+/, Faker::Company.bs
8
+ assert_match /\s/, Faker::Company.bs
9
+ end
10
+
11
+ def test_catch_phrase
12
+ assert_match /[ a-z]+/, Faker::Company.catch_phrase
13
+ assert_match /\s/, Faker::Company.catch_phrase
14
+ end
15
+
16
+ def test_name
17
+ assert_match /[ a-z]+/, Faker::Company.name
18
+ end
19
+
20
+ def test_suffix
21
+ assert_match /[ a-z]+/i, Faker::Company.suffix
22
+ end
23
+ end
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestCompanySE < Test::Unit::TestCase
6
+
7
+ def test_name
8
+ assert_match(/[ a-z]+/, Faker::CompanySE.name)
9
+ end
10
+
11
+ def test_suffix
12
+ assert_match(/[ a-z]+/i, Faker::CompanySE.suffix)
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestConference < Test::Unit::TestCase
6
+ def test_name
7
+ assert_match /1\+|[ a-z]+/i, Faker::Conference.name
8
+ end
9
+ end
10
+
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestDizzleIpsum < Test::Unit::TestCase
6
+
7
+ def test_paragraph
8
+ assert_match /1\+|[ a-z]+/i, Faker::DizzleIpsum.paragraph
9
+ end
10
+
11
+ def test_sentence
12
+ assert_match /1\+|[ a-z]+/i, Faker::DizzleIpsum.sentence
13
+ end
14
+
15
+ def test_paragraphs
16
+ assert_match /1\+|[ a-z]+/i, Faker::DizzleIpsum.paragraphs.join(" ")
17
+ end
18
+
19
+ def test_sentences
20
+ assert_match /1\+|[ a-z]+/i, Faker::DizzleIpsum.sentences.join(" ")
21
+ end
22
+
23
+ def test_words
24
+ assert_match /1\+|[ a-z]+/i, Faker::DizzleIpsum.words.join(" ")
25
+ end
26
+
27
+ def test_word
28
+ assert_match /1\+|[a-z]+/i, Faker::DizzleIpsum.word
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerEducation < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::Education
8
+ end
9
+
10
+ def test_degree_short
11
+ assert @tester.degree_short.match(/.+ in .+/)
12
+ end
13
+
14
+ def test_degree
15
+ assert @tester.degree.match(/.+ in .+/)
16
+ end
17
+
18
+ def test_major
19
+ assert @tester.major.match(/.+ .+/)
20
+ end
21
+
22
+ def test_school_name
23
+ assert @tester.school_name.match(/.+/)
24
+ end
25
+
26
+ def test_school_generic_name
27
+ assert @tester.school_name.match(/.+/)
28
+ end
29
+
30
+ def test_school
31
+ assert @tester.school.match(/.+ .+( .+)?/)
32
+ end
33
+ end
34
+
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFaker < Test::Unit::TestCase
6
+ def test_numerify
7
+ assert Faker.numerify('###').match(/\d{3}/)
8
+ end
9
+
10
+ def test_numerify_with_array
11
+ assert Faker.numerify(['###', '###']).match(/\d{3}/)
12
+ end
13
+
14
+ def test_letterify
15
+ assert Faker.letterify('???').match(/[a-z]{3}/)
16
+ end
17
+
18
+ def test_letterify_with_array
19
+ assert Faker.letterify(['???', '???']).match(/[a-z]{3}/)
20
+ end
21
+
22
+ def test_bothify
23
+ assert Faker.bothify('???###').match(/[a-z]{3}\d{3}/)
24
+ end
25
+
26
+ def test_bothify_with_array
27
+ assert Faker.bothify(['???###', '???###']).match(/[a-z]{3}\d{3}/)
28
+ end
29
+
30
+ end
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerInternet < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::Internet
8
+ end
9
+
10
+ def test_email
11
+ assert @tester.email.match(/.+@.+\.\w+/)
12
+ end
13
+
14
+ def test_email_frozen
15
+ assert @tester.email.frozen? == false
16
+ end
17
+
18
+ def test_free_email
19
+ assert @tester.free_email.match(/.+@(gmail|hotmail|yahoo)\.com/)
20
+ end
21
+
22
+ def test_disposable_email
23
+ assert @tester.disposable_email.match(/.+@(mailinator\.com|suremail\.info|spamherelots\.com|binkmail\.com|safetymail\.info)/)
24
+ end
25
+
26
+ def test_user_name
27
+ assert @tester.user_name.match(/[a-z]+((_|\.)[a-z]+)?/)
28
+ end
29
+
30
+ def test_user_name_with_arg
31
+ assert @tester.user_name('bo peep').match(/(bo(_|\.)peep|peep(_|\.)bo)/)
32
+ end
33
+
34
+ def test_domain_name
35
+ assert @tester.domain_name.match(/\w+\.\w+/)
36
+ end
37
+
38
+ def test_domain_word
39
+ assert @tester.domain_word.match(/^\w+$/)
40
+ end
41
+
42
+ def test_domain_suffix
43
+ assert @tester.domain_suffix.match(/^\w+(\.\w+)?/)
44
+ end
45
+
46
+ def test_uri
47
+ assert @tester.uri("ftp").match(/^ftp:\/\/.+/)
48
+ assert @tester.uri("http").match(/^http:\/\/.+/)
49
+ assert @tester.uri("https").match(/^https:\/\/.+/)
50
+ end
51
+
52
+ def test_http_url
53
+ assert @tester.http_url.match(/^http:\/\/.+/)
54
+ end
55
+
56
+ def test_ip_v4_address
57
+ assert @tester.ip_v4_address.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)
58
+ end
59
+
60
+ end
@@ -0,0 +1,67 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerInternetSE < Test::Unit::TestCase
6
+
7
+ def setup
8
+ @tester = Faker::InternetSE
9
+ end
10
+
11
+ def test_email
12
+ assert @tester.email.match(/.+@.+\.\w+/)
13
+ end
14
+
15
+ def test_email_frozen
16
+ assert @tester.email.frozen? == false
17
+ end
18
+
19
+ def test_disposable_email
20
+ assert @tester.disposable_email.match(/.+@(mailinator\.com|suremail\.info|spamherelots\.com|binkmail\.com|safetymail\.info)/)
21
+ end
22
+
23
+ def test_free_email
24
+ email = @tester.free_email
25
+ assert email.match(/.+@(gmail\.com|hotmail\.com|yahoo\.com|spray\.se|passagen\.se)/), "mail: #{email} does not match"
26
+ end
27
+
28
+ def test_login_user_name
29
+ assert @tester.login_user_name.match(/[a-z]+((_|)[a-z]+)?/)
30
+ end
31
+
32
+ def test_user_name
33
+ assert @tester.user_name.match(/[a-z]+((_|\.)[a-z]+)?/)
34
+ end
35
+
36
+ def test_user_name_with_arg
37
+ assert @tester.user_name('joel larsson').match(/(joel(_|\.)larsson|larsson(_|\.)joel)/)
38
+ end
39
+
40
+ def test_domain_name
41
+ assert @tester.domain_name.match(/\w+\.\w+/)
42
+ end
43
+
44
+ def test_domain_word
45
+ assert @tester.domain_word.match(/^\w+$/)
46
+ end
47
+
48
+ def test_domain_suffix
49
+ assert @tester.domain_suffix.match(/^\w+(\.\w+)?/)
50
+ end
51
+
52
+ def test_uri
53
+ assert @tester.uri("ftp").match(/^ftp:\/\/.+/)
54
+ assert @tester.uri("http").match(/^http:\/\/.+/)
55
+ assert @tester.uri("https").match(/^https:\/\/.+/)
56
+ end
57
+
58
+ def test_http_url
59
+ assert @tester.http_url.match(/^http:\/\/.+/)
60
+ end
61
+
62
+ def test_ip_v4_address
63
+ assert @tester.ip_v4_address.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)
64
+ end
65
+
66
+ end
67
+
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerJob < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::Job
8
+ end
9
+
10
+ def test_title
11
+ assert @tester.title.match(/(\w+\.? ?){2,3}/)
12
+ end
13
+ end
14
+