ffaker 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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