ffaker 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +34 -0
  3. data/README.md +4 -0
  4. data/REFERENCE.md +1153 -800
  5. data/Rakefile +23 -24
  6. data/ffaker.gemspec +12 -420
  7. data/lib/ffaker.rb +47 -7
  8. data/lib/ffaker/address.rb +11 -11
  9. data/lib/ffaker/address_au.rb +60 -60
  10. data/lib/ffaker/address_br.rb +5 -5
  11. data/lib/ffaker/address_ca.rb +7 -7
  12. data/lib/ffaker/address_ch.rb +1 -2
  13. data/lib/ffaker/address_ch_de.rb +1 -1
  14. data/lib/ffaker/address_ch_fr.rb +1 -1
  15. data/lib/ffaker/address_ch_it.rb +1 -1
  16. data/lib/ffaker/address_da.rb +5 -5
  17. data/lib/ffaker/address_de.rb +16 -12
  18. data/lib/ffaker/address_fi.rb +7 -8
  19. data/lib/ffaker/address_fr.rb +13 -13
  20. data/lib/ffaker/address_gr.rb +40 -0
  21. data/lib/ffaker/address_in.rb +12 -12
  22. data/lib/ffaker/address_kr.rb +87 -0
  23. data/lib/ffaker/address_mx.rb +409 -409
  24. data/lib/ffaker/address_nl.rb +17 -13
  25. data/lib/ffaker/address_ru.rb +6 -6
  26. data/lib/ffaker/address_se.rb +7 -8
  27. data/lib/ffaker/address_sn.rb +3 -3
  28. data/lib/ffaker/address_ua.rb +8 -8
  29. data/lib/ffaker/address_uk.rb +5 -5
  30. data/lib/ffaker/address_us.rb +9 -9
  31. data/lib/ffaker/airline.rb +16 -0
  32. data/lib/ffaker/avatar.rb +3 -3
  33. data/lib/ffaker/aws.rb +24 -0
  34. data/lib/ffaker/bacon_ipsum.rb +2 -2
  35. data/lib/ffaker/book.rb +45 -0
  36. data/lib/ffaker/boolean.rb +2 -2
  37. data/lib/ffaker/cheesy_lingo.rb +15 -12
  38. data/lib/ffaker/color.rb +54 -1
  39. data/lib/ffaker/color_ua.rb +1 -1
  40. data/lib/ffaker/company.rb +13 -11
  41. data/lib/ffaker/company_cn.rb +23 -0
  42. data/lib/ffaker/company_it.rb +4 -4
  43. data/lib/ffaker/company_se.rb +2 -2
  44. data/lib/ffaker/conference.rb +1 -1
  45. data/lib/ffaker/courses.rb +2 -3
  46. data/lib/ffaker/currency.rb +2 -2
  47. data/lib/ffaker/data/address_gr/city +79 -0
  48. data/lib/ffaker/data/address_gr/region +13 -0
  49. data/lib/ffaker/data/address_gr/street +100 -0
  50. data/lib/ffaker/data/address_kr/boroughs +29 -0
  51. data/lib/ffaker/data/address_kr/cities +51 -0
  52. data/lib/ffaker/data/airline/codes_list +209 -0
  53. data/lib/ffaker/data/airline/names_list +206 -0
  54. data/lib/ffaker/data/aws/ec2_instance_type +59 -0
  55. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +3 -0
  56. data/lib/ffaker/data/aws/ec2_reserved_offering_type +6 -0
  57. data/lib/ffaker/data/aws/ec2_reserved_product_description +14 -0
  58. data/lib/ffaker/data/book/adj_and_adv +20 -0
  59. data/lib/ffaker/data/book/genres +369 -0
  60. data/lib/ffaker/data/book/nouns +36 -0
  61. data/lib/ffaker/data/book/prefixes +17 -0
  62. data/lib/ffaker/data/color/names_list +128 -0
  63. data/lib/ffaker/data/education/degree_prefix +274 -0
  64. data/lib/ffaker/data/education/degree_short_prefix +19 -0
  65. data/lib/ffaker/data/job_br/job_nouns +52 -0
  66. data/lib/ffaker/data/job_vn/job_nouns +191 -0
  67. data/lib/ffaker/data/lorem_ja/characters +101 -0
  68. data/lib/ffaker/data/lorem_ja/sentences +30 -0
  69. data/lib/ffaker/data/lorem_ja/sentences_end +21 -0
  70. data/lib/ffaker/data/lorem_ja/words +81 -0
  71. data/lib/ffaker/data/name/first_names_female +4275 -0
  72. data/lib/ffaker/data/name/first_names_male +1219 -0
  73. data/lib/ffaker/data/name_br/first_names_female +1068 -0
  74. data/lib/ffaker/data/name_br/first_names_male +607 -0
  75. data/lib/ffaker/data/name_br/last_names +52 -0
  76. data/lib/ffaker/data/name_gr/female_first_names +80 -0
  77. data/lib/ffaker/data/name_gr/female_last_names +45 -0
  78. data/lib/ffaker/data/name_gr/male_first_names +90 -0
  79. data/lib/ffaker/data/name_gr/male_last_names +57 -0
  80. data/lib/ffaker/data/name_kh/first_names +64 -0
  81. data/lib/ffaker/data/name_kh/last_names +71 -0
  82. data/lib/ffaker/data/name_kh/nick_names +30 -0
  83. data/lib/ffaker/data/name_then/first_names +292 -0
  84. data/lib/ffaker/data/name_then/last_names +63 -0
  85. data/lib/ffaker/data/name_then/nick_names +30 -0
  86. data/lib/ffaker/data/phone_number/phone_calling_code +205 -0
  87. data/lib/ffaker/data/sport/names +57 -24
  88. data/lib/ffaker/data/tweet/hashtag +58 -0
  89. data/lib/ffaker/data/youtube/video_ids +50 -0
  90. data/lib/ffaker/dizzle_ipsum.rb +2 -2
  91. data/lib/ffaker/education.rb +17 -16
  92. data/lib/ffaker/food.rb +5 -6
  93. data/lib/ffaker/gender.rb +4 -4
  94. data/lib/ffaker/gender_br.rb +17 -0
  95. data/lib/ffaker/gender_cn.rb +4 -4
  96. data/lib/ffaker/gender_kr.rb +4 -4
  97. data/lib/ffaker/geolocation.rb +26 -26
  98. data/lib/ffaker/healthcare_ipsum.rb +2 -2
  99. data/lib/ffaker/hipster_ipsum.rb +2 -2
  100. data/lib/ffaker/html_ipsum.rb +101 -81
  101. data/lib/ffaker/identification.rb +4 -4
  102. data/lib/ffaker/identification_br.rb +84 -0
  103. data/lib/ffaker/identification_es.rb +2 -2
  104. data/lib/ffaker/identification_es_cl.rb +7 -5
  105. data/lib/ffaker/identification_es_co.rb +9 -10
  106. data/lib/ffaker/identification_kr.rb +3 -4
  107. data/lib/ffaker/identification_mx.rb +27 -11
  108. data/lib/ffaker/internet.rb +26 -23
  109. data/lib/ffaker/internet_se.rb +21 -21
  110. data/lib/ffaker/job.rb +1 -1
  111. data/lib/ffaker/job_br.rb +12 -0
  112. data/lib/ffaker/job_cn.rb +1 -1
  113. data/lib/ffaker/job_fr.rb +3 -3
  114. data/lib/ffaker/job_ja.rb +2 -1
  115. data/lib/ffaker/job_kr.rb +1 -1
  116. data/lib/ffaker/job_vn.rb +13 -0
  117. data/lib/ffaker/locale.rb +2 -3
  118. data/lib/ffaker/lorem.rb +5 -5
  119. data/lib/ffaker/lorem_ar.rb +4 -4
  120. data/lib/ffaker/lorem_cn.rb +3 -3
  121. data/lib/ffaker/lorem_fr.rb +4 -4
  122. data/lib/ffaker/lorem_ja.rb +40 -0
  123. data/lib/ffaker/lorem_kr.rb +4 -4
  124. data/lib/ffaker/lorem_ua.rb +8 -11
  125. data/lib/ffaker/movie.rb +18 -20
  126. data/lib/ffaker/music.rb +4 -4
  127. data/lib/ffaker/name.rb +100 -11
  128. data/lib/ffaker/name_br.rb +37 -6
  129. data/lib/ffaker/name_cn.rb +2 -2
  130. data/lib/ffaker/name_cs.rb +10 -10
  131. data/lib/ffaker/name_da.rb +6 -6
  132. data/lib/ffaker/name_de.rb +5 -5
  133. data/lib/ffaker/name_fr.rb +4 -4
  134. data/lib/ffaker/name_ga.rb +4 -5
  135. data/lib/ffaker/name_gr.rb +60 -0
  136. data/lib/ffaker/name_it.rb +4 -4
  137. data/lib/ffaker/name_ja.rb +3 -3
  138. data/lib/ffaker/name_kh.rb +22 -0
  139. data/lib/ffaker/name_kr.rb +3 -3
  140. data/lib/ffaker/name_mx.rb +14 -14
  141. data/lib/ffaker/name_nb.rb +5 -5
  142. data/lib/ffaker/name_nl.rb +7 -7
  143. data/lib/ffaker/name_ph.rb +2 -2
  144. data/lib/ffaker/name_ru.rb +7 -8
  145. data/lib/ffaker/name_se.rb +5 -5
  146. data/lib/ffaker/name_sn.rb +23 -23
  147. data/lib/ffaker/name_th.rb +3 -3
  148. data/lib/ffaker/name_th_en.rb +26 -0
  149. data/lib/ffaker/name_ua.rb +8 -8
  150. data/lib/ffaker/name_vn.rb +4 -4
  151. data/lib/ffaker/nato_alphabet.rb +10 -10
  152. data/lib/ffaker/phone_number.rb +31 -21
  153. data/lib/ffaker/phone_number_au.rb +3 -3
  154. data/lib/ffaker/phone_number_br.rb +9 -8
  155. data/lib/ffaker/phone_number_ch.rb +7 -7
  156. data/lib/ffaker/phone_number_cu.rb +5 -5
  157. data/lib/ffaker/phone_number_de.rb +1 -1
  158. data/lib/ffaker/phone_number_fr.rb +4 -4
  159. data/lib/ffaker/phone_number_it.rb +2 -2
  160. data/lib/ffaker/phone_number_kr.rb +4 -4
  161. data/lib/ffaker/phone_number_mx.rb +4 -5
  162. data/lib/ffaker/phone_number_nl.rb +13 -13
  163. data/lib/ffaker/phone_number_se.rb +18 -19
  164. data/lib/ffaker/phone_number_sg.rb +8 -8
  165. data/lib/ffaker/phone_number_sn.rb +2 -2
  166. data/lib/ffaker/product.rb +18 -14
  167. data/lib/ffaker/skill.rb +3 -3
  168. data/lib/ffaker/sport.rb +1 -1
  169. data/lib/ffaker/ssn_se.rb +19 -20
  170. data/lib/ffaker/string.rb +21 -23
  171. data/lib/ffaker/time.rb +19 -7
  172. data/lib/ffaker/tweet.rb +59 -0
  173. data/lib/ffaker/unit.rb +12 -12
  174. data/lib/ffaker/unit_english.rb +34 -35
  175. data/lib/ffaker/unit_metric.rb +25 -25
  176. data/lib/ffaker/utils/array_utils.rb +12 -9
  177. data/lib/ffaker/utils/module_utils.rb +9 -6
  178. data/lib/ffaker/utils/random_utils.rb +33 -0
  179. data/lib/ffaker/vehicle.rb +21 -21
  180. data/lib/ffaker/venue.rb +1 -1
  181. data/lib/ffaker/youtube.rb +24 -0
  182. data/scripts/benchmark.rb +3 -3
  183. data/scripts/reference.rb +26 -23
  184. data/test/helper.rb +50 -0
  185. data/test/test_address.rb +40 -21
  186. data/test/test_address_au.rb +19 -9
  187. data/test/test_address_br.rb +9 -2
  188. data/test/test_address_ca.rb +7 -0
  189. data/test/test_address_ch.rb +6 -2
  190. data/test/test_address_ch_de.rb +7 -3
  191. data/test/test_address_ch_fr.rb +7 -3
  192. data/test/test_address_ch_it.rb +5 -1
  193. data/test/test_address_da.rb +18 -9
  194. data/test/test_address_de.rb +12 -5
  195. data/test/test_address_fi.rb +10 -3
  196. data/test/test_address_fr.rb +13 -0
  197. data/test/test_address_gr.rb +43 -0
  198. data/test/test_address_in.rb +20 -12
  199. data/test/test_address_kr.rb +14 -0
  200. data/test/test_address_mx.rb +12 -5
  201. data/test/test_address_nl.rb +11 -5
  202. data/test/test_address_ru.rb +11 -5
  203. data/test/test_address_se.rb +9 -3
  204. data/test/test_address_sn.rb +7 -1
  205. data/test/test_address_ua.rb +17 -10
  206. data/test/test_address_uk.rb +11 -3
  207. data/test/test_address_us.rb +15 -6
  208. data/test/test_airline.rb +17 -0
  209. data/test/test_array_utils.rb +51 -3
  210. data/test/test_avatar.rb +5 -1
  211. data/test/test_aws.rb +25 -0
  212. data/test/test_bacon_ipsum.rb +12 -6
  213. data/test/test_book.rb +41 -0
  214. data/test/test_boolean.rb +4 -0
  215. data/test/test_cheesy_lingo.rb +14 -10
  216. data/test/test_color.rb +126 -1
  217. data/test/test_color_ua.rb +5 -1
  218. data/test/test_company.rb +7 -0
  219. data/test/test_company_cn.rb +24 -0
  220. data/test/test_company_it.rb +7 -1
  221. data/test/test_company_se.rb +6 -0
  222. data/test/test_conference.rb +5 -2
  223. data/test/test_course_mathematiques.rb +5 -1
  224. data/test/test_course_philosophie.rb +5 -1
  225. data/test/test_currency.rb +12 -0
  226. data/test/test_dizzle_ipsum.rb +12 -6
  227. data/test/test_education.rb +9 -2
  228. data/test/test_faker.rb +8 -1
  229. data/test/test_food.rb +11 -4
  230. data/test/test_gender.rb +5 -1
  231. data/test/test_gender_br.rb +18 -0
  232. data/test/test_gender_cn.rb +5 -2
  233. data/test/test_gender_kr.rb +7 -3
  234. data/test/test_geolocation.rb +11 -8
  235. data/test/test_guid.rb +6 -1
  236. data/test/test_healthcare_ipsum.rb +13 -6
  237. data/test/test_hipster_ipsum.rb +13 -6
  238. data/test/test_html_ipsum.rb +28 -20
  239. data/test/test_identification.rb +9 -2
  240. data/test/test_identification_br.rb +46 -0
  241. data/test/test_identification_co.rb +7 -0
  242. data/test/test_identification_es.rb +5 -1
  243. data/test/test_identification_es_cl.rb +5 -1
  244. data/test/test_identification_es_mx.rb +7 -2
  245. data/test/test_identification_kr.rb +4 -0
  246. data/test/test_internet.rb +36 -5
  247. data/test/test_internet_se.rb +12 -4
  248. data/test/test_job.rb +4 -0
  249. data/test/test_job_br.rb +17 -0
  250. data/test/test_job_cn.rb +4 -0
  251. data/test/test_job_fr.rb +4 -0
  252. data/test/test_job_ja.rb +4 -0
  253. data/test/test_job_kr.rb +4 -0
  254. data/test/test_job_vn.rb +22 -0
  255. data/test/test_locale.rb +10 -4
  256. data/test/test_lorem.rb +18 -11
  257. data/test/test_lorem_ar.rb +16 -8
  258. data/test/test_lorem_cn.rb +9 -2
  259. data/test/test_lorem_fr.rb +16 -8
  260. data/test/test_lorem_ja.rb +81 -0
  261. data/test/test_lorem_kr.rb +17 -8
  262. data/test/test_lorem_ua.rb +15 -8
  263. data/test/test_module_utils.rb +2 -2
  264. data/test/test_movie.rb +5 -1
  265. data/test/test_music.rb +11 -4
  266. data/test/test_name.rb +114 -1
  267. data/test/test_name_br.rb +41 -2
  268. data/test/test_name_cn.rb +7 -0
  269. data/test/test_name_cs.rb +7 -0
  270. data/test/test_name_da.rb +13 -6
  271. data/test/test_name_de.rb +4 -0
  272. data/test/test_name_fr.rb +7 -0
  273. data/test/test_name_ga.rb +7 -0
  274. data/test/test_name_gr.rb +70 -0
  275. data/test/test_name_it.rb +7 -0
  276. data/test/test_name_ja.rb +7 -0
  277. data/test/test_name_kh.rb +32 -0
  278. data/test/test_name_kr.rb +7 -0
  279. data/test/test_name_mx.rb +9 -0
  280. data/test/test_name_nb.rb +8 -0
  281. data/test/test_name_nl.rb +4 -0
  282. data/test/test_name_ph.rb +7 -0
  283. data/test/test_name_ru.rb +10 -3
  284. data/test/test_name_se.rb +12 -4
  285. data/test/test_name_sn.rb +8 -0
  286. data/test/test_name_th.rb +7 -0
  287. data/test/test_name_th_en.rb +35 -0
  288. data/test/test_name_ua.rb +26 -17
  289. data/test/test_name_vn.rb +42 -0
  290. data/test/test_nato_alphabet.rb +15 -4
  291. data/test/test_phone_number.rb +24 -6
  292. data/test/test_phone_number_au.rb +17 -6
  293. data/test/test_phone_number_br.rb +22 -13
  294. data/test/test_phone_number_cu.rb +29 -18
  295. data/test/test_phone_number_da.rb +16 -7
  296. data/test/test_phone_number_de.rb +17 -9
  297. data/test/test_phone_number_kr.rb +9 -0
  298. data/test/test_phone_number_mx.rb +16 -8
  299. data/test/test_phone_number_nl.rb +9 -2
  300. data/test/test_phone_number_se.rb +12 -7
  301. data/test/test_phone_number_sg.rb +17 -9
  302. data/test/test_phone_number_sn.rb +12 -4
  303. data/test/test_products.rb +22 -0
  304. data/test/test_skill.rb +8 -2
  305. data/test/test_sports.rb +4 -0
  306. data/test/test_ssn.rb +3 -1
  307. data/test/test_ssn_mx.rb +6 -1
  308. data/test/test_ssn_se.rb +3 -0
  309. data/test/test_string.rb +28 -1
  310. data/test/test_time.rb +33 -2
  311. data/test/test_tweet.rb +59 -0
  312. data/test/test_units.rb +7 -0
  313. data/test/test_units_english.rb +9 -0
  314. data/test/test_units_metric.rb +9 -0
  315. data/test/test_vehicle.rb +24 -15
  316. data/test/test_venue.rb +5 -1
  317. data/test/test_youtube.rb +28 -0
  318. metadata +101 -5
  319. data/lib/ffaker/data/name/first_names +0 -3008
  320. data/lib/ffaker/data/name_br/first_names +0 -91
@@ -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 /^<a href="#\w+" title="[ \w]+">[ \w]+<\/a>$/i, FFaker::HTMLIpsum.a
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 /^<p>([ \w]+\.)+<\/p>$/i, FFaker::HTMLIpsum.p
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 /^<p>(?:[ \w\.]+<br>){2}[ \w\.]+<\/p>$/i, FFaker::HTMLIpsum.p(3, {:include_breaks => true})
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, {:fancy => true})
32
- assert_match /^<p>/, str
33
- assert_match /<\/p>$/, str
34
- assert str.length > 6, "string contains more than <p></p>"
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, {:fancy => true, :include_breaks => true})
41
- assert_equal 10, str.split("<br>").length
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 /^<dl>(<dt>[ \w]+<\/dt><dd>[ \w.]+<\/dd>){3}<\/dl>$/i, FFaker::HTMLIpsum.dl(3)
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 /^<ul>(<li>[ \w.]+<\/li>){3}<\/ul>$/i, FFaker::HTMLIpsum.ul_short(3)
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 /^<ul>(<li>[ \w.]+<\/li>){3}<\/ul>$/i, FFaker::HTMLIpsum.ul_long(3)
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 /^<ol>(<li>[ \w.]+<\/li>){3}<\/ol>$/i, FFaker::HTMLIpsum.ol_short(3)
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 /^<ol>(<li>[ \w.]+<\/li>){3}<\/ol>$/i, FFaker::HTMLIpsum.ol_long(3)
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 /^<ul>(<li><a href="#\w+" title="\w+">[ \w]+<\/a><\/li>){3}<\/ul>$/i, FFaker::HTMLIpsum.ul_links(3)
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 /(<td>[ \w]+<\/td>\s*){3}/i, FFaker::HTMLIpsum.table(3)
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 /^<h1>.+<\/pre>$/im, FFaker::HTMLIpsum.body
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), "returns a string"
82
- assert FFaker::HTMLIpsum.fancy_string.length > 1, "the string is longer than one char"
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("<br>").length
97
+ assert_equal 3, str.split('<br>').length
90
98
  end
91
99
  end
@@ -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 drivers_license_regex, @tester.drivers_license
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 ethnicity_regex, @tester.ethnicity
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 /(Hombre|Mujer)/, @tester.gender
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 /\b\d{7,8}\-[k|0-9]/i, @tester.rut
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
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerIdentificationKr < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::IdentificationKr, :rrn)
9
+
6
10
  def setup
7
11
  @tester = FFaker::IdentificationKr
8
12
  end
@@ -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("ftp").match(/^ftp:\/\/.+/)
52
- assert @tester.uri("http").match(/^http:\/\/.+/)
53
- assert @tester.uri("https").match(/^https:\/\/.+/)
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("Input Words&&Symbols"))
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
@@ -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("ftp").match(/^ftp:\/\/.+/)
54
- assert @tester.uri("http").match(/^http:\/\/.+/)
55
- assert @tester.uri("https").match(/^https:\/\/.+/)
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
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerJob < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::Job, :title)
9
+
6
10
  def setup
7
11
  @tester = FFaker::Job
8
12
  end
@@ -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
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerJobCN < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::JobCN, :title)
9
+
6
10
  def setup
7
11
  @tester = FFaker::JobCN
8
12
  end
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerJobFr < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::JobFR, :title)
9
+
6
10
  def setup
7
11
  @tester = FFaker::JobFR
8
12
  end
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerJobJA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::JobJA, :title)
9
+
6
10
  def setup
7
11
  @tester = FFaker::JobJA
8
12
  end