ffaker 2.5.0 → 2.6.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +8 -0
  3. data/REFERENCE.md +10 -0
  4. data/ffaker.gemspec +1 -1
  5. data/lib/ffaker/address_au.rb +2 -1
  6. data/lib/ffaker/address_br.rb +5 -1
  7. data/lib/ffaker/address_gr.rb +2 -2
  8. data/lib/ffaker/address_ja.rb +12 -12
  9. data/lib/ffaker/address_mx.rb +364 -364
  10. data/lib/ffaker/address_pl.rb +85 -0
  11. data/lib/ffaker/animals.rb +12 -0
  12. data/lib/ffaker/data/address_pl/city +916 -0
  13. data/lib/ffaker/data/address_pl/square +390 -0
  14. data/lib/ffaker/data/address_pl/street +390 -0
  15. data/lib/ffaker/data/address_pl/voivodeship +16 -0
  16. data/lib/ffaker/data/address_pl/voivodeship_abbr +16 -0
  17. data/lib/ffaker/data/address_pl/voivodeship_capital_city +18 -0
  18. data/lib/ffaker/data/animal/common_names +141 -0
  19. data/lib/ffaker/data/filesystem/extension +32 -0
  20. data/lib/ffaker/data/filesystem/mime_type +67 -0
  21. data/lib/ffaker/data/name_pl/female_first_names +121 -0
  22. data/lib/ffaker/data/name_pl/female_last_names +200 -0
  23. data/lib/ffaker/data/name_pl/male_first_names +121 -0
  24. data/lib/ffaker/data/name_pl/male_last_names +200 -0
  25. data/lib/ffaker/filesystem.rb +25 -0
  26. data/lib/ffaker/html_ipsum.rb +7 -7
  27. data/lib/ffaker/identification_mx.rb +2 -2
  28. data/lib/ffaker/name_da.rb +1 -1
  29. data/lib/ffaker/name_gr.rb +1 -1
  30. data/lib/ffaker/name_mx.rb +1 -1
  31. data/lib/ffaker/name_pl.rb +99 -0
  32. data/lib/ffaker/phone_number_au.rb +2 -2
  33. data/lib/ffaker/phone_number_id.rb +1 -1
  34. data/lib/ffaker/string.rb +1 -1
  35. data/lib/ffaker/tweet.rb +1 -1
  36. data/scripts/reference.rb +4 -4
  37. data/test/test_address_br.rb +1 -1
  38. data/test/test_address_ca.rb +2 -1
  39. data/test/test_address_gr.rb +1 -1
  40. data/test/test_address_mx.rb +1 -1
  41. data/test/test_address_pl.rb +81 -0
  42. data/test/test_address_ua.rb +2 -1
  43. data/test/test_animal.rb +17 -0
  44. data/test/test_aws.rb +3 -3
  45. data/test/test_book.rb +2 -2
  46. data/test/test_filesystem.rb +28 -0
  47. data/test/test_lorem_fr.rb +2 -1
  48. data/test/test_name_br.rb +1 -1
  49. data/test/test_name_pl.rb +112 -0
  50. data/test/test_phone_number_au.rb +18 -13
  51. data/test/test_phone_number_cu.rb +6 -3
  52. metadata +26 -1
@@ -8,10 +8,10 @@ module FFaker
8
8
  extend self
9
9
 
10
10
  # Mobile prefixes
11
- MobileOperatorsPrefix = %w(04).freeze
11
+ MobileOperatorsPrefix = %w(04 05).freeze
12
12
 
13
13
  # Home or Work Operator prefixes
14
- HomeWorkOperatorsPrefix = %w(02 03 05 07 08).freeze
14
+ HomeWorkOperatorsPrefix = %w(02 03 07 08).freeze
15
15
 
16
16
  OperatorsPrefix = MobileOperatorsPrefix + HomeWorkOperatorsPrefix
17
17
 
@@ -6,7 +6,7 @@ module FFaker
6
6
  extend ModuleUtils
7
7
  extend self
8
8
 
9
- COUNTRY_CODE = '+62'
9
+ COUNTRY_CODE = '+62'.freeze
10
10
 
11
11
  def mobile_phone_number
12
12
  "#{fetch_sample(MOBILE_PHONE_PREFIXES)}-#{FFaker.numerify('########')}"
@@ -67,7 +67,7 @@ module FFaker
67
67
  end
68
68
  number = number.to_i - 1
69
69
  t = @last_token.dup
70
- number.times.map { process_token(t.dup) }.join
70
+ Array.new(number) { process_token(t.dup) }.join
71
71
  else
72
72
  generate_token token, tokens
73
73
  end
@@ -36,7 +36,7 @@ module FFaker
36
36
 
37
37
  def mentions(num = 2)
38
38
  mention_names = []
39
- num.times{ mention_names << mention }
39
+ num.times { mention_names << mention }
40
40
  mention_names.join(' ')
41
41
  end
42
42
 
@@ -2,8 +2,8 @@ $LOAD_PATH << File.dirname(__FILE__) + '/../lib'
2
2
  require 'ffaker'
3
3
 
4
4
  ICONS = {
5
- error: "‼️",
6
- warning: ""
5
+ error: '‼️',
6
+ warning: ''
7
7
  }.freeze
8
8
 
9
9
  # Get a list of sections
@@ -60,11 +60,11 @@ sections = faker_modules.each.map do |mod|
60
60
  right = ''
61
61
 
62
62
  if arity > 0
63
- left = "`#{meth}`(#{arity.times.map { '...' }.join(', ')})"
63
+ left = "`#{meth}`(#{Array.new(arity) { '...' }.join(', ')})"
64
64
  else
65
65
  begin
66
66
  examples, warnings = catch_warnings do
67
- 3.times.map { mod.send meth }
67
+ Array.new(3) { mod.send meth }
68
68
  end
69
69
  right = if warnings.any?
70
70
  "#{ICONS[:warning]} *#{warnings.first}*"
@@ -7,7 +7,7 @@ class TestAddressBR < Test::Unit::TestCase
7
7
 
8
8
  assert_methods_are_deterministic(
9
9
  FFaker::AddressBR,
10
- :zip_code, :state, :state_abbr, :city, :street_prefix, :street
10
+ :zip_code, :state, :state_abbr, :city, :street_prefix, :street, :full_address
11
11
  )
12
12
 
13
13
  def test_zip_code
@@ -25,6 +25,7 @@ class TestAddressCA < Test::Unit::TestCase
25
25
  def test_postal_code
26
26
  assert_match(
27
27
  /\A[A-CEGHJK-NPR-TVXY]\d[A-CEGHJK-NPR-TV-Z] \d[A-CEGHJK-NPR-TV-Z]\d\z/,
28
- FFaker::AddressCA.postal_code)
28
+ FFaker::AddressCA.postal_code
29
+ )
29
30
  end
30
31
  end
@@ -12,7 +12,7 @@ class TestAddressGR < Test::Unit::TestCase
12
12
 
13
13
  def setup
14
14
  @address_gr = FFaker::AddressGR
15
- @street_prefix = FFaker::AddressGR::STREET_PREFIX.join("|")
15
+ @street_prefix = FFaker::AddressGR::STREET_PREFIX.join('|')
16
16
  end
17
17
 
18
18
  def test_city
@@ -5,7 +5,7 @@ require 'helper'
5
5
  # Author: guapolo github.com/guapolo
6
6
  class TestAddressMX < Test::Unit::TestCase
7
7
  include DeterministicHelper
8
-
8
+
9
9
  assert_methods_are_deterministic(
10
10
  FFaker::AddressMX,
11
11
  :municipality, :postal_code, :state_abbr, :state, :zip_code
@@ -0,0 +1,81 @@
1
+ # encoding: UTF-8
2
+ # frozen_string_literal: true
3
+
4
+ require 'helper'
5
+
6
+ class TestFakerAddressPL < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::AddressPL,
11
+ :full_address, :street_address, :street_name, :street, :square, :voivodeship,
12
+ :voivodeship_abbr, :voivodeship_capital_city, :city, :building_number,
13
+ :secondary_number, :postal_code, :street_prefix, :square_prefix
14
+ )
15
+
16
+ def setup
17
+ @tester = FFaker::AddressPL
18
+ end
19
+
20
+ def test_full_address
21
+ assert_match(/[a-z]/, @tester.full_address)
22
+ end
23
+
24
+ def test_full_address_includes_country
25
+ assert_match(/POLOGNE/, @tester.full_address(true))
26
+ end
27
+
28
+ def street_address
29
+ assert_match(/[a-z]/, @tester.street_address)
30
+ end
31
+
32
+ def street_name
33
+ prefix, street = @tester.street_name.split
34
+ assert_include(@tester::STREET_PREFIXES + @tester::SQUARE_PREFIXES, prefix)
35
+ assert_include(@tester::STREET + @tester::SQUARE, street)
36
+ end
37
+
38
+ def street
39
+ assert_include(@tester::STREET, @tester.street)
40
+ end
41
+
42
+ def square
43
+ assert_include(@tester::SQUARE, @tester.square)
44
+ end
45
+
46
+ def voivodeship
47
+ assert_include(@tester::VOIVODESHIP, @tester.voivodeship)
48
+ end
49
+
50
+ def voivodeship_abbr
51
+ assert_include(@tester::VOIVODESHIP_ABBR, @tester.voivodeship_abbr)
52
+ end
53
+
54
+ def voivodeship_capital_city
55
+ assert_include(@tester::VOIVODESHIP_CAPITAL_CITY, @tester.voivodeship_capital_city)
56
+ end
57
+
58
+ def city
59
+ assert_include(@tester::CITY, @tester.city)
60
+ end
61
+
62
+ def building
63
+ assert_match(/\d{1,3}/, @tester.building)
64
+ end
65
+
66
+ def secondary_number
67
+ assert_match(/\d{1,3}/, @tester.secondary_number.split.last)
68
+ end
69
+
70
+ def postal_code
71
+ assert_match(/\d{2}-\d{3}/, @tester.postal_code)
72
+ end
73
+
74
+ def street_prefix
75
+ assert_include(@tester::STREET_PREFIXES, @tester.square_prefix)
76
+ end
77
+
78
+ def square_prefix
79
+ assert_include(@tester::SQUARE_PREFIXES, @tester.square_prefix)
80
+ end
81
+ end
@@ -43,7 +43,8 @@ class TestAddressUA < Test::Unit::TestCase
43
43
  def test_street_address_with_secondary
44
44
  assert_match( \
45
45
  /\Aвул\.\s[а-яА-ЯіїєґІЇЄҐ’\-\s]+,\s\d{1,3},\sкв\.\s\d{1,3}\z/,
46
- @tester.street_address(true))
46
+ @tester.street_address(true)
47
+ )
47
48
  end
48
49
 
49
50
  def test_building_number
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestAnimals < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::Animal, :common_name)
9
+
10
+ def setup
11
+ @tester = FFaker::Animal
12
+ end
13
+
14
+ def test_name
15
+ assert_include @tester::COMMON_NAMES, @tester.common_name
16
+ end
17
+ end
@@ -8,15 +8,15 @@ class TestAWS < Test::Unit::TestCase
8
8
  assert_methods_are_deterministic(FFaker::AWS, :instance_type)
9
9
 
10
10
  def test_instance_type
11
- assert_match(%r{\A[a-z]+\d\.\d*[a-z]+}, FFaker::AWS.instance_type)
11
+ assert_match(/\A[a-z]+\d\.\d*[a-z]+/, FFaker::AWS.instance_type)
12
12
  end
13
13
 
14
14
  def test_offering_type
15
- assert_match(%r{\A[ a-zA-Z]+\z}i, FFaker::AWS.offering_type)
15
+ assert_match(/\A[ a-zA-Z]+\z/i, FFaker::AWS.offering_type)
16
16
  end
17
17
 
18
18
  def test_instance_tenancy
19
- assert_match(%r{\A(?:default|dedicated|host)+\z}i, FFaker::AWS.instance_tenancy)
19
+ assert_match(/\A(?:default|dedicated|host)+\z/i, FFaker::AWS.instance_tenancy)
20
20
  end
21
21
 
22
22
  def test_product_description
@@ -19,7 +19,7 @@ class TestBook < Test::Unit::TestCase
19
19
  end
20
20
 
21
21
  def test_genre
22
- assert_match(%r([\w\s'\/]+), @tester.genre)
22
+ assert_match(%r{[\w\s'\/]+}, @tester.genre)
23
23
  end
24
24
 
25
25
  def test_author
@@ -35,7 +35,7 @@ class TestBook < Test::Unit::TestCase
35
35
  end
36
36
 
37
37
  def test_cover
38
- assert_match(%r(\Ahttps:\/\/robohash\.org\/.+\.png\?size=300x300\z),
38
+ assert_match(%r{\Ahttps:\/\/robohash\.org\/.+\.png\?size=300x300\z},
39
39
  @tester.cover)
40
40
  end
41
41
  end
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerFilesystem < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::Filesystem,
10
+ :extension, :mime_type, :file_name
11
+ )
12
+
13
+ def setup
14
+ @tester = FFaker::Filesystem
15
+ end
16
+
17
+ def test_extension
18
+ assert @tester.extension.match(/(flac|mp3|wav|bmp|gif|jpeg|jpg|png|tiff|css|csv|html|js|json|txt|mp4|avi|mov|webm|doc|docx|xls|xlsx|ppt|pptx|odt|ods|odp|pages|numbers|key|pdf)/)
19
+ end
20
+
21
+ def test_mime_type_format
22
+ assert @tester.mime_type.match(/(.*)\/(.*)+/)
23
+ end
24
+
25
+ def test_file_name
26
+ assert @tester.file_name.match(/([a-z\-_]+)(\\|\/)([a-z\-_]+)\.([a-z]+)/)
27
+ end
28
+ end
@@ -10,6 +10,7 @@ class TestLoremFR < Test::Unit::TestCase
10
10
  :paragraph, :paragraphs, :sentence, :sentences,
11
11
  :phrase, :phrases, :word, :words
12
12
  )
13
+ REGEX = /\A[ -.ÀÂÉÈÊÎÔÚÛàâéèêîôùûa-z]+\z/i
13
14
 
14
15
  def test_paragraph
15
16
  assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraph)
@@ -24,7 +25,7 @@ class TestLoremFR < Test::Unit::TestCase
24
25
  end
25
26
 
26
27
  def test_paragraphsLoremFR
27
- assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraphs.join(' '))
28
+ assert_match(REGEX, FFaker::LoremFR.paragraphs.join(' '))
28
29
  end
29
30
 
30
31
  def test_sentences
@@ -22,7 +22,7 @@ class TestFakerNameBR < Test::Unit::TestCase
22
22
  def test_name_with_prefix
23
23
  prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
24
24
  assert_include(@tester::PREFIXES, prefix)
25
- assert(name.length > 0)
25
+ assert(!name.empty?)
26
26
  refute_empty(last_name)
27
27
  end
28
28
 
@@ -0,0 +1,112 @@
1
+ # encoding: UTF-8
2
+ # frozen_string_literal: true
3
+
4
+ require 'helper'
5
+
6
+ class TestFakerNamePL < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::NamePL,
11
+ :name, :name_with_prefix, :last_name, :first_name, :female_name_with_prefix,
12
+ :male_name_with_prefix, :female_full_name, :male_full_name, :female_first_name,
13
+ :female_last_name, :male_first_name, :male_last_name, :prefix,
14
+ :female_prefix, :male_prefix, :academic_degree_prefix
15
+ )
16
+
17
+ def setup
18
+ @tester = FFaker::NamePL
19
+ end
20
+
21
+ def test_name
22
+ assert_match(/(\w+\.? ?){2}/, @tester.name)
23
+ end
24
+
25
+ def name_with_prefix
26
+ prefix, first_name, last_name = @tester.name_with_prefix.split
27
+ assert_include(@tester::PREFIXES, prefix)
28
+ refute_empty(first_name)
29
+ refute_empty(last_name)
30
+ end
31
+
32
+ def test_female_name_with_prefix
33
+ prefix, first_name, last_name = @tester.female_name_with_prefix.split
34
+ assert_include(@tester::FEMALE_PREFIXES, prefix)
35
+ assert_include(@tester::FEMALE_FIRST_NAMES, first_name)
36
+ assert_include(@tester::FEMALE_LAST_NAMES, last_name)
37
+ end
38
+
39
+ def test_male_name_with_prefix
40
+ prefix, first_name, last_name = @tester.male_name_with_prefix.split
41
+ assert_include(@tester::MALE_PREFIXES, prefix)
42
+ assert_include(@tester::MALE_FIRST_NAMES, first_name)
43
+ assert_include(@tester::MALE_LAST_NAMES, last_name)
44
+ end
45
+
46
+ def test_female_full_name
47
+ first_name, last_name = @tester.female_full_name.split
48
+ assert_include(@tester::FEMALE_FIRST_NAMES, first_name)
49
+ assert_include(@tester::FEMALE_LAST_NAMES, last_name)
50
+ end
51
+
52
+ def test_male_full_name
53
+ first_name, last_name = @tester.male_full_name.split
54
+ assert_include(@tester::MALE_FIRST_NAMES, first_name)
55
+ assert_include(@tester::MALE_LAST_NAMES, last_name)
56
+ end
57
+
58
+ def test_first_name
59
+ first_names = @tester::FEMALE_FIRST_NAMES + @tester::MALE_FIRST_NAMES
60
+ assert_include(first_names, @tester.first_name)
61
+ end
62
+
63
+ def test_first_name_with_argument
64
+ assert_include(@tester::FEMALE_FIRST_NAMES, @tester.first_name(:female))
65
+ end
66
+
67
+ def test_female_first_name
68
+ assert_include(@tester::FEMALE_FIRST_NAMES, @tester.female_first_name)
69
+ end
70
+
71
+ def test_male_first_name
72
+ assert_include(@tester::MALE_FIRST_NAMES, @tester.male_first_name)
73
+ end
74
+
75
+ def test_last_name
76
+ last_names = @tester::FEMALE_LAST_NAMES + @tester::MALE_LAST_NAMES
77
+ assert_include(last_names, @tester.last_name)
78
+ end
79
+
80
+ def test_last_name_with_argument
81
+ assert_include(@tester::MALE_LAST_NAMES, @tester.last_name(:male))
82
+ end
83
+
84
+ def test_female_last_name
85
+ assert_include(@tester::FEMALE_LAST_NAMES, @tester.female_last_name)
86
+ end
87
+
88
+ def test_male_last_name
89
+ assert_include(@tester::MALE_LAST_NAMES, @tester.male_last_name)
90
+ end
91
+
92
+ def test_prefix
93
+ assert_include(@tester::PREFIXES, @tester.prefix)
94
+ end
95
+
96
+ def test_female_prefix
97
+ assert_include(@tester::FEMALE_PREFIXES, @tester.female_prefix)
98
+ end
99
+
100
+ def test_male_prefix
101
+ assert_include(@tester::MALE_PREFIXES, @tester.male_prefix)
102
+ end
103
+
104
+ def test_academic_degree_prefix
105
+ assert_include(@tester::ACADEMIC_DEGREE_PREFIXES, @tester.academic_degree_prefix)
106
+ end
107
+
108
+ def test_name_for_gender_raises_argument_error
109
+ error = assert_raises(ArgumentError) { @tester.send(:name_for_gender, :name, :vodka) }
110
+ assert_match("Gender must be one of: #{@tester::GENDERS}", error.message)
111
+ end
112
+ end
@@ -20,42 +20,47 @@ class TestPhoneNumberAU < Test::Unit::TestCase
20
20
  end
21
21
 
22
22
  def test_mobile_phone_prefix
23
- assert FFaker::PhoneNumberAU::MobileOperatorsPrefix.include?(@tester.mobile_phone_prefix)
23
+ assert_include(FFaker::PhoneNumberAU::MobileOperatorsPrefix,
24
+ @tester.mobile_phone_prefix)
24
25
  end
25
26
 
26
27
  def test_home_work_phone_prefix
27
- assert FFaker::PhoneNumberAU::HomeWorkOperatorsPrefix.include?(@tester.home_work_phone_prefix)
28
+ assert_include(FFaker::PhoneNumberAU::HomeWorkOperatorsPrefix,
29
+ @tester.home_work_phone_prefix)
28
30
  end
29
31
 
30
32
  def test_phone_prefix
31
- assert FFaker::PhoneNumberAU::OperatorsPrefix.include?(@tester.phone_prefix)
33
+ assert_include(FFaker::PhoneNumberAU::OperatorsPrefix,
34
+ @tester.phone_prefix)
32
35
  end
33
36
 
34
37
  def test_mobile_phone_number
35
- assert_match(/04\d{2} \d{3} \d{3}/, FFaker::PhoneNumberAU.mobile_phone_number)
38
+ assert_match(/0[45]\d{2} \d{3} \d{3}/,
39
+ FFaker::PhoneNumberAU.mobile_phone_number)
36
40
  end
37
41
 
38
42
  def test_home_work_phone_number
39
- assert_match(/\(\d{2}\) \d{4} \d{4}/, FFaker::PhoneNumberAU.home_work_phone_number)
43
+ assert_match(/\(\d{2}\) \d{4} \d{4}/,
44
+ FFaker::PhoneNumberAU.home_work_phone_number)
40
45
  end
41
46
 
42
47
  def test_phone_number
43
- 10.times do
44
- assert_match(/(04\d{1,2} \d{3} \d{3}|\(\d{2}\) \d{4} \d{4})/, FFaker::PhoneNumberAU.phone_number)
45
- end
48
+ assert_match(/(?:0[45]\d{1,2} \d{3} \d{3}|\(\d{2}\) \d{4} \d{4})/,
49
+ FFaker::PhoneNumberAU.phone_number)
46
50
  end
47
51
 
48
52
  def test_international_mobile_phone_number
49
- assert_match(/\+61 \d{1,2} \d{4} \d{4}/, FFaker::PhoneNumberAU.international_mobile_phone_number)
53
+ assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
54
+ FFaker::PhoneNumberAU.international_mobile_phone_number)
50
55
  end
51
56
 
52
57
  def test_international_home_work_phone_number
53
- assert_match(/\+61 \d{1,2} \d{4} \d{4}/, FFaker::PhoneNumberAU.international_home_work_phone_number)
58
+ assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
59
+ FFaker::PhoneNumberAU.international_home_work_phone_number)
54
60
  end
55
61
 
56
62
  def test_international_phone_number
57
- 10.times do
58
- assert_match(/\+61 \d{1,2} \d{4} \d{4}/, FFaker::PhoneNumberAU.international_phone_number)
59
- end
63
+ assert_match(/\+61 \d{1,2} \d{4} \d{4}/,
64
+ FFaker::PhoneNumberAU.international_phone_number)
60
65
  end
61
66
  end