ffaker 2.23.0 → 2.25.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,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestLoremTW < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::LoremTW,
10
+ :paragraph, :paragraphs, :sentence, :sentences, :word, :words
11
+ )
12
+
13
+ def test_paragraph
14
+ assert_greater_than_or_equal_to FFaker::LoremTW.paragraph.length, 3 * 4 * 2
15
+ end
16
+
17
+ def test_sentence
18
+ assert_greater_than_or_equal_to FFaker::LoremTW.sentence.length, 4 * 2
19
+ end
20
+
21
+ def test_paragraphs
22
+ assert_greater_than_or_equal_to FFaker::LoremTW.paragraphs.length, 2
23
+ end
24
+
25
+ def test_paragraphs_is_not_a_string_representation_of_an_array
26
+ assert !/[\[\]]+/.match([FFaker::LoremTW.paragraphs].flatten.join(' '))
27
+ end
28
+
29
+ def test_paragraphs_is_an_array
30
+ assert FFaker::LoremTW.paragraphs.instance_of?(Array)
31
+ end
32
+
33
+ def test_sentences
34
+ assert_greater_than_or_equal_to FFaker::LoremTW.sentences.length, 2
35
+ end
36
+
37
+ def test_sentences_is_an_array
38
+ assert FFaker::LoremTW.sentences.instance_of?(Array)
39
+ end
40
+
41
+ def test_sentences_via_to_s_produces_string_terminated_with_period
42
+ string = FFaker::LoremTW.sentences.to_s
43
+ assert string.instance_of?(String)
44
+ assert string =~ /。$/
45
+ end
46
+
47
+ def test_words
48
+ assert_greater_than_or_equal_to FFaker::LoremTW.words.length, 2
49
+ end
50
+
51
+ def test_word
52
+ assert_greater_than_or_equal_to FFaker::LoremTW.word.length, 1
53
+ end
54
+ end
@@ -44,4 +44,13 @@ class TestModuleUtils < Test::Unit::TestCase
44
44
  FFaker::UniqueUtils.clear
45
45
  generator.unique.test
46
46
  end
47
+
48
+ def test_luhn_check
49
+ obj = Object.new
50
+ obj.extend FFaker::ModuleUtils
51
+ assert obj.luhn_check('97248708') == '6'
52
+ assert obj.luhn_check('1789372997') == '4'
53
+ assert obj.luhn_check('8899982700037') == '1'
54
+ assert obj.luhn_check('1234567820001') == '0'
55
+ end
47
56
  end
data/test/test_music.rb CHANGED
@@ -11,18 +11,18 @@ class TestMusic < Test::Unit::TestCase
11
11
  )
12
12
 
13
13
  def test_genre
14
- assert_match(%r{[A-z]|\W|&/+}, FFaker::Music.genre)
14
+ assert_match(%r{[A-Za-z]|\W|&/+}, FFaker::Music.genre)
15
15
  end
16
16
 
17
17
  def test_album
18
- assert_match(/\s|[A-z]|\W|\d|'|\?+/, FFaker::Music.album)
18
+ assert_match(/\s|[A-Za-z]|\W|\d|'|\?+/, FFaker::Music.album)
19
19
  end
20
20
 
21
21
  def test_artist
22
- assert_match(/\s|[A-z]|\W|\d|'|\?|&|\+|\.|-+/, FFaker::Music.artist)
22
+ assert_match(/\s|[A-Za-z]|\W|\d|'|\?|&|\+|\.|-+/, FFaker::Music.artist)
23
23
  end
24
24
 
25
25
  def test_song
26
- assert_match(/\s|[A-z]|\W|\d|'|\?|&|\+|\.|-+/, FFaker::Music.song)
26
+ assert_match(/\s|[A-Za-z]|\W|\d|'|\?|&|\+|\.|-+/, FFaker::Music.song)
27
27
  end
28
28
  end
data/test/test_number.rb CHANGED
@@ -13,7 +13,7 @@ class TestNumber < Test::Unit::TestCase
13
13
 
14
14
  def test_number
15
15
  assert @tester.number.is_a?(Integer)
16
- assert @tester.number.digits.count == 1
16
+ assert @tester.number.digits.one?
17
17
  assert @tester.number(digits: 3).digits.count == 3
18
18
  assert_match(/\d/, @tester.number.to_s)
19
19
  assert_match(/\d{3}/, @tester.number(digits: 3).to_s)
data/test/test_ssn_se.rb CHANGED
@@ -24,7 +24,7 @@ class TestSSNSE < Test::Unit::TestCase
24
24
  assert equal?(ssn_female[10].to_i)
25
25
 
26
26
  assert_raise ArgumentError do
27
- FFaker::SSNSE.ssn(gender: :unkown)
27
+ FFaker::SSNSE.ssn(gender: :unknown)
28
28
  end
29
29
  end
30
30
 
data/test/test_uuid.rb ADDED
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestUUID < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::UUID,
10
+ :uuidv4, :uuidv6, :uuidv7, :uuidv8
11
+ )
12
+
13
+ def setup
14
+ @tester = FFaker::UUID
15
+ end
16
+
17
+ # @see https://stackoverflow.com/a/38191104
18
+ def test_uuidv4
19
+ raw_uuid = @tester.uuidv4
20
+ assert_format(raw_uuid)
21
+
22
+ uuid = uuid_to_integer(raw_uuid)
23
+ assert_version(uuid, 0b0100)
24
+ assert_variant(uuid, 0b10)
25
+ end
26
+
27
+ def test_uuidv6
28
+ raw_uuid = @tester.uuidv6
29
+ assert_format(raw_uuid)
30
+
31
+ uuid = uuid_to_integer(raw_uuid)
32
+ assert_version(uuid, 0b0110)
33
+ assert_variant(uuid, 0b10)
34
+ end
35
+
36
+ def test_uuidv7
37
+ raw_uuid = @tester.uuidv7
38
+ assert_format(raw_uuid)
39
+
40
+ uuid = uuid_to_integer(raw_uuid)
41
+ assert_version(uuid, 0b0111)
42
+ assert_variant(uuid, 0b10)
43
+ end
44
+
45
+ def test_uuidv8
46
+ raw_uuid = @tester.uuidv8
47
+ assert_format(raw_uuid)
48
+
49
+ uuid = uuid_to_integer(raw_uuid)
50
+ assert_version(uuid, 0b1000)
51
+ assert_variant(uuid, 0b10)
52
+ end
53
+
54
+ private
55
+
56
+ # Matches structure of all UUID versions.
57
+ def assert_format(uuid)
58
+ assert_match(/\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\z/,
59
+ uuid)
60
+ end
61
+
62
+ def assert_version(uuid, version)
63
+ assert_equal(version, (uuid >> 76) & 0b1111)
64
+ end
65
+
66
+ def assert_variant(uuid, variant)
67
+ assert_equal(variant, (uuid >> 62) & 0b11)
68
+ end
69
+
70
+ def uuid_to_integer(uuid)
71
+ uuid.delete('-').to_i(16)
72
+ end
73
+ end
data/test/test_vehicle.rb CHANGED
@@ -94,7 +94,6 @@ class TestVehicle < Test::Unit::TestCase
94
94
  end
95
95
 
96
96
  check_digit = weighted_sum % 11
97
- check_digit == '10' ? 'X' : check_digit
98
97
  check_digit = 'X' if check_digit == 10
99
98
  check_digit.to_s
100
99
  end
metadata CHANGED
@@ -1,24 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.23.0
4
+ version: 2.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/ffaker/ffaker/graphs/contributors
8
8
  - Emmanuel Oga
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2023-09-19 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Ffaker generates dummy data.
15
14
  email: EmmanuelOga@gmail.com
16
15
  executables: []
17
16
  extensions: []
18
17
  extra_rdoc_files:
19
- - README.md
20
- - LICENSE
21
18
  - Changelog.md
19
+ - LICENSE
20
+ - README.md
22
21
  files:
23
22
  - Changelog.md
24
23
  - Gemfile
@@ -280,6 +279,7 @@ files:
280
279
  - lib/ffaker/data/job_it/job_prefix
281
280
  - lib/ffaker/data/job_ja/job_nouns
282
281
  - lib/ffaker/data/job_kr/job_nouns
282
+ - lib/ffaker/data/job_tw/job_nouns
283
283
  - lib/ffaker/data/job_vn/job_nouns
284
284
  - lib/ffaker/data/locale/language
285
285
  - lib/ffaker/data/locale/language_code
@@ -306,6 +306,7 @@ files:
306
306
  - lib/ffaker/data/lorem_ru/capital_chars
307
307
  - lib/ffaker/data/lorem_ru/chars
308
308
  - lib/ffaker/data/lorem_ru/words
309
+ - lib/ffaker/data/lorem_tw/words
309
310
  - lib/ffaker/data/lorem_ua/capital_chars
310
311
  - lib/ffaker/data/lorem_ua/chars
311
312
  - lib/ffaker/data/lorem_ua/words
@@ -481,6 +482,7 @@ files:
481
482
  - lib/ffaker/identification_es.rb
482
483
  - lib/ffaker/identification_es_cl.rb
483
484
  - lib/ffaker/identification_es_co.rb
485
+ - lib/ffaker/identification_fi.rb
484
486
  - lib/ffaker/identification_in.rb
485
487
  - lib/ffaker/identification_it.rb
486
488
  - lib/ffaker/identification_kr.rb
@@ -498,6 +500,7 @@ files:
498
500
  - lib/ffaker/job_it.rb
499
501
  - lib/ffaker/job_ja.rb
500
502
  - lib/ffaker/job_kr.rb
503
+ - lib/ffaker/job_tw.rb
501
504
  - lib/ffaker/job_vn.rb
502
505
  - lib/ffaker/locale.rb
503
506
  - lib/ffaker/lorem.rb
@@ -511,6 +514,7 @@ files:
511
514
  - lib/ffaker/lorem_kr.rb
512
515
  - lib/ffaker/lorem_pl.rb
513
516
  - lib/ffaker/lorem_ru.rb
517
+ - lib/ffaker/lorem_tw.rb
514
518
  - lib/ffaker/lorem_ua.rb
515
519
  - lib/ffaker/movie.rb
516
520
  - lib/ffaker/music.rb
@@ -587,6 +591,7 @@ files:
587
591
  - lib/ffaker/utils/module_utils.rb
588
592
  - lib/ffaker/utils/random_utils.rb
589
593
  - lib/ffaker/utils/unique_utils.rb
594
+ - lib/ffaker/uuid.rb
590
595
  - lib/ffaker/vehicle.rb
591
596
  - lib/ffaker/venue.rb
592
597
  - lib/ffaker/version.rb
@@ -687,6 +692,7 @@ files:
687
692
  - test/test_identification_es.rb
688
693
  - test/test_identification_es_cl.rb
689
694
  - test/test_identification_es_mx.rb
695
+ - test/test_identification_fi.rb
690
696
  - test/test_identification_in.rb
691
697
  - test/test_identification_it.rb
692
698
  - test/test_identification_kr.rb
@@ -703,6 +709,7 @@ files:
703
709
  - test/test_job_it.rb
704
710
  - test/test_job_ja.rb
705
711
  - test/test_job_kr.rb
712
+ - test/test_job_tw.rb
706
713
  - test/test_job_vn.rb
707
714
  - test/test_locale.rb
708
715
  - test/test_lorem.rb
@@ -716,6 +723,7 @@ files:
716
723
  - test/test_lorem_kr.rb
717
724
  - test/test_lorem_pl.rb
718
725
  - test/test_lorem_ru.rb
726
+ - test/test_lorem_tw.rb
719
727
  - test/test_lorem_ua.rb
720
728
  - test/test_module_utils.rb
721
729
  - test/test_movie.rb
@@ -788,6 +796,7 @@ files:
788
796
  - test/test_units.rb
789
797
  - test/test_units_english.rb
790
798
  - test/test_units_metric.rb
799
+ - test/test_uuid.rb
791
800
  - test/test_vehicle.rb
792
801
  - test/test_venue.rb
793
802
  - test/test_youtube.rb
@@ -798,7 +807,6 @@ metadata:
798
807
  changelog_uri: https://github.com/ffaker/ffaker/blob/main/Changelog.md
799
808
  documentation_uri: https://github.com/ffaker/ffaker/blob/main/REFERENCE.md
800
809
  rubygems_mfa_required: 'true'
801
- post_install_message:
802
810
  rdoc_options:
803
811
  - "--charset=UTF-8"
804
812
  require_paths:
@@ -807,15 +815,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
807
815
  requirements:
808
816
  - - ">="
809
817
  - !ruby/object:Gem::Version
810
- version: '3.0'
818
+ version: '3.1'
811
819
  required_rubygems_version: !ruby/object:Gem::Requirement
812
820
  requirements:
813
821
  - - ">="
814
822
  - !ruby/object:Gem::Version
815
823
  version: '0'
816
824
  requirements: []
817
- rubygems_version: 3.4.10
818
- signing_key:
825
+ rubygems_version: 3.6.8
819
826
  specification_version: 4
820
827
  summary: Ffaker generates dummy data.
821
828
  test_files: []