ffaker 2.3.0 → 2.4.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.
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ module FFaker
5
+ module PhoneNumberID
6
+ extend ModuleUtils
7
+ extend self
8
+
9
+ COUNTRY_CODE = '+62'
10
+
11
+ def mobile_phone_number
12
+ "#{fetch_sample(MOBILE_PHONE_PREFIXES)}-#{FFaker.numerify('########')}"
13
+ end
14
+
15
+ def home_phone_number
16
+ digit_nums = '#' * rand(7..8)
17
+
18
+ "#{fetch_sample(HOME_PHONE_PREFIXES)}-#{FFaker.numerify(digit_nums)}"
19
+ end
20
+
21
+ def phone_number
22
+ case rand(2)
23
+ when 0 then home_phone_number
24
+ when 1 then mobile_phone_number
25
+ end
26
+ end
27
+
28
+ def international_mobile_phone_number
29
+ mobile_phone_number.sub('0', COUNTRY_CODE)
30
+ end
31
+
32
+ def international_home_phone_number
33
+ home_phone_number.sub('0', COUNTRY_CODE)
34
+ end
35
+
36
+ def international_phone_number
37
+ phone_number.sub('0', COUNTRY_CODE)
38
+ end
39
+ end
40
+ end
@@ -65,4 +65,15 @@ class TestAddressAU < Test::Unit::TestCase
65
65
  assert_deterministic { FFaker::AddressAU.full_address(st_abbr) }
66
66
  end
67
67
  end
68
+
69
+ def test_time_zone
70
+ assert_includes(FFaker::AddressAU::TIME_ZONE.values, FFaker::AddressAU.time_zone)
71
+ end
72
+
73
+ def test_time_zone_with_states
74
+ FFaker::AddressAU::STATE_ABBR.each do |st_abbr|
75
+ assert_includes(FFaker::AddressAU::TIME_ZONE.values, FFaker::AddressAU.time_zone)
76
+ assert_deterministic { FFaker::AddressAU.postcode(st_abbr) }
77
+ end
78
+ end
68
79
  end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'helper'
5
+
6
+ class TestAddressID < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::AddressID,
11
+ :zip_code, :state, :state_abbr, :city, :street_prefix, :street
12
+ )
13
+
14
+ def test_zip_code
15
+ assert_match(/\A\d{5}\z/, FFaker::AddressID.zip_code)
16
+ end
17
+
18
+ def test_state
19
+ assert FFaker::AddressID::STATE.include?(FFaker::AddressID.state)
20
+ end
21
+
22
+ def test_state_abbr
23
+ assert FFaker::AddressID::STATE_ABBR.include?(FFaker::AddressID.state_abbr)
24
+ end
25
+
26
+ def test_city
27
+ assert_include FFaker::AddressID::CITY, FFaker::AddressID.city
28
+ end
29
+
30
+ def test_street_prefix
31
+ assert FFaker::AddressID::STREET_PREFIX.include?(FFaker::AddressID.street_prefix)
32
+ end
33
+
34
+ def test_street
35
+ prefixes = FFaker::AddressID::STREET_PREFIX
36
+ common_street_names = FFaker::AddressID::COMMON_STREET_NAMES
37
+ regex = /\A(#{prefixes.join('|')})\.(\s(#{common_street_names.join('|')}))\,\sNo\.\s\d+\z/
38
+ assert_match(regex, FFaker::AddressID.street)
39
+ end
40
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'helper'
5
+
6
+ class TestFakerGenderID < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(FFaker::GenderID, :random)
10
+
11
+ def setup
12
+ @tester = FFaker::GenderID
13
+ end
14
+
15
+ def test_random
16
+ gender_regex = /\A(laki-laki|perempuan)\z/
17
+ assert_match(gender_regex, @tester.random)
18
+ end
19
+ end
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
4
+ require 'helper'
5
+
6
+ class TestLoremRU < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ SENTENCE_MATCHER = /\A[а-яА-ЯёЁ\-\s\.\!\?,]+\z/
10
+ WORDS_MATCHER = /\A[А-Яа-яёЁ\-\s]+\z/
11
+ WORD_MATCHER = /\A[А-Яа-яёЁ\-]+\z/
12
+
13
+ assert_methods_are_deterministic(
14
+ FFaker::LoremRU,
15
+ :paragraph, :sentence, :words, :word
16
+ )
17
+
18
+ def setup
19
+ @tester = FFaker::LoremRU
20
+ end
21
+
22
+ def test_word
23
+ assert_match(WORD_MATCHER, @tester.word)
24
+ end
25
+
26
+ def test_words
27
+ @tester.words(10).each do |word|
28
+ assert_match(WORD_MATCHER, word)
29
+ end
30
+ assert_match(WORDS_MATCHER, @tester.words.join(' '))
31
+ end
32
+
33
+ def test_sentence
34
+ assert_match(SENTENCE_MATCHER, @tester.sentence(20))
35
+ assert_match(SENTENCE_MATCHER, @tester.sentence(4))
36
+ end
37
+
38
+ def test_sentences
39
+ @tester.sentences(10).each do |sentence|
40
+ assert_match(SENTENCE_MATCHER, sentence)
41
+ end
42
+ end
43
+
44
+ def test_paragraph
45
+ assert_match(SENTENCE_MATCHER, @tester.paragraph)
46
+ end
47
+
48
+ def test_paragraphs
49
+ @tester.paragraphs.each do |paragraph|
50
+ assert_match(SENTENCE_MATCHER, paragraph)
51
+ end
52
+ end
53
+ end
data/test/test_name_da.rb CHANGED
@@ -17,7 +17,9 @@ class TestFakerNameDA < Test::Unit::TestCase
17
17
  end
18
18
 
19
19
  def test_name
20
- assert_raise { @tester.name(:hahaha) }
20
+ assert_raise(ArgumentError, 'Invalid gender, must be one of :any, :male, :female') do
21
+ @tester.name(:hahaha)
22
+ end
21
23
  end
22
24
 
23
25
  def test_any_name
@@ -42,7 +44,9 @@ class TestFakerNameDA < Test::Unit::TestCase
42
44
  first_names = @tester::MALE_FIRST_NAMES + @tester::FEMALE_FIRST_NAMES
43
45
  assert_include first_names, @tester.first_name(:any)
44
46
  assert_include first_names, @tester.first_name
45
- assert_raise { @tester.first_name(:hahaha) }
47
+ assert_raise(ArgumentError, 'Invalid gender, must be one of :any, :male, :female') do
48
+ @tester.first_name(:hahaha)
49
+ end
46
50
  end
47
51
 
48
52
  def test_last_name
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+ # encoding: UTF-8
3
+
4
+ require 'helper'
5
+
6
+ class TestFakerNameID < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::NameID,
11
+ :name, :name_with_prefix, :first_name, :first_name_female, :first_name_male,
12
+ :last_name, :prefix, :female_prefix, :male_prefix
13
+ )
14
+
15
+ def setup
16
+ @tester = FFaker::NameID
17
+ end
18
+
19
+ def test_name
20
+ assert_match(/\A[a-zA-Z\s]+\z/, @tester.name)
21
+ end
22
+
23
+ def test_name_with_prefix
24
+ prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
25
+ assert_include(@tester::PREFIXES, prefix)
26
+ refute_empty(name)
27
+ refute_empty(last_name)
28
+ end
29
+
30
+ def test_female_name_with_prefix
31
+ prefix, name, last_name = @tester.female_name_with_prefix.split(/\s+/)
32
+ assert_include(@tester::FEMALE_PREFIXES, prefix)
33
+ assert_include(@tester::FIRST_NAMES_FEMALE, name)
34
+ refute_empty(last_name)
35
+ end
36
+
37
+ def test_male_name_with_prefix
38
+ prefix, name, last_name = @tester.male_name_with_prefix.split(/\s+/)
39
+ assert_include(@tester::MALE_PREFIXES, prefix)
40
+ assert_include(@tester::FIRST_NAMES_MALE, name)
41
+ refute_empty(last_name)
42
+ end
43
+
44
+ def test_first_name
45
+ assert_include(@tester::FIRST_NAMES, @tester.first_name)
46
+ end
47
+
48
+ def test_first_name_female
49
+ assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
50
+ end
51
+
52
+ def test_first_name_male
53
+ assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
54
+ end
55
+
56
+ def test_last_name
57
+ assert_include(@tester::LAST_NAMES, @tester.last_name)
58
+ end
59
+
60
+ def test_prefix
61
+ assert_include(@tester::PREFIXES, @tester.prefix)
62
+ end
63
+
64
+ def test_female_prefix
65
+ assert_include(@tester::FEMALE_PREFIXES, @tester.female_prefix)
66
+ end
67
+
68
+ def test_male_prefix
69
+ assert_include(@tester::MALE_PREFIXES, @tester.male_prefix)
70
+ end
71
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'helper'
5
+
6
+ class TestPhoneNumberID < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::PhoneNumberID,
11
+ :mobile_phone_number,
12
+ :home_phone_number,
13
+ :phone_number
14
+ )
15
+
16
+ def setup
17
+ @tester = FFaker::PhoneNumberID
18
+ end
19
+
20
+ def test_mobile_phone_number
21
+ prefixes = FFaker::PhoneNumberID::MOBILE_PHONE_PREFIXES
22
+ regex = /\A(?:#{prefixes.join('|')})-\d{8}\z/
23
+ assert_match regex, FFaker::PhoneNumberID.mobile_phone_number
24
+ end
25
+
26
+ def test_home_phone_number
27
+ prefixes = FFaker::PhoneNumberID::HOME_PHONE_PREFIXES
28
+ regex = /\A(#{prefixes.join('|')})-(\d{7,8})\z/
29
+ assert_match regex, FFaker::PhoneNumberID.home_phone_number
30
+ end
31
+
32
+ def test_phone_number
33
+ mobile_prefixes = FFaker::PhoneNumberID::MOBILE_PHONE_PREFIXES
34
+ home_prefixes = FFaker::PhoneNumberID::HOME_PHONE_PREFIXES
35
+ regex = /\A(#{mobile_prefixes.join('|')}|#{home_prefixes.join('|')})-(\d{7,8})\z/
36
+ assert_match regex, FFaker::PhoneNumberID.phone_number
37
+ end
38
+
39
+ def test_international_mobile_phone_number
40
+ prefixes = FFaker::PhoneNumberID::MOBILE_PHONE_PREFIXES.map { |x| x.sub('0', '') }
41
+ regex = /\A\+62(#{prefixes.join('|')})-(\d{8})\z/
42
+ assert_match regex, FFaker::PhoneNumberID.international_mobile_phone_number
43
+ end
44
+
45
+ def test_international_home_phone_number
46
+ prefixes = FFaker::PhoneNumberID::HOME_PHONE_PREFIXES.map { |x| x.sub('0', '') }
47
+ regex = /\A\+62(#{prefixes.join('|')})-(\d{7,8})\z/
48
+ assert_match regex, FFaker::PhoneNumberID.international_home_phone_number
49
+ end
50
+
51
+ def test_international_phone_number
52
+ mobile_prefixes = FFaker::PhoneNumberID::MOBILE_PHONE_PREFIXES.map { |x| x.sub('0', '') }
53
+ home_prefixes = FFaker::PhoneNumberID::HOME_PHONE_PREFIXES.map { |x| x.sub('0', '') }
54
+ regex = /\A\+62(#{mobile_prefixes.join('|')}|#{home_prefixes.join('|')})-(\d{7,8})\z/
55
+
56
+ assert_match regex, FFaker::PhoneNumberID.international_phone_number
57
+ end
58
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/ffaker/ffaker/graphs/contributors
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-11-13 00:00:00.000000000 Z
12
+ date: 2017-01-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -69,6 +69,7 @@ files:
69
69
  - lib/ffaker/address_fi.rb
70
70
  - lib/ffaker/address_fr.rb
71
71
  - lib/ffaker/address_gr.rb
72
+ - lib/ffaker/address_id.rb
72
73
  - lib/ffaker/address_in.rb
73
74
  - lib/ffaker/address_kr.rb
74
75
  - lib/ffaker/address_mx.rb
@@ -122,6 +123,10 @@ files:
122
123
  - lib/ffaker/data/address_gr/city
123
124
  - lib/ffaker/data/address_gr/region
124
125
  - lib/ffaker/data/address_gr/street
126
+ - lib/ffaker/data/address_id/city
127
+ - lib/ffaker/data/address_id/common_street_names
128
+ - lib/ffaker/data/address_id/state
129
+ - lib/ffaker/data/address_id/state_abbr
125
130
  - lib/ffaker/data/address_in/state
126
131
  - lib/ffaker/data/address_in/state_abbr
127
132
  - lib/ffaker/data/address_in/union_territory
@@ -208,6 +213,9 @@ files:
208
213
  - lib/ffaker/data/lorem_ja/sentences_end
209
214
  - lib/ffaker/data/lorem_ja/words
210
215
  - lib/ffaker/data/lorem_kr/words
216
+ - lib/ffaker/data/lorem_ru/capital_chars
217
+ - lib/ffaker/data/lorem_ru/chars
218
+ - lib/ffaker/data/lorem_ru/words
211
219
  - lib/ffaker/data/lorem_ua/capital_chars
212
220
  - lib/ffaker/data/lorem_ua/chars
213
221
  - lib/ffaker/data/lorem_ua/words
@@ -241,6 +249,9 @@ files:
241
249
  - lib/ffaker/data/name_gr/female_last_names
242
250
  - lib/ffaker/data/name_gr/male_first_names
243
251
  - lib/ffaker/data/name_gr/male_last_names
252
+ - lib/ffaker/data/name_id/first_names_female
253
+ - lib/ffaker/data/name_id/first_names_male
254
+ - lib/ffaker/data/name_id/last_names
244
255
  - lib/ffaker/data/name_it/first_names
245
256
  - lib/ffaker/data/name_it/last_names
246
257
  - lib/ffaker/data/name_ja/first_names
@@ -284,6 +295,8 @@ files:
284
295
  - lib/ffaker/data/name_vn/middle_names
285
296
  - lib/ffaker/data/philosophie/lessons
286
297
  - lib/ffaker/data/phone_number/phone_calling_code
298
+ - lib/ffaker/data/phone_number_id/home_phone_prefixes
299
+ - lib/ffaker/data/phone_number_id/mobile_phone_prefixes
287
300
  - lib/ffaker/data/phone_number_it/home_phone_prefixes
288
301
  - lib/ffaker/data/phone_number_it/mobile_phone_prefixes
289
302
  - lib/ffaker/data/phone_number_se/phone_prefix
@@ -310,6 +323,7 @@ files:
310
323
  - lib/ffaker/gender.rb
311
324
  - lib/ffaker/gender_br.rb
312
325
  - lib/ffaker/gender_cn.rb
326
+ - lib/ffaker/gender_id.rb
313
327
  - lib/ffaker/gender_kr.rb
314
328
  - lib/ffaker/geolocation.rb
315
329
  - lib/ffaker/guid.rb
@@ -339,6 +353,7 @@ files:
339
353
  - lib/ffaker/lorem_fr.rb
340
354
  - lib/ffaker/lorem_ja.rb
341
355
  - lib/ffaker/lorem_kr.rb
356
+ - lib/ffaker/lorem_ru.rb
342
357
  - lib/ffaker/lorem_ua.rb
343
358
  - lib/ffaker/movie.rb
344
359
  - lib/ffaker/music.rb
@@ -351,6 +366,7 @@ files:
351
366
  - lib/ffaker/name_fr.rb
352
367
  - lib/ffaker/name_ga.rb
353
368
  - lib/ffaker/name_gr.rb
369
+ - lib/ffaker/name_id.rb
354
370
  - lib/ffaker/name_it.rb
355
371
  - lib/ffaker/name_ja.rb
356
372
  - lib/ffaker/name_kh.rb
@@ -375,6 +391,7 @@ files:
375
391
  - lib/ffaker/phone_number_da.rb
376
392
  - lib/ffaker/phone_number_de.rb
377
393
  - lib/ffaker/phone_number_fr.rb
394
+ - lib/ffaker/phone_number_id.rb
378
395
  - lib/ffaker/phone_number_it.rb
379
396
  - lib/ffaker/phone_number_kr.rb
380
397
  - lib/ffaker/phone_number_mx.rb
@@ -418,6 +435,7 @@ files:
418
435
  - test/test_address_fi.rb
419
436
  - test/test_address_fr.rb
420
437
  - test/test_address_gr.rb
438
+ - test/test_address_id.rb
421
439
  - test/test_address_in.rb
422
440
  - test/test_address_kr.rb
423
441
  - test/test_address_mx.rb
@@ -453,6 +471,7 @@ files:
453
471
  - test/test_gender.rb
454
472
  - test/test_gender_br.rb
455
473
  - test/test_gender_cn.rb
474
+ - test/test_gender_id.rb
456
475
  - test/test_gender_kr.rb
457
476
  - test/test_geolocation.rb
458
477
  - test/test_guid.rb
@@ -482,6 +501,7 @@ files:
482
501
  - test/test_lorem_fr.rb
483
502
  - test/test_lorem_ja.rb
484
503
  - test/test_lorem_kr.rb
504
+ - test/test_lorem_ru.rb
485
505
  - test/test_lorem_ua.rb
486
506
  - test/test_module_utils.rb
487
507
  - test/test_movie.rb
@@ -495,6 +515,7 @@ files:
495
515
  - test/test_name_fr.rb
496
516
  - test/test_name_ga.rb
497
517
  - test/test_name_gr.rb
518
+ - test/test_name_id.rb
498
519
  - test/test_name_it.rb
499
520
  - test/test_name_ja.rb
500
521
  - test/test_name_kh.rb
@@ -517,6 +538,7 @@ files:
517
538
  - test/test_phone_number_cu.rb
518
539
  - test/test_phone_number_da.rb
519
540
  - test/test_phone_number_de.rb
541
+ - test/test_phone_number_id.rb
520
542
  - test/test_phone_number_kr.rb
521
543
  - test/test_phone_number_mx.rb
522
544
  - test/test_phone_number_nl.rb
@@ -559,7 +581,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
559
581
  version: '0'
560
582
  requirements: []
561
583
  rubyforge_project: ffaker
562
- rubygems_version: 2.5.1
584
+ rubygems_version: 2.6.8
563
585
  signing_key:
564
586
  specification_version: 2
565
587
  summary: Ffaker generates dummy data.
@@ -578,6 +600,7 @@ test_files:
578
600
  - test/test_address_fi.rb
579
601
  - test/test_address_fr.rb
580
602
  - test/test_address_gr.rb
603
+ - test/test_address_id.rb
581
604
  - test/test_address_in.rb
582
605
  - test/test_address_kr.rb
583
606
  - test/test_address_mx.rb
@@ -613,6 +636,7 @@ test_files:
613
636
  - test/test_gender.rb
614
637
  - test/test_gender_br.rb
615
638
  - test/test_gender_cn.rb
639
+ - test/test_gender_id.rb
616
640
  - test/test_gender_kr.rb
617
641
  - test/test_geolocation.rb
618
642
  - test/test_guid.rb
@@ -642,6 +666,7 @@ test_files:
642
666
  - test/test_lorem_fr.rb
643
667
  - test/test_lorem_ja.rb
644
668
  - test/test_lorem_kr.rb
669
+ - test/test_lorem_ru.rb
645
670
  - test/test_lorem_ua.rb
646
671
  - test/test_module_utils.rb
647
672
  - test/test_movie.rb
@@ -655,6 +680,7 @@ test_files:
655
680
  - test/test_name_fr.rb
656
681
  - test/test_name_ga.rb
657
682
  - test/test_name_gr.rb
683
+ - test/test_name_id.rb
658
684
  - test/test_name_it.rb
659
685
  - test/test_name_ja.rb
660
686
  - test/test_name_kh.rb
@@ -677,6 +703,7 @@ test_files:
677
703
  - test/test_phone_number_cu.rb
678
704
  - test/test_phone_number_da.rb
679
705
  - test/test_phone_number_de.rb
706
+ - test/test_phone_number_id.rb
680
707
  - test/test_phone_number_kr.rb
681
708
  - test/test_phone_number_mx.rb
682
709
  - test/test_phone_number_nl.rb