ffaker 2.16.0 → 2.20.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.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +32 -0
  3. data/README.md +6 -4
  4. data/REFERENCE.md +1484 -1257
  5. data/Rakefile +3 -3
  6. data/ffaker.gemspec +4 -7
  7. data/lib/ffaker/address_au.rb +1 -1
  8. data/lib/ffaker/address_br.rb +1 -1
  9. data/lib/ffaker/address_ca.rb +1 -1
  10. data/lib/ffaker/address_ch.rb +0 -2
  11. data/lib/ffaker/address_ch_de.rb +0 -2
  12. data/lib/ffaker/address_ch_fr.rb +0 -2
  13. data/lib/ffaker/address_ch_it.rb +0 -2
  14. data/lib/ffaker/address_da.rb +0 -2
  15. data/lib/ffaker/address_de.rb +0 -2
  16. data/lib/ffaker/address_fi.rb +0 -2
  17. data/lib/ffaker/address_fr.rb +0 -2
  18. data/lib/ffaker/address_gr.rb +0 -2
  19. data/lib/ffaker/address_id.rb +0 -2
  20. data/lib/ffaker/address_in.rb +0 -2
  21. data/lib/ffaker/address_it.rb +37 -0
  22. data/lib/ffaker/address_ja.rb +0 -2
  23. data/lib/ffaker/address_mx.rb +2 -8
  24. data/lib/ffaker/address_nl.rb +0 -2
  25. data/lib/ffaker/address_ru.rb +0 -2
  26. data/lib/ffaker/address_se.rb +0 -2
  27. data/lib/ffaker/address_sn.rb +0 -2
  28. data/lib/ffaker/address_ua.rb +0 -2
  29. data/lib/ffaker/address_uk.rb +0 -2
  30. data/lib/ffaker/address_us.rb +0 -2
  31. data/lib/ffaker/animal.rb +1 -1
  32. data/lib/ffaker/bacon_ipsum.rb +0 -2
  33. data/lib/ffaker/company_fr.rb +35 -0
  34. data/lib/ffaker/{courses.rb → courses_fr.rb} +2 -0
  35. data/lib/ffaker/data/address_br/city +0 -1
  36. data/lib/ffaker/data/address_br/state +1 -1
  37. data/lib/ffaker/data/address_it/city +111 -0
  38. data/lib/ffaker/data/address_it/region +20 -0
  39. data/lib/ffaker/data/filesystem/extension +31 -31
  40. data/lib/ffaker/data/food_pl/diary +14 -0
  41. data/lib/ffaker/data/food_pl/fermented +13 -0
  42. data/lib/ffaker/data/food_pl/fruits +34 -0
  43. data/lib/ffaker/data/food_pl/herbs +20 -0
  44. data/lib/ffaker/data/food_pl/meats +9 -0
  45. data/lib/ffaker/data/food_pl/preserves +10 -0
  46. data/lib/ffaker/data/food_pl/spices +26 -0
  47. data/lib/ffaker/data/food_pl/vegetables +45 -0
  48. data/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
  49. data/lib/ffaker/data/game/adj_and_adv +18 -0
  50. data/lib/ffaker/data/game/category +84 -0
  51. data/lib/ffaker/data/game/mechanic +182 -0
  52. data/lib/ffaker/data/game/nouns +37 -0
  53. data/lib/ffaker/data/game/prefixes +17 -0
  54. data/lib/ffaker/data/job_it/job_adj +37 -0
  55. data/lib/ffaker/data/job_it/job_noun +25 -0
  56. data/lib/ffaker/data/job_it/job_prefix +22 -0
  57. data/lib/ffaker/data/lorem/words +0 -67
  58. data/lib/ffaker/data/lorem_br/characters +36 -0
  59. data/lib/ffaker/data/lorem_br/words +183 -0
  60. data/lib/ffaker/data/lorem_it/words +321 -0
  61. data/lib/ffaker/data/name/pronouns +1 -1
  62. data/lib/ffaker/data/name_ga/first_names_male +286 -286
  63. data/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
  64. data/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
  65. data/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
  66. data/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
  67. data/lib/ffaker/data/sport_ru/summer +68 -0
  68. data/lib/ffaker/data/sport_ru/winter +20 -0
  69. data/lib/ffaker/dizzle_ipsum.rb +0 -2
  70. data/lib/ffaker/filesystem.rb +7 -7
  71. data/lib/ffaker/food_pl.rb +65 -0
  72. data/lib/ffaker/freedom_ipsum.rb +20 -0
  73. data/lib/ffaker/game.rb +33 -0
  74. data/lib/ffaker/gender_it.rb +17 -0
  75. data/lib/ffaker/gender_ru.rb +22 -0
  76. data/lib/ffaker/healthcare_ipsum.rb +0 -2
  77. data/lib/ffaker/hipster_ipsum.rb +0 -2
  78. data/lib/ffaker/identification_es_cl.rb +0 -2
  79. data/lib/ffaker/identification_es_co.rb +0 -1
  80. data/lib/ffaker/identification_it.rb +30 -0
  81. data/lib/ffaker/identification_kr.rb +1 -1
  82. data/lib/ffaker/identification_mx.rb +1 -3
  83. data/lib/ffaker/image.rb +8 -11
  84. data/lib/ffaker/internet.rb +1 -1
  85. data/lib/ffaker/internet_se.rb +1 -3
  86. data/lib/ffaker/job_it.rb +12 -0
  87. data/lib/ffaker/lorem_br.rb +45 -0
  88. data/lib/ffaker/lorem_cn.rb +0 -1
  89. data/lib/ffaker/lorem_it.rb +39 -0
  90. data/lib/ffaker/name_cs.rb +0 -2
  91. data/lib/ffaker/name_da.rb +0 -2
  92. data/lib/ffaker/name_de.rb +0 -2
  93. data/lib/ffaker/name_mx.rb +0 -2
  94. data/lib/ffaker/name_nb.rb +0 -2
  95. data/lib/ffaker/name_nl.rb +0 -2
  96. data/lib/ffaker/name_ph.rb +0 -2
  97. data/lib/ffaker/name_ru.rb +0 -2
  98. data/lib/ffaker/name_se.rb +0 -2
  99. data/lib/ffaker/name_th_en.rb +1 -1
  100. data/lib/ffaker/name_ua.rb +0 -2
  101. data/lib/ffaker/number.rb +26 -0
  102. data/lib/ffaker/phone_number_br.rb +2 -2
  103. data/lib/ffaker/phone_number_da.rb +0 -1
  104. data/lib/ffaker/phone_number_it.rb +8 -6
  105. data/lib/ffaker/phone_number_ja.rb +88 -0
  106. data/lib/ffaker/sport_ru.rb +25 -0
  107. data/lib/ffaker/ssn.rb +1 -3
  108. data/lib/ffaker/ssn_se.rb +0 -19
  109. data/lib/ffaker/string.rb +4 -4
  110. data/lib/ffaker/unit.rb +9 -10
  111. data/lib/ffaker/unit_english.rb +18 -21
  112. data/lib/ffaker/unit_metric.rb +15 -18
  113. data/lib/ffaker/utils/array_utils.rb +1 -1
  114. data/lib/ffaker/utils/module_utils.rb +23 -3
  115. data/lib/ffaker/vehicle.rb +1 -1
  116. data/lib/ffaker.rb +19 -4
  117. data/lib/version.rb +1 -1
  118. data/scripts/profiling.rb +1 -1
  119. data/scripts/reference.rb +2 -3
  120. data/test/helper.rb +4 -4
  121. data/test/test_address.rb +1 -1
  122. data/test/test_address_au.rb +3 -3
  123. data/test/test_address_br.rb +2 -2
  124. data/test/test_address_ca.rb +1 -1
  125. data/test/test_address_ch.rb +1 -1
  126. data/test/test_address_ch_de.rb +1 -1
  127. data/test/test_address_ch_fr.rb +1 -1
  128. data/test/test_address_ch_it.rb +1 -1
  129. data/test/test_address_da.rb +1 -1
  130. data/test/test_address_de.rb +1 -1
  131. data/test/test_address_fi.rb +3 -3
  132. data/test/test_address_fr.rb +1 -1
  133. data/test/test_address_gr.rb +1 -1
  134. data/test/test_address_id.rb +2 -2
  135. data/test/test_address_in.rb +1 -1
  136. data/test/test_address_it.rb +12 -0
  137. data/test/test_address_ja.rb +2 -2
  138. data/test/test_address_kr.rb +1 -1
  139. data/test/test_address_mx.rb +1 -1
  140. data/test/test_address_nl.rb +1 -1
  141. data/test/test_address_pl.rb +1 -1
  142. data/test/test_address_ru.rb +1 -1
  143. data/test/test_address_se.rb +3 -3
  144. data/test/test_address_sn.rb +1 -1
  145. data/test/test_address_ua.rb +1 -1
  146. data/test/test_address_uk.rb +1 -1
  147. data/test/test_address_us.rb +1 -1
  148. data/test/test_airline.rb +1 -1
  149. data/test/test_animal.rb +1 -1
  150. data/test/test_animal_cn.rb +1 -1
  151. data/test/test_animal_es.rb +1 -1
  152. data/test/test_animal_pl.rb +1 -1
  153. data/test/test_animal_us.rb +1 -1
  154. data/test/test_array_utils.rb +2 -1
  155. data/test/test_avatar.rb +1 -1
  156. data/test/test_aws.rb +2 -2
  157. data/test/test_bacon_ipsum.rb +1 -1
  158. data/test/test_bank.rb +3 -4
  159. data/test/test_book.rb +5 -5
  160. data/test/test_boolean.rb +1 -1
  161. data/test/test_cheesy_lingo.rb +1 -1
  162. data/test/test_code.rb +1 -1
  163. data/test/test_color.rb +1 -1
  164. data/test/test_color_pl.rb +1 -1
  165. data/test/test_color_ua.rb +1 -1
  166. data/test/test_company.rb +1 -1
  167. data/test/test_company_cn.rb +1 -1
  168. data/test/test_company_fr.rb +33 -0
  169. data/test/test_company_it.rb +1 -1
  170. data/test/test_company_ja.rb +1 -1
  171. data/test/test_company_se.rb +1 -1
  172. data/test/test_conference.rb +1 -1
  173. data/test/test_course_mathematiques.rb +1 -1
  174. data/test/test_course_philosophie.rb +1 -1
  175. data/test/test_currency.rb +1 -1
  176. data/test/test_dizzle_ipsum.rb +1 -1
  177. data/test/test_education.rb +1 -1
  178. data/test/test_education_cn.rb +1 -1
  179. data/test/{test_faker.rb → test_ffaker.rb} +6 -2
  180. data/test/test_filesystem.rb +12 -4
  181. data/test/test_food.rb +1 -1
  182. data/test/test_food_pl.rb +61 -0
  183. data/test/test_freedom_ipsum.rb +21 -0
  184. data/test/test_game.rb +28 -0
  185. data/test/test_gender.rb +2 -2
  186. data/test/test_gender_br.rb +1 -1
  187. data/test/test_gender_cn.rb +1 -1
  188. data/test/test_gender_id.rb +1 -1
  189. data/test/test_gender_it.rb +27 -0
  190. data/test/test_gender_ja.rb +1 -1
  191. data/test/test_gender_jp.rb +1 -1
  192. data/test/test_gender_kr.rb +1 -1
  193. data/test/test_gender_pl.rb +1 -1
  194. data/test/test_gender_ru.rb +23 -0
  195. data/test/test_geolocation.rb +1 -1
  196. data/test/test_guid.rb +1 -1
  197. data/test/test_healthcare_ipsum.rb +1 -1
  198. data/test/test_healthcare_ru.rb +2 -2
  199. data/test/test_hipster_ipsum.rb +1 -1
  200. data/test/test_html_ipsum.rb +2 -2
  201. data/test/test_identification.rb +1 -1
  202. data/test/test_identification_br.rb +1 -1
  203. data/test/test_identification_co.rb +2 -2
  204. data/test/test_identification_es.rb +1 -1
  205. data/test/test_identification_es_cl.rb +2 -2
  206. data/test/test_identification_es_mx.rb +1 -1
  207. data/test/test_identification_in.rb +1 -1
  208. data/test/test_identification_it.rb +34 -0
  209. data/test/test_identification_kr.rb +1 -1
  210. data/test/test_identification_tw.rb +1 -1
  211. data/test/test_image.rb +5 -5
  212. data/test/test_internet.rb +1 -1
  213. data/test/test_internet_se.rb +2 -2
  214. data/test/test_job.rb +1 -1
  215. data/test/test_job_br.rb +1 -1
  216. data/test/test_job_cn.rb +1 -1
  217. data/test/test_job_fr.rb +1 -1
  218. data/test/test_job_it.rb +17 -0
  219. data/test/test_job_ja.rb +1 -1
  220. data/test/test_job_kr.rb +1 -1
  221. data/test/test_job_vn.rb +1 -1
  222. data/test/test_locale.rb +1 -1
  223. data/test/test_lorem.rb +5 -1
  224. data/test/test_lorem_ar.rb +1 -1
  225. data/test/test_lorem_br.rb +62 -0
  226. data/test/test_lorem_cn.rb +1 -1
  227. data/test/test_lorem_fr.rb +10 -8
  228. data/test/test_lorem_ie.rb +1 -1
  229. data/test/test_lorem_it.rb +51 -0
  230. data/test/test_lorem_ja.rb +1 -1
  231. data/test/test_lorem_kr.rb +1 -1
  232. data/test/test_lorem_pl.rb +2 -2
  233. data/test/test_lorem_ru.rb +2 -2
  234. data/test/test_lorem_ua.rb +2 -2
  235. data/test/test_module_utils.rb +1 -1
  236. data/test/test_movie.rb +1 -1
  237. data/test/test_music.rb +5 -5
  238. data/test/test_name.rb +1 -1
  239. data/test/test_name_ar.rb +1 -1
  240. data/test/test_name_br.rb +1 -1
  241. data/test/test_name_cn.rb +1 -1
  242. data/test/test_name_cs.rb +1 -1
  243. data/test/test_name_da.rb +1 -1
  244. data/test/test_name_de.rb +1 -1
  245. data/test/test_name_es.rb +1 -1
  246. data/test/test_name_fr.rb +1 -1
  247. data/test/test_name_ga.rb +1 -1
  248. data/test/test_name_gr.rb +1 -1
  249. data/test/test_name_id.rb +1 -1
  250. data/test/test_name_it.rb +1 -1
  251. data/test/test_name_ja.rb +1 -1
  252. data/test/test_name_kh.rb +1 -1
  253. data/test/test_name_kr.rb +1 -1
  254. data/test/test_name_mx.rb +1 -1
  255. data/test/test_name_nb.rb +1 -1
  256. data/test/test_name_nl.rb +1 -1
  257. data/test/test_name_ph.rb +1 -1
  258. data/test/test_name_pl.rb +1 -1
  259. data/test/test_name_ru.rb +1 -1
  260. data/test/test_name_se.rb +1 -1
  261. data/test/test_name_sn.rb +1 -1
  262. data/test/test_name_th.rb +1 -1
  263. data/test/test_name_th_en.rb +1 -1
  264. data/test/test_name_tw.rb +1 -1
  265. data/test/test_name_ua.rb +1 -1
  266. data/test/test_name_vn.rb +1 -1
  267. data/test/test_nato_alphabet.rb +1 -1
  268. data/test/test_number.rb +45 -0
  269. data/test/test_phone_number.rb +1 -1
  270. data/test/test_phone_number_au.rb +1 -1
  271. data/test/test_phone_number_br.rb +1 -1
  272. data/test/test_phone_number_cu.rb +1 -1
  273. data/test/test_phone_number_da.rb +1 -1
  274. data/test/test_phone_number_de.rb +1 -1
  275. data/test/test_phone_number_fr.rb +1 -1
  276. data/test/test_phone_number_id.rb +1 -1
  277. data/test/test_phone_number_it.rb +12 -0
  278. data/test/test_phone_number_ja.rb +63 -0
  279. data/test/test_phone_number_kr.rb +1 -1
  280. data/test/test_phone_number_mx.rb +1 -1
  281. data/test/test_phone_number_nl.rb +1 -1
  282. data/test/test_phone_number_pl.rb +1 -1
  283. data/test/test_phone_number_se.rb +1 -1
  284. data/test/test_phone_number_sg.rb +1 -1
  285. data/test/test_phone_number_sn.rb +1 -1
  286. data/test/test_phone_number_tw.rb +1 -1
  287. data/test/test_phone_number_ua.rb +1 -1
  288. data/test/test_products.rb +1 -1
  289. data/test/test_sem_ver.rb +1 -1
  290. data/test/test_skill.rb +1 -1
  291. data/test/test_sport_pl.rb +1 -1
  292. data/test/test_sport_ru.rb +30 -0
  293. data/test/test_sport_us.rb +1 -1
  294. data/test/test_sports.rb +1 -1
  295. data/test/test_ssn.rb +1 -1
  296. data/test/test_ssn_mx.rb +1 -1
  297. data/test/test_ssn_se.rb +2 -2
  298. data/test/test_string.rb +4 -4
  299. data/test/test_time.rb +3 -4
  300. data/test/test_tweet.rb +5 -5
  301. data/test/test_unique_utils.rb +1 -1
  302. data/test/test_units.rb +2 -1
  303. data/test/test_units_english.rb +1 -1
  304. data/test/test_units_metric.rb +1 -1
  305. data/test/test_vehicle.rb +3 -3
  306. data/test/test_venue.rb +1 -1
  307. data/test/test_youtube.rb +1 -1
  308. metadata +232 -160
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerGenderID < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerGenderIT < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ GENDER_REGEX = /\A(maschio|femmina)\z/.freeze
9
+
10
+ assert_methods_are_deterministic(FFaker::GenderIT, :random)
11
+
12
+ def setup
13
+ @tester = FFaker::GenderIT
14
+ end
15
+
16
+ def test_random
17
+ assert_match(GENDER_REGEX, @tester.random)
18
+ end
19
+
20
+ def test_sample
21
+ assert_match(GENDER_REGEX, @tester.sample)
22
+ end
23
+
24
+ def test_maybe
25
+ assert_match(GENDER_REGEX, @tester.maybe)
26
+ end
27
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerGenderJA < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerGenderJP < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerGenderKR < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerGenderPL < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerGenderRU < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::GenderRU, :binary, :random)
9
+
10
+ def setup
11
+ @tester = FFaker::GenderRU
12
+ end
13
+
14
+ def test_random
15
+ gender_regex = /\A(?:мужчина|женщина|нонбайнари|агендер)\z/
16
+ assert_match(gender_regex, @tester.random)
17
+ end
18
+
19
+ def test_binary
20
+ gender_regex = /\A(?:мужчина|женщина)\z/
21
+ assert_match(gender_regex, @tester.binary)
22
+ end
23
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestGeolocation < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_guid.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestGuid < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestHealthcareIpsum < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestHealthcareRU < Test::Unit::TestCase
6
6
  include DeterministicHelper
7
7
 
8
- SPECIALIZATION_REGEX = /\A[А-Яа-я\ \(\)\-]+\z/.freeze
8
+ SPECIALIZATION_REGEX = /\A[А-Яа-я\ ()\-]+\z/.freeze
9
9
 
10
10
  assert_methods_are_deterministic(FFaker::HealthcareRU, :doctor_specialization)
11
11
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestHipsterIpsum < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestHTMLIpsum < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -28,7 +28,7 @@ class TestHTMLIpsum < Test::Unit::TestCase
28
28
 
29
29
  def test_p_breaks
30
30
  # Here we can at least test how many <br> tags there are.
31
- assert_match(%r{^<p>(?:[ \w\.]+<br>){2}[ \w\.]+</p>$}i, FFaker::HTMLIpsum.p(3, include_breaks: true))
31
+ assert_match(%r{^<p>(?:[ \w.]+<br>){2}[ \w.]+</p>$}i, FFaker::HTMLIpsum.p(3, include_breaks: true))
32
32
  end
33
33
 
34
34
  def test_p_fancy
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerIdentification < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerIdentificationBR < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerIdentificationESCO < Test::Unit::TestCase
6
6
  include Test::Unit::Assertions
@@ -28,7 +28,7 @@ class TestFakerIdentificationESCO < Test::Unit::TestCase
28
28
  end
29
29
 
30
30
  def test_category
31
- assert_match(/\A([a][1-2]|[bc][1-3])\z/i, @tester.driver_license_category)
31
+ assert_match(/\A(a[1-2]|[bc][1-3])\z/i, @tester.driver_license_category)
32
32
  end
33
33
 
34
34
  def test_blood_type
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerIdentificationES < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerIdentificationESCL < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -12,6 +12,6 @@ class TestFakerIdentificationESCL < Test::Unit::TestCase
12
12
  end
13
13
 
14
14
  def test_rut
15
- 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)
16
16
  end
17
17
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestIdentificationMX < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestIdentificationIN < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerIdentificationIT < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::IdentificationIT,
10
+ :drivers_license, :ssn, :gender, :ethnicity
11
+ )
12
+
13
+ def setup
14
+ @tester = FFaker::IdentificationIT
15
+ end
16
+
17
+ def test_drivers_license
18
+ drivers_license_regex = /\AU1[1-9]\d{7}[A-Z]\z/
19
+ assert_match(drivers_license_regex, @tester.drivers_license)
20
+ end
21
+
22
+ def test_ssn
23
+ assert_match(/\A\d{20}\z/, @tester.ssn)
24
+ end
25
+
26
+ def test_gender
27
+ assert_match(/\A(Maschio|Femmina)\z/, @tester.gender)
28
+ end
29
+
30
+ def test_ethnicity
31
+ ethnicity_regex = %r{\A(Afroamericano|Asiatico/isolano del Pacifico|Caucasico|Ispanico|Nativo americano|Multirazziale|Altro|Preferisco non rispondere)\z}
32
+ assert_match(ethnicity_regex, @tester.ethnicity)
33
+ end
34
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerIdentificationKr < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerIdentificationTW < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_image.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestImage < Test::Unit::TestCase
6
6
  include DeterministicHelper
7
7
 
8
- PLACEHOLDER = 'https://via.placeholder.com/'
8
+ PLACEHOLDER = 'https://dummyimage.com/'
9
9
 
10
10
  assert_methods_are_deterministic(FFaker::Image, :url)
11
11
 
@@ -14,7 +14,7 @@ class TestImage < Test::Unit::TestCase
14
14
  end
15
15
 
16
16
  def test_url
17
- assert_match(%r(#{Regexp.quote(PLACEHOLDER)}300x300\/[0-9a-f]{6}\/[0-9a-f]{6}\.png\?text=),
17
+ assert_match(%r(#{Regexp.quote(PLACEHOLDER)}300x300/[0-9a-f]{6}/[0-9a-f]{6}\.png\?text=),
18
18
  @tester.url)
19
19
  end
20
20
 
@@ -24,7 +24,7 @@ class TestImage < Test::Unit::TestCase
24
24
  end
25
25
 
26
26
  def test_image_url_with_correct_size
27
- assert_match(%r(#{Regexp.quote(PLACEHOLDER)}150x320\/[0-9a-f]{6}\/[0-9a-f]{6}\.png\?text=),
27
+ assert_match(%r(#{Regexp.quote(PLACEHOLDER)}150x320/[0-9a-f]{6}/[0-9a-f]{6}\.png\?text=),
28
28
  @tester.url('150x320'))
29
29
  end
30
30
 
@@ -35,7 +35,7 @@ class TestImage < Test::Unit::TestCase
35
35
  end
36
36
 
37
37
  def test_image_url_with_supported_format
38
- assert_match(%r(#{Regexp.quote(PLACEHOLDER)}300x300\/[0-9a-f]{6}\/[0-9a-f]{6}\.jpg\?text=),
38
+ assert_match(%r(#{Regexp.quote(PLACEHOLDER)}300x300/[0-9a-f]{6}/[0-9a-f]{6}\.jpg\?text=),
39
39
  @tester.url('300x300', 'jpg'))
40
40
  end
41
41
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerInternet < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerInternetSE < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -73,6 +73,6 @@ class TestFakerInternetSE < Test::Unit::TestCase
73
73
  end
74
74
 
75
75
  def test_slug
76
- assert @tester.slug.match(/^[a-z]+(_|\.|\-)[a-z]+$/)
76
+ assert @tester.slug.match(/^[a-z]+(_|\.|-)[a-z]+$/)
77
77
  end
78
78
  end
data/test/test_job.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerJob < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_job_br.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerJobBR < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_job_cn.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerJobCN < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_job_fr.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerJobFr < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerJobIT < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::JobIT, :title)
9
+
10
+ def setup
11
+ @tester = FFaker::JobIT
12
+ end
13
+
14
+ def test_title
15
+ assert_match(/\A(\w+\.? ?){2,3}\z/, @tester.title)
16
+ end
17
+ end
data/test/test_job_ja.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerJobJA < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_job_kr.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerJobKR < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_job_vn.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestFakerJobVN < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_locale.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestLocale < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_lorem.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestLorem < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -51,4 +51,8 @@ class TestLorem < Test::Unit::TestCase
51
51
  assert FFaker::Lorem.characters(10).length == 10
52
52
  assert FFaker::Lorem.characters(-1) == ''
53
53
  end
54
+
55
+ def test_word_collection_uniqueness
56
+ assert_equal(FFaker::Lorem::WORDS, FFaker::Lorem::WORDS.uniq)
57
+ end
54
58
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestLoremARAR < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestLoremBR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::LoremBR,
10
+ :paragraph, :sentence, :phrase, :paragraphs, :sentences, :phrases, :words, :word, :characters
11
+ )
12
+
13
+ CHARACTERS = /\A[A-zÀ-ü0-9]+\z/i
14
+ WORD = /\A[A-zÀ-ü-]+\z/i
15
+ WORDS = /[ A-zÀ-ü-.]+/i
16
+
17
+ def test_paragraph
18
+ assert_match(WORDS, FFaker::LoremBR.paragraph)
19
+ end
20
+
21
+ def test_sentence
22
+ assert_match(WORDS, FFaker::LoremBR.sentence)
23
+ assert_nothing_thrown do
24
+ 100.times { FFaker::LoremBR.sentence 0 }
25
+ end
26
+ end
27
+
28
+ def test_phrase
29
+ assert_match(WORDS, FFaker::LoremBR.phrase)
30
+ end
31
+
32
+ def test_paragraphs
33
+ assert_match(WORDS, FFaker::LoremBR.paragraphs.join(' '))
34
+ end
35
+
36
+ def test_sentences
37
+ assert_match(WORDS, FFaker::LoremBR.sentences.join(' '))
38
+ end
39
+
40
+ def test_phrases
41
+ assert_match(WORDS, FFaker::LoremBR.phrases.join(' '))
42
+ end
43
+
44
+ def test_words
45
+ assert_match(WORDS, FFaker::LoremBR.words.join(' '))
46
+ end
47
+
48
+ def test_word
49
+ assert_match(WORD, FFaker::LoremBR.word)
50
+ end
51
+
52
+ def test_characters
53
+ assert_match(CHARACTERS, FFaker::LoremBR.characters)
54
+ assert FFaker::LoremBR.characters.length == 255
55
+ assert FFaker::LoremBR.characters(10).length == 10
56
+ assert FFaker::LoremBR.characters(-1) == ''
57
+ end
58
+
59
+ def test_word_collection_uniqueness
60
+ assert_equal(FFaker::Lorem::WORDS, FFaker::Lorem::WORDS.uniq)
61
+ end
62
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestLoremCN < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestLoremFR < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -11,17 +11,19 @@ class TestLoremFR < Test::Unit::TestCase
11
11
  )
12
12
 
13
13
  REGEX = /\A[ -.ÀÂÉÈÊÎÔÚÛàâéèêîôùûa-z]+\z/i.freeze
14
+ REGEX_WORD = /\A[-ÀÂÉÈÊÎÔÚÛàâéèêîôùûa-z]+\z/i.freeze
15
+ REGEX_WORDS = /\A[ -ÀÂÉÈÊÎÔÚÛàâéèêîôùûa-z]+\z/i.freeze
14
16
 
15
17
  def test_paragraph
16
- assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraph)
18
+ assert_match(REGEX, FFaker::LoremFR.paragraph)
17
19
  end
18
20
 
19
21
  def test_sentence
20
- assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.sentence)
22
+ assert_match(REGEX, FFaker::LoremFR.sentence)
21
23
  end
22
24
 
23
25
  def test_phrase
24
- assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.phrase)
26
+ assert_match(REGEX, FFaker::LoremFR.phrase)
25
27
  end
26
28
 
27
29
  def test_paragraphs
@@ -29,18 +31,18 @@ class TestLoremFR < Test::Unit::TestCase
29
31
  end
30
32
 
31
33
  def test_sentences
32
- assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.sentences.join(' '))
34
+ assert_match(REGEX, FFaker::LoremFR.sentences.join(' '))
33
35
  end
34
36
 
35
37
  def test_phrases
36
- assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.phrases.join(' '))
38
+ assert_match(REGEX, FFaker::LoremFR.phrases.join(' '))
37
39
  end
38
40
 
39
41
  def test_words
40
- assert_match(/\A[ -àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.words.join(' '))
42
+ assert_match(REGEX_WORDS, FFaker::LoremFR.words.join(' '))
41
43
  end
42
44
 
43
45
  def test_word
44
- assert_match(/\A[-àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.word)
46
+ assert_match(REGEX_WORD, FFaker::LoremFR.word)
45
47
  end
46
48
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestLoremIE < Test::Unit::TestCase
6
6
  include DeterministicHelper