scripref 0.15.0 → 1.1.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.
data/scripref.gemspec CHANGED
@@ -1,37 +1,23 @@
1
- # -*- encoding: utf-8 -*-
2
- # stub: scripref 0.15.0 ruby lib
3
- #
4
- # This file is automatically generated by rim.
5
- # PLEASE DO NOT EDIT IT DIRECTLY!
6
- # Change the values in Rim.setup in Rakefile instead.
1
+ # encoding: utf-8
2
+ require_relative 'lib/scripref'
7
3
 
8
4
  Gem::Specification.new do |s|
9
- s.name = "scripref"
10
- s.version = "0.15.0"
5
+ s.name = 'scripref'
6
+ s.summary = 'Library for parsing scripture references in real texts.'
7
+ s.version = Scripref::VERSION
8
+ s.authors = 'Jan Friedrich'
9
+ s.email = 'janfri26@gmail.com'
11
10
 
12
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
13
- s.require_paths = ["lib"]
14
- s.authors = ["Jan Friedrich"]
15
- s.date = "2020-05-22"
16
- s.description = ""
17
- s.email = "janfri26@gmail.com"
18
- s.files = ["./.aspell.pws", "Changelog", "LICENSE", "README.md", "Rakefile", "lib/scripref", "lib/scripref.rb", "lib/scripref/basic_methods.rb", "lib/scripref/bookname.rb", "lib/scripref/const_reader.rb", "lib/scripref/english.rb", "lib/scripref/formatter.rb", "lib/scripref/german.rb", "lib/scripref/include.rb", "lib/scripref/parser.rb", "lib/scripref/passage.rb", "lib/scripref/pipelining.rb", "lib/scripref/processor.rb", "regtest/formatter.rb", "regtest/formatter.yml", "regtest/parser.rb", "regtest/parser.yml", "regtest/processor.rb", "regtest/processor.yml", "scripref.gemspec", "test/test_bookname.rb", "test/test_english.rb", "test/test_formatter.rb", "test/test_german.rb", "test/test_helper.rb", "test/test_integration.rb", "test/test_parser.rb", "test/test_passage.rb", "test/test_pipelining.rb", "test/test_processor.rb"]
19
- s.homepage = "https://github.com/janfri/scripref"
20
- s.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
21
- s.rubygems_version = "3.1.2"
22
- s.summary = "Library for parsing scripture references in real texts."
11
+ s.homepage = 'https://github.com/janfri/scripref'
12
+ s.metadata = {
13
+ 'homepage_uri' => s.homepage,
14
+ 'source_code_uri' => s.homepage
15
+ }
23
16
 
24
- if s.respond_to? :specification_version then
25
- s.specification_version = 4
26
- end
17
+ s.require_paths = 'lib'
18
+ s.files = %w[Changelog LICENSE README.md Rakefile scripref.gemspec] + Dir['lib/**/*'] + Dir['regtest/**/*'] + Dir['test/**.*']
27
19
 
28
- if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<rake>, [">= 0"])
30
- s.add_development_dependency(%q<rim>, ["~> 2.17"])
31
- s.add_development_dependency(%q<regtest>, ["~> 2"])
32
- else
33
- s.add_dependency(%q<rake>, [">= 0"])
34
- s.add_dependency(%q<rim>, ["~> 2.17"])
35
- s.add_dependency(%q<regtest>, ["~> 2"])
36
- end
20
+ s.add_development_dependency('rake', '>= 0')
21
+ s.add_development_dependency('rim', '~> 3.0')
22
+ s.add_development_dependency('regtest', '~> 2')
37
23
  end
@@ -1,4 +1,6 @@
1
- # - encoding: utf-8 -
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'test_helper'
3
5
 
4
6
  class TestBookname < Test::Unit::TestCase
@@ -6,7 +8,7 @@ class TestBookname < Test::Unit::TestCase
6
8
  include Scripref
7
9
 
8
10
  def setup
9
- @zef = Bookname.new(%w(Zefanja Zephanja), %w(Zef Zefan Zeph Zephan))
11
+ @zef = Bookname.new(osis_id: :Zeph, names: %w(Zefanja Zephanja), abbrevs: %w(Zef Zefan Zeph Zephan))
10
12
  end
11
13
 
12
14
  def test_name
data/test/test_english.rb CHANGED
@@ -1,4 +1,6 @@
1
- # - encoding: utf-8 -
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'test_helper'
3
5
 
4
6
  class TestEnglish < Test::Unit::TestCase
@@ -30,21 +32,21 @@ class TestEnglish < Test::Unit::TestCase
30
32
  assert_match book_re, 'Rev'
31
33
  end
32
34
 
33
- def test_book2num
34
- assert_book_num 1, 'Genesis'
35
- assert_book_num 40, 'Matthew'
36
- assert_book_num 66, 'Revelation'
37
- assert_book_num 1, 'Gen'
38
- assert_book_num 1, 'Ge'
39
- assert_book_num 55, '2 Tim'
40
- assert_book_num 55, '2Tim'
41
- assert_book_num 55, '2Tm'
42
- assert_book_num 40, 'Mat'
43
- assert_book_num 66, 'Rev'
35
+ def test_book2osis_id
36
+ assert_osis_book_id :Gen, 'Genesis'
37
+ assert_osis_book_id :Matt, 'Matthew'
38
+ assert_osis_book_id :Rev, 'Revelation'
39
+ assert_osis_book_id :Gen, 'Gen'
40
+ assert_osis_book_id :Gen, 'Ge'
41
+ assert_osis_book_id :'2Tim', '2 Tim'
42
+ assert_osis_book_id :'2Tim', '2Tim'
43
+ assert_osis_book_id :'2Tim', '2Tm'
44
+ assert_osis_book_id :Matt, 'Mat'
45
+ assert_osis_book_id :Rev, 'Rev'
44
46
  end
45
47
 
46
- def assert_book_num num, str
47
- assert_equal num, @parser.parse(str).first.b1
48
+ def assert_osis_book_id id, str
49
+ assert_equal id, @parser.parse(str).first.b1
48
50
  end
49
51
 
50
52
  end
@@ -1,4 +1,6 @@
1
- # - encoding: utf-8 -
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'test_helper'
3
5
 
4
6
  class TestFormatter < Test::Unit::TestCase
@@ -13,105 +15,105 @@ class TestFormatter < Test::Unit::TestCase
13
15
 
14
16
  def test_only_book
15
17
  text = 'Ruth'
16
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, b2: 8)]
18
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, b2: :Ruth)]
17
19
  end
18
20
 
19
21
  def test_book_and_chapter
20
22
  text = 'Ruth 2'
21
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, b2: 8, c2: 2)]
23
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, b2: :Ruth, c2: 2)]
22
24
  end
23
25
 
24
26
  def test_book_chapter_and_verse
25
27
  text = 'Ruth 2,5'
26
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 5)]
28
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 5)]
27
29
  end
28
30
 
29
31
  def test_verse_range
30
32
  text = 'Ruth 2,5-11'
31
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 11)]
33
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 11)]
32
34
  end
33
35
 
34
36
  def test_chapter_verse_range
35
37
  text = 'Ruth 2,5-3,7'
36
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 3, v2: 7)]
38
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 3, v2: 7)]
37
39
  end
38
40
 
39
41
  def test_chapter_range
40
42
  text = 'Ruth 2-3'
41
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, b2: 8, c2: 3)]
43
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, b2: :Ruth, c2: 3)]
42
44
  end
43
45
 
44
46
  def test_book_range
45
47
  text = '1. Mose-Offenbarung'
46
- assert_formated_text_for_ast text, [pass(text: text, b1: 1, b2: 66)]
48
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Gen, b2: :Rev)]
47
49
  end
48
50
 
49
51
  def test_book_chapter_range
50
52
  text = '1. Mose 1-Offenbarung 22'
51
- assert_formated_text_for_ast text, [pass(text: text, b1: 1, c1: 1, b2: 66, c2: 22)]
53
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Gen, c1: 1, b2: :Rev, c2: 22)]
52
54
  end
53
55
 
54
56
  def test_book_chapter_verse_range
55
57
  text = '1. Mose 1,1-Offenbarung 22,21'
56
- assert_formated_text_for_ast text, [pass(text: text, b1: 1, c1: 1, v1: 1, b2: 66, c2: 22, v2: 21)]
58
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Gen, c1: 1, v1: 1, b2: :Rev, c2: 22, v2: 21)]
57
59
  end
58
60
 
59
61
  def test_one_following_verse
60
62
  text = 'Ruth 2,5f'
61
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: :f)]
63
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: :f)]
62
64
  end
63
65
 
64
66
  def test_more_following_verse
65
67
  text = 'Ruth 2,5ff'
66
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: :ff)]
68
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: :ff)]
67
69
  end
68
70
 
69
71
  def test_first_addon
70
72
  text = 'Ruth 2,5a'
71
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 5, a1: :a)]
73
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 5, a1: :a)]
72
74
  end
73
75
 
74
76
  def test_second_addon
75
77
  text = 'Ruth 2,5-7a'
76
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 7, a2: :a)]
78
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 7, a2: :a)]
77
79
  end
78
80
 
79
81
  def test_both_addons
80
82
  text = 'Ruth 2,5b-7a'
81
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 7, a1: :b, a2: :a)]
83
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 7, a1: :b, a2: :a)]
82
84
  end
83
85
 
84
86
  def test_reset_addons
85
87
  text = 'Ruth'
86
- assert_formated_text_for_ast text, [pass(text: text, b1: 8, b2: 8)]
88
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Ruth, b2: :Ruth)]
87
89
  end
88
90
 
89
91
  def test_book_with_only_one_chapter
90
92
  text = 'Obadja 3'
91
- assert_formated_text_for_ast text, [pass(text: text, b1: 31, c1: 1, v1: 3, b2: 31, c2: 1, v2: 3)]
93
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Obad, c1: 1, v1: 3, b2: :Obad, c2: 1, v2: 3)]
92
94
  text = 'Obadja 1'
93
- assert_formated_text_for_ast text, [pass(text: text, b1: 31, c1: 1, v1: 1, b2: 31, c2: 1, v2: 1)]
95
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Obad, c1: 1, v1: 1, b2: :Obad, c2: 1, v2: 1)]
94
96
  end
95
97
 
96
98
  def test_book_with_only_one_chapter_range
97
99
  text = 'Obadja 3-5'
98
- assert_formated_text_for_ast text, [pass(text: text, b1: 31, c1: 1, v1: 3, b2: 31, c2: 1, v2: 5)]
100
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Obad, c1: 1, v1: 3, b2: :Obad, c2: 1, v2: 5)]
99
101
  text = 'Obadja 1-4'
100
- assert_formated_text_for_ast text, [pass(text: text, b1: 31, c1: 1, v1: 1, b2: 31, c2: 1, v2: 4)]
102
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Obad, c1: 1, v1: 1, b2: :Obad, c2: 1, v2: 4)]
101
103
  end
102
104
 
103
105
  def test_book_with_only_one_chapter_at_begin_of_range
104
106
  text = 'Obadja-Jona'
105
- assert_formated_text_for_ast text, [pass(text: text, b1: 31, c1: 1, b2: 32)]
107
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Obad, c1: 1, b2: :Jonah)]
106
108
  text = 'Obadja 3-Jona 2,4'
107
- assert_formated_text_for_ast text, [pass(text: text, b1: 31, c1: 1, v1: 3, b2: 32, c2: 2, v2: 4)]
109
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Obad, c1: 1, v1: 3, b2: :Jonah, c2: 2, v2: 4)]
108
110
  end
109
111
 
110
112
  def test_book_with_only_one_chapter_at_end_of_range
111
113
  text = 'Amos 2,4-Obadja 3'
112
- assert_formated_text_for_ast text, [pass(text: text, b1: 30, c1: 2, v1: 4, b2: 31, c2: 1, v2: 3)]
114
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Amos, c1: 2, v1: 4, b2: :Obad, c2: 1, v2: 3)]
113
115
  text = 'Amos 2,4-Obadja 1'
114
- assert_formated_text_for_ast text, [pass(text: text, b1: 30, c1: 2, v1: 4, b2: 31, c2: 1, v2: 1)]
116
+ assert_formated_text_for_ast text, [pass(text: text, b1: :Amos, c1: 2, v1: 4, b2: :Obad, c2: 1, v2: 1)]
115
117
  end
116
118
 
117
119
  ######################################################################
@@ -121,49 +123,49 @@ class TestFormatter < Test::Unit::TestCase
121
123
  def test_two_books
122
124
  text = 'Ruth; Markus'
123
125
  t1, t2 = text.split(semi)
124
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, b2: 8), semi, pass(text: t2, b1: 41, b2: 41)]
126
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, b2: :Ruth), semi, pass(text: t2, b1: :Mark, b2: :Mark)]
125
127
  end
126
128
 
127
129
  def test_two_complete_refs
128
130
  text = 'Ruth 2,1; Markus 4,8'
129
131
  t1, t2 = text.split(semi)
130
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 1), semi, pass(text: t2, b1: 41, c1: 4, v1: 8, b2: 41, c2: 4, v2: 8)]
132
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 1), semi, pass(text: t2, b1: :Mark, c1: 4, v1: 8, b2: :Mark, c2: 4, v2: 8)]
131
133
  end
132
134
 
133
135
  def test_two_refs_same_book
134
136
  text = 'Ruth 2,1; 5,4'
135
137
  t1, t2 = text.split(semi)
136
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 1), semi, pass(text: t2, b1: 8, c1: 5, v1: 4, b2: 8, c2: 5, v2: 4)]
138
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 1), semi, pass(text: t2, b1: :Ruth, c1: 5, v1: 4, b2: :Ruth, c2: 5, v2: 4)]
137
139
  end
138
140
 
139
141
  def test_two_chapters_same_book
140
142
  text = 'Ruth 2; 5'
141
143
  t1, t2 = text.split(semi)
142
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, b2: 8, c2: 2), semi, pass(text: t2, b1: 8, c1: 5, b2: 8, c2: 5)]
144
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, b2: :Ruth, c2: 2), semi, pass(text: t2, b1: :Ruth, c1: 5, b2: :Ruth, c2: 5)]
143
145
  end
144
146
 
145
147
  def test_two_chapters_different_book
146
148
  text = 'Ruth 2; Markus 4'
147
149
  t1, t2 = text.split(semi)
148
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, b2: 8, c2: 2), semi, pass(text: t2, b1: 41, c1: 4, b2: 41, c2: 4)]
150
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, b2: :Ruth, c2: 2), semi, pass(text: t2, b1: :Mark, c1: 4, b2: :Mark, c2: 4)]
149
151
  end
150
152
 
151
153
  def test_two_verses
152
154
  text = 'Ruth 2,5.11'
153
155
  t1, t2 = text.split(dot)
154
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 5), dot, pass(text: t2, b1: 8, c1: 2, v1: 11, b2: 8, c2: 2, v2: 11)]
156
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 5), dot, pass(text: t2, b1: :Ruth, c1: 2, v1: 11, b2: :Ruth, c2: 2, v2: 11)]
155
157
  end
156
158
 
157
159
  def test_partial_passage_after_full_passage
158
160
  text = 'Ruth 2,5; 4'
159
161
  t1, t2 = text.split(semi)
160
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 5), semi, pass(text: t2, b1: 8, c1: 4, b2: 8, c2: 4)]
162
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 5), semi, pass(text: t2, b1: :Ruth, c1: 4, b2: :Ruth, c2: 4)]
161
163
  text = 'Ruth 2,5; Markus'
162
164
  t1, t2 = text.split(semi)
163
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 5), semi, pass(text: t2, b1: 41, b2: 41)]
165
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 5), semi, pass(text: t2, b1: :Mark, b2: :Mark)]
164
166
  text = 'Ruth 2,5; Markus 4'
165
167
  t1, t2 = text.split(semi)
166
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 5, b2: 8, c2: 2, v2: 5), semi, pass(text: t2, b1: 41, c1: 4, b2: 41, c2: 4)]
168
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 5, b2: :Ruth, c2: 2, v2: 5), semi, pass(text: t2, b1: :Mark, c1: 4, b2: :Mark, c2: 4)]
167
169
  end
168
170
 
169
171
  ######################################################################
@@ -173,61 +175,61 @@ class TestFormatter < Test::Unit::TestCase
173
175
  def test_verse_range_and_separated_verse
174
176
  text = 'Ruth 2,1-3.11'
175
177
  t1, t2 = text.split(dot)
176
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 3), dot, pass(text: t2, b1: 8, c1: 2, v1: 11, b2: 8, c2: 2, v2: 11)]
178
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 3), dot, pass(text: t2, b1: :Ruth, c1: 2, v1: 11, b2: :Ruth, c2: 2, v2: 11)]
177
179
  end
178
180
 
179
181
  def test_separate_verse_and_verse_range
180
182
  text = 'Ruth 2,1.3-11'
181
183
  t1, t2 = text.split(dot)
182
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 1), dot, pass(text: t2, b1: 8, c1: 2, v1: 3, b2: 8, c2: 2, v2: 11)]
184
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 1), dot, pass(text: t2, b1: :Ruth, c1: 2, v1: 3, b2: :Ruth, c2: 2, v2: 11)]
183
185
  end
184
186
 
185
187
  def test_two_verse_ranges
186
188
  text = 'Ruth 2,1-3.7-11'
187
189
  t1, t2 = text.split(dot)
188
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 3), dot, pass(text: t2, b1: 8, c1: 2, v1: 7, b2: 8, c2: 2, v2: 11)]
190
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 3), dot, pass(text: t2, b1: :Ruth, c1: 2, v1: 7, b2: :Ruth, c2: 2, v2: 11)]
189
191
  end
190
192
 
191
193
  def test_two_verse_range_different_books
192
194
  text = 'Ruth 2,1-11; Markus 4,3-7'
193
195
  t1, t2 = text.split(semi)
194
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 11), semi, pass(text: t2, b1: 41, c1: 4, v1: 3, b2: 41, c2: 4, v2: 7)]
196
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 11), semi, pass(text: t2, b1: :Mark, c1: 4, v1: 3, b2: :Mark, c2: 4, v2: 7)]
195
197
  end
196
198
 
197
199
  def test_two_verse_range_different_chapters
198
200
  text = 'Ruth 2,1-11; 3,10-19'
199
201
  t1, t2 = text.split(semi)
200
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 11), semi, pass(text: t2, b1: 8, c1: 3, v1: 10, b2: 8, c2: 3, v2: 19)]
202
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 11), semi, pass(text: t2, b1: :Ruth, c1: 3, v1: 10, b2: :Ruth, c2: 3, v2: 19)]
201
203
  end
202
204
 
203
205
  def test_book_range_and_following_book
204
206
  text = 'Ruth-Markus; Johannes'
205
207
  t1, t2 = text.split(semi)
206
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, b2: 41), semi, pass(text: t2, b1: 43, b2: 43)]
208
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, b2: :Mark), semi, pass(text: t2, b1: :John, b2: :John)]
207
209
  end
208
210
 
209
211
  def test_chapter_range_and_following_book
210
212
  text = 'Ruth 1-2; Johannes 4'
211
213
  t1, t2 = text.split(semi)
212
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 1, b2: 8, c2: 2), semi, pass(text: t2, b1: 43, c1: 4, b2: 43, c2: 4)]
214
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 1, b2: :Ruth, c2: 2), semi, pass(text: t2, b1: :John, c1: 4, b2: :John, c2: 4)]
213
215
  end
214
216
 
215
217
  def test_chapter_range_and_following_chapter
216
218
  text = 'Ruth 1-2; 4'
217
219
  t1, t2 = text.split(semi)
218
- assert_formated_text_for_ast text, [pass(text: t1, b1: 8, c1: 1, b2: 8, c2: 2), semi, pass(text: t2, b1: 8, c1: 4, b2: 8, c2: 4)]
220
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Ruth, c1: 1, b2: :Ruth, c2: 2), semi, pass(text: t2, b1: :Ruth, c1: 4, b2: :Ruth, c2: 4)]
219
221
  end
220
222
 
221
223
  def test_book_only_after_full_passage
222
224
  text = 'Matthäus 3,4; Markus; Johannes 3,16'
223
225
  t1, t2, t3 = text.split(semi)
224
- assert_formated_text_for_ast text, [pass(text: t1, b1: 40, c1: 3, v1: 4, b2: 40, c2: 3, v2: 4), semi, pass(text: t2, b1: 41, b2: 41), semi, pass(text: t3, b1: 43, c1: 3, v1: 16, b2: 43, c2: 3, v2: 16)]
226
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Matt, c1: 3, v1: 4, b2: :Matt, c2: 3, v2: 4), semi, pass(text: t2, b1: :Mark, b2: :Mark), semi, pass(text: t3, b1: :John, c1: 3, v1: 16, b2: :John, c2: 3, v2: 16)]
225
227
  end
226
228
 
227
229
  def test_chapter_only_after_full_passage
228
230
  text = 'Matthäus 3,4; 8; Johannes 3,16'
229
231
  t1, t2, t3 = text.split(semi)
230
- assert_formated_text_for_ast text, [pass(text: t1, b1: 40, c1: 3, v1: 4, b2: 40, c2: 3, v2: 4), semi, pass(text: t2, b1: 40, c1: 8, b2: 40, c2: 8), semi, pass(text: t3, b1: 43, c1: 3, v1: 16, b2: 43, c2: 3, v2: 16)]
232
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Matt, c1: 3, v1: 4, b2: :Matt, c2: 3, v2: 4), semi, pass(text: t2, b1: :Matt, c1: 8, b2: :Matt, c2: 8), semi, pass(text: t3, b1: :John, c1: 3, v1: 16, b2: :John, c2: 3, v2: 16)]
231
233
  end
232
234
 
233
235
  ######################################################################
@@ -238,13 +240,13 @@ class TestFormatter < Test::Unit::TestCase
238
240
  text = 'Ruth 2,1-11.15; 3,7.9-12; Markus 4; 5,3.18-21'
239
241
  t1, t2, t3, t4, t5, t6, t7 = text.split(/; |\./)
240
242
  ast = [
241
- pass(text: t1, b1: 8, c1: 2, v1: 1, b2: 8, c2: 2, v2: 11), dot,
242
- pass(text: t2, b1: 8, c1: 2, v1: 15, b2: 8, c2: 2, v2: 15), semi,
243
- pass(text: t3, b1: 8, c1: 3, v1: 7, b2: 8, c2: 3, v2: 7), dot,
244
- pass(text: t4, b1: 8, c1: 3, v1: 9, b2: 8, c2: 3, v2: 12), semi,
245
- pass(text: t5, b1: 41, c1: 4, b2: 41, c2: 4), semi,
246
- pass(text: t6, b1: 41, c1: 5, v1: 3, b2: 41, c2: 5, v2: 3), dot,
247
- pass(text: t7, b1: 41, c1: 5, v1: 18, b2: 41, c2: 5, v2: 21)
243
+ pass(text: t1, b1: :Ruth, c1: 2, v1: 1, b2: :Ruth, c2: 2, v2: 11), dot,
244
+ pass(text: t2, b1: :Ruth, c1: 2, v1: 15, b2: :Ruth, c2: 2, v2: 15), semi,
245
+ pass(text: t3, b1: :Ruth, c1: 3, v1: 7, b2: :Ruth, c2: 3, v2: 7), dot,
246
+ pass(text: t4, b1: :Ruth, c1: 3, v1: 9, b2: :Ruth, c2: 3, v2: 12), semi,
247
+ pass(text: t5, b1: :Mark, c1: 4, b2: :Mark, c2: 4), semi,
248
+ pass(text: t6, b1: :Mark, c1: 5, v1: 3, b2: :Mark, c2: 5, v2: 3), dot,
249
+ pass(text: t7, b1: :Mark, c1: 5, v1: 18, b2: :Mark, c2: 5, v2: 21)
248
250
  ]
249
251
  assert_formated_text_for_ast text, ast
250
252
  end
@@ -257,13 +259,13 @@ class TestFormatter < Test::Unit::TestCase
257
259
  @german_formatter.bookformat = :abbrev
258
260
  text = 'Mat 3,4; Mar; Joh 3,16'
259
261
  t1, t2, t3 = text.split(semi)
260
- assert_formated_text_for_ast text, [pass(text: t1, b1: 40, c1: 3, v1: 4, b2: 40, c2: 3, v2: 4), semi, pass(text: t2, b1: 41, b2: 41), semi, pass(text: t3, b1: 43, c1: 3, v1: 16, b2: 43, c2: 3, v2: 16)]
262
+ assert_formated_text_for_ast text, [pass(text: t1, b1: :Matt, c1: 3, v1: 4, b2: :Matt, c2: 3, v2: 4), semi, pass(text: t2, b1: :Mark, b2: :Mark), semi, pass(text: t3, b1: :John, c1: 3, v1: 16, b2: :John, c2: 3, v2: 16)]
261
263
  end
262
264
 
263
265
  def test_exception_for_unhandled_bookformat
264
266
  assert_raise NoMethodError do
265
267
  @german_formatter.bookformat = :unknown
266
- @german_formatter.format [pass(text: 1, b1: 2, c1: 3, v1: 4, b2: 5, c2: 6, v2: 7)]
268
+ @german_formatter.format [pass(text: 1, b1: :Exod, c1: 3, v1: 4, b2: :Deut, c2: 6, v2: 7)]
267
269
  end
268
270
  end
269
271
  private
data/test/test_german.rb CHANGED
@@ -1,4 +1,6 @@
1
- # - encoding: utf-8 -
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'test_helper'
3
5
 
4
6
  class TestGerman < Test::Unit::TestCase
@@ -31,15 +33,15 @@ class TestGerman < Test::Unit::TestCase
31
33
  end
32
34
 
33
35
  def test_book2num
34
- assert_book_num 1, '1. Mose'
35
- assert_book_num 40, 'Matthäus'
36
- assert_book_num 66, 'Offenbarung'
37
- assert_book_num 1, '1. Mo'
38
- assert_book_num 1, '1.Mo'
39
- assert_book_num 1, '1M'
40
- assert_book_num 40, 'Mat'
41
- assert_book_num 50, 'Phil'
42
- assert_book_num 66, 'Off'
36
+ assert_book_num :Gen, '1. Mose'
37
+ assert_book_num :Matt, 'Matthäus'
38
+ assert_book_num :Rev, 'Offenbarung'
39
+ assert_book_num :Gen, '1. Mo'
40
+ assert_book_num :Gen, '1.Mo'
41
+ assert_book_num :Gen, '1M'
42
+ assert_book_num :Matt, 'Mat'
43
+ assert_book_num :Phil, 'Phil'
44
+ assert_book_num :Rev, 'Off'
43
45
  end
44
46
 
45
47
  def assert_book_num num, str
data/test/test_helper.rb CHANGED
@@ -1,4 +1,6 @@
1
- # - encoding: utf-8 -
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'scripref'
3
5
  require 'test/unit'
4
6
 
@@ -1,4 +1,6 @@
1
- # - encoding: utf-8 -
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'test_helper'
3
5
 
4
6
  class TestIntegration < Test::Unit::TestCase