defmastership 1.3.3 → 1.3.4

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -9
  3. data/Rakefile +1 -1
  4. data/defmastership.gemspec +3 -2
  5. data/features/changeref.feature +30 -0
  6. data/features/export.feature +55 -0
  7. data/features/rename_included_files.feature +27 -0
  8. data/features/step_definitions/git_steps.rb +3 -0
  9. data/lib/defmastership/app.rb +31 -3
  10. data/lib/defmastership/export/csv/formatter.rb +8 -60
  11. data/lib/defmastership/export/formatter.rb +88 -0
  12. data/lib/defmastership/export/json/formatter.rb +34 -0
  13. data/lib/defmastership/export/xlsx/formatter.rb +87 -0
  14. data/lib/defmastership/export/yaml/formatter.rb +34 -0
  15. data/lib/defmastership/modifier/change_ref.rb +13 -5
  16. data/lib/defmastership/modifier/modifier_common.rb +4 -4
  17. data/lib/defmastership/modifier/rename_included_files.rb +7 -5
  18. data/lib/defmastership/modifier/update_def.rb +2 -1
  19. data/lib/defmastership/modifier/update_eref_common.rb +2 -1
  20. data/lib/defmastership/modifier/update_iref_checksum.rb +2 -1
  21. data/lib/defmastership/modifier/update_iref_version.rb +2 -1
  22. data/lib/defmastership/version.rb +1 -1
  23. data/spec/unit/defmastership/app_spec.rb +27 -3
  24. data/spec/unit/defmastership/export/csv/formatter_spec.rb +44 -231
  25. data/spec/unit/defmastership/export/formatter_spec.rb +97 -0
  26. data/spec/unit/defmastership/export/json/formatter_spec.rb +85 -0
  27. data/spec/unit/defmastership/export/xlsx/formatter_spec.rb +82 -0
  28. data/spec/unit/defmastership/export/yaml/formatter_spec.rb +85 -0
  29. data/spec/unit/defmastership/modifier/change_ref_spec.rb +54 -48
  30. data/spec/unit/defmastership/modifier/modifier_common_spec.rb +5 -5
  31. data/spec/unit/defmastership/modifier/rename_included_files_spec.rb +66 -62
  32. data/spec/unit/defmastership/modifier/update_def_checksum_spec.rb +5 -5
  33. data/spec/unit/defmastership/modifier/update_def_spec.rb +12 -10
  34. data/spec/unit/defmastership/modifier/update_def_version_spec.rb +9 -7
  35. data/spec/unit/defmastership/modifier/update_eref_checksum_spec.rb +26 -17
  36. data/spec/unit/defmastership/modifier/update_eref_version_spec.rb +34 -22
  37. data/spec/unit/defmastership/modifier/update_iref_checksum_spec.rb +8 -8
  38. data/spec/unit/defmastership/modifier/update_iref_version_spec.rb +11 -11
  39. data/tasks/code_quality.rake +1 -1
  40. metadata +28 -6
@@ -33,14 +33,14 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
33
33
  context 'when the include statement do not match' do
34
34
  before do
35
35
  ['[define,requirement,REFERENCE]', '--'].each do |line|
36
- includeschanger.replace(line)
36
+ includeschanger.replace('', line)
37
37
  end
38
38
  end
39
39
 
40
- it { expect(includeschanger.replace('badinclude::orig[]')).to(eq('badinclude::orig[]')) }
40
+ it { expect(includeschanger.replace('', 'badinclude::orig[]')).to(eq('badinclude::orig[]')) }
41
41
 
42
42
  it do
43
- includeschanger.replace('badinclude::orig[]')
43
+ includeschanger.replace('', 'badinclude::orig[]')
44
44
  expect(includeschanger).to(have_attributes(changes: []))
45
45
  end
46
46
  end
@@ -48,25 +48,25 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
48
48
  context 'when the include is not in a definition' do
49
49
  before do
50
50
  ['[define,requirement,REFERENCE]', '--', 'text', '--'].each do |line|
51
- includeschanger.replace(line)
51
+ includeschanger.replace('', line)
52
52
  end
53
53
  end
54
54
 
55
- it { expect(includeschanger.replace('include::orig[]')).to(eq('include::orig[]')) }
55
+ it { expect(includeschanger.replace('', 'include::orig[]')).to(eq('include::orig[]')) }
56
56
 
57
57
  it do
58
- includeschanger.replace('include::orig[]')
58
+ includeschanger.replace('', 'include::orig[]')
59
59
  expect(includeschanger).to(have_attributes(changes: []))
60
60
  end
61
61
  end
62
62
 
63
63
  context 'when the line is commented' do
64
64
  before do
65
- includeschanger.replace('[define,requirement,REFERENCE]')
66
- includeschanger.replace('--')
65
+ includeschanger.replace('', '[define,requirement,REFERENCE]')
66
+ includeschanger.replace('', '--')
67
67
  end
68
68
 
69
- it { expect(includeschanger.replace('// include::orig[]')).to(eq('// include::orig[]')) }
69
+ it { expect(includeschanger.replace('', '// include::orig[]')).to(eq('// include::orig[]')) }
70
70
  end
71
71
 
72
72
  context 'when the cancel regexp is met' do
@@ -75,11 +75,11 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
75
75
  end
76
76
 
77
77
  before do
78
- includeschanger.replace('[define,requirement,REFERENCE]')
79
- includeschanger.replace('--')
78
+ includeschanger.replace('', '[define,requirement,REFERENCE]')
79
+ includeschanger.replace('', '--')
80
80
  end
81
81
 
82
- it { expect(includeschanger.replace("include::orig[]\n")).to(eq("include::orig[]\n")) }
82
+ it { expect(includeschanger.replace('', "include::orig[]\n")).to(eq("include::orig[]\n")) }
83
83
  end
84
84
  end
85
85
 
@@ -94,48 +94,48 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
94
94
  end
95
95
 
96
96
  before do
97
- includeschanger.replace('[define,requirement,REFERENCE]')
98
- includeschanger.replace('--')
97
+ includeschanger.replace('sub/one_file.adoc', '[define,requirement,REFERENCE]')
98
+ includeschanger.replace('sub/one_file.adoc', '--')
99
99
  end
100
100
 
101
101
  it do
102
- expect(includeschanger.replace("include::orig[]\n"))
102
+ expect(includeschanger.replace('sub/one_file.adoc', "include::orig[]\n"))
103
103
  .to(eq("include::dest[]\n"))
104
104
  end
105
105
 
106
106
  it do
107
- includeschanger.replace("include::orig[]\n")
108
- expect(File).to(have_received(:rename).with('orig', 'dest'))
107
+ includeschanger.replace('sub/one_file.adoc', "include::orig[]\n")
108
+ expect(File).to(have_received(:rename).with('sub/orig', 'sub/dest'))
109
109
  end
110
110
 
111
111
  it do
112
- expect(includeschanger.replace("include::orig[leveloffset=offset,lines=ranges]\n"))
112
+ expect(includeschanger.replace('', "include::orig[leveloffset=offset,lines=ranges]\n"))
113
113
  .to(eq("include::dest[leveloffset=offset,lines=ranges]\n"))
114
114
  end
115
115
 
116
116
  it do
117
- includeschanger.replace("include::orig[leveloffset=offset,lines=ranges]\n")
118
- expect(File).to(have_received(:rename).with('orig', 'dest'))
117
+ includeschanger.replace('sub/one_file.adoc', "include::orig[leveloffset=offset,lines=ranges]\n")
118
+ expect(File).to(have_received(:rename).with('sub/orig', 'sub/dest'))
119
119
  end
120
120
 
121
121
  it do
122
- includeschanger.replace("include::orig[]\n")
123
- expect(includeschanger).to(have_attributes(changes: [%w[orig dest]]))
122
+ includeschanger.replace('', "include::orig[]\n")
123
+ expect(includeschanger).to(have_attributes(changes: [%w[./orig ./dest]]))
124
124
  end
125
125
 
126
126
  it do
127
- expect(includeschanger.replace("include::toto/orig[]\n"))
127
+ expect(includeschanger.replace('sub/one_file.adoc', "include::toto/orig[]\n"))
128
128
  .to(eq("include::toto/dest[]\n"))
129
129
  end
130
130
 
131
131
  it do
132
- includeschanger.replace("include::toto/orig[]\n")
133
- expect(File).to(have_received(:rename).with('toto/orig', 'toto/dest'))
132
+ includeschanger.replace('sub/one_file.adoc', "include::toto/orig[]\n")
133
+ expect(File).to(have_received(:rename).with('sub/toto/orig', 'sub/toto/dest'))
134
134
  end
135
135
 
136
136
  it do
137
- includeschanger.replace("include::toto/orig[]\n")
138
- expect(includeschanger).to(have_attributes(changes: [%w[toto/orig toto/dest]]))
137
+ includeschanger.replace('sub/one_file.adoc', "include::toto/orig[]\n")
138
+ expect(includeschanger).to(have_attributes(changes: [%w[sub/toto/orig sub/toto/dest]]))
139
139
  end
140
140
  end
141
141
 
@@ -145,22 +145,24 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
145
145
  end
146
146
 
147
147
  before do
148
- includeschanger.replace('[define,requirement,REF]')
148
+ includeschanger.replace('sub/one_file.adoc', '[define,requirement,REF]')
149
149
  end
150
150
 
151
151
  it do
152
- expect(includeschanger.replace('include::any_path/one_file.extension[]'))
152
+ expect(includeschanger.replace('sub/one_file.adoc', 'include::any_path/one_file.extension[]'))
153
153
  .to(eq('include::any_path/REF_one_file.extension[]'))
154
154
  end
155
155
 
156
156
  it do
157
- includeschanger.replace('include::any_path/one_file.extension[]')
158
- expect(File).to(have_received(:rename).with('any_path/one_file.extension', 'any_path/REF_one_file.extension'))
157
+ includeschanger.replace('sub/one_file.adoc', 'include::any_path/one_file.extension[]')
158
+ expect(File).to(
159
+ have_received(:rename).with('sub/any_path/one_file.extension', 'sub/any_path/REF_one_file.extension')
160
+ )
159
161
  end
160
162
 
161
163
  it do
162
- changes = [%w[any_path/one_file.extension any_path/REF_one_file.extension]]
163
- includeschanger.replace('include::any_path/one_file.extension[]')
164
+ changes = [%w[sub/any_path/one_file.extension sub/any_path/REF_one_file.extension]]
165
+ includeschanger.replace('sub/one_file.adoc', 'include::any_path/one_file.extension[]')
164
166
  expect(includeschanger).to(have_attributes(changes: changes))
165
167
  end
166
168
  end
@@ -169,33 +171,35 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
169
171
  subject(:includeschanger) { described_class.new(from_regexp: 'orig', to_template: 'dest') }
170
172
 
171
173
  before do
172
- includeschanger.replace(':any: one')
173
- includeschanger.replace(':path: two')
174
- includeschanger.replace(':var: three')
175
- includeschanger.replace('[define,requirement,REFERENCE]')
176
- includeschanger.replace('--')
174
+ includeschanger.replace('sub/one_file.adoc', ':any: one')
175
+ includeschanger.replace('sub/one_file.adoc', ':path: two')
176
+ includeschanger.replace('sub/one_file.adoc', ':var: three')
177
+ includeschanger.replace('sub/one_file.adoc', '[define,requirement,REFERENCE]')
178
+ includeschanger.replace('sub/one_file.adoc', '--')
177
179
  end
178
180
 
179
- it { expect(includeschanger.replace('include::{any}/orig[]')).to(eq('include::{any}/dest[]')) }
181
+ it do
182
+ expect(includeschanger.replace('sub/one_file.adoc', 'include::{any}/orig[]')).to(eq('include::{any}/dest[]'))
183
+ end
180
184
 
181
185
  it do
182
- includeschanger.replace('include::{any}{var}/orig[]')
183
- expect(File).to(have_received(:rename).with('onethree/orig', 'onethree/dest'))
186
+ includeschanger.replace('sub/one_file.adoc', 'include::{any}{var}/orig[]')
187
+ expect(File).to(have_received(:rename).with('sub/onethree/orig', 'sub/onethree/dest'))
184
188
  end
185
189
 
186
190
  it do
187
- includeschanger.replace('include::{any}_{path}/orig[]')
188
- expect(File).to(have_received(:rename).with('one_two/orig', 'one_two/dest'))
191
+ includeschanger.replace('sub/one_file.adoc', 'include::{any}_{path}/orig[]')
192
+ expect(File).to(have_received(:rename).with('sub/one_two/orig', 'sub/one_two/dest'))
189
193
  end
190
194
 
191
195
  it do
192
- expect { includeschanger.replace('include::{bad_variable}/orig[]') }
196
+ expect { includeschanger.replace('sub/one_file.adoc', 'include::{bad_variable}/orig[]') }
193
197
  .to(raise_error(KeyError, 'key not found: :bad_variable'))
194
198
  end
195
199
 
196
200
  it do
197
- includeschanger.replace('include::{any}_{path}/orig[]')
198
- expect(includeschanger).to(have_attributes(changes: [%w[one_two/orig one_two/dest]]))
201
+ includeschanger.replace('sub/one_file.adoc', 'include::{any}_{path}/orig[]')
202
+ expect(includeschanger).to(have_attributes(changes: [%w[sub/one_two/orig sub/one_two/dest]]))
199
203
  end
200
204
  end
201
205
 
@@ -205,16 +209,16 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
205
209
  end
206
210
 
207
211
  it do
208
- includeschanger.replace('[define,whatever,REFERENCE]')
209
- includeschanger.replace('--')
210
- expect(includeschanger.replace("include::orig[]\n"))
212
+ includeschanger.replace('sub/one_file.adoc', '[define,whatever,REFERENCE]')
213
+ includeschanger.replace('sub/one_file.adoc', '--')
214
+ expect(includeschanger.replace('sub/one_file.adoc', "include::orig[]\n"))
211
215
  .to(eq("include::orig[]\n"))
212
216
  end
213
217
 
214
218
  it do
215
- includeschanger.replace('[define,requirement,REFERENCE]')
216
- includeschanger.replace('--')
217
- expect(includeschanger.replace("include::orig[]\n"))
219
+ includeschanger.replace('sub/one_file.adoc', '[define,requirement,REFERENCE]')
220
+ includeschanger.replace('sub/one_file.adoc', '--')
221
+ expect(includeschanger.replace('sub/one_file.adoc', "include::orig[]\n"))
218
222
  .to(eq("include::dest[]\n"))
219
223
  end
220
224
  end
@@ -225,28 +229,28 @@ RSpec.describe(Defmastership::Modifier::RenameIncludedFiles) do
225
229
  end
226
230
 
227
231
  it do
228
- expect(includeschanger.replace("include::orig[]\n"))
232
+ expect(includeschanger.replace('sub/one_file.adoc', "include::orig[]\n"))
229
233
  .to(eq("include::orig[]\n"))
230
234
  end
231
235
 
232
236
  it do
233
- includeschanger.replace('[define,whatever,REFERENCE]')
234
- includeschanger.replace('--')
235
- expect(includeschanger.replace("include::orig[]\n"))
237
+ includeschanger.replace('sub/one_file.adoc', '[define,whatever,REFERENCE]')
238
+ includeschanger.replace('sub/one_file.adoc', '--')
239
+ expect(includeschanger.replace('sub/one_file.adoc', "include::orig[]\n"))
236
240
  .to(eq("include::orig[]\n"))
237
241
  end
238
242
 
239
243
  it do
240
- includeschanger.replace('[define,requirement,REFERENCE]')
241
- includeschanger.replace('--')
242
- expect(includeschanger.replace("include::orig[]\n"))
244
+ includeschanger.replace('sub/one_file.adoc', '[define,requirement,REFERENCE]')
245
+ includeschanger.replace('sub/one_file.adoc', '--')
246
+ expect(includeschanger.replace('sub/one_file.adoc', "include::orig[]\n"))
243
247
  .to(eq("include::dest[]\n"))
244
248
  end
245
249
 
246
250
  it do
247
- includeschanger.replace('[define,pouet,REFERENCE]')
248
- includeschanger.replace('--')
249
- expect(includeschanger.replace("include::orig[]\n"))
251
+ includeschanger.replace('sub/one_file.adoc', '[define,pouet,REFERENCE]')
252
+ includeschanger.replace('sub/one_file.adoc', '--')
253
+ expect(includeschanger.replace('sub/one_file.adoc', "include::orig[]\n"))
250
254
  .to(eq("include::dest[]\n"))
251
255
  end
252
256
  end
@@ -66,7 +66,7 @@ RSpec.describe(Defmastership::Modifier::UpdateDefChecksum) do
66
66
  end
67
67
 
68
68
  context 'when definition has not the good type' do
69
- it { expect(modifier.replace_reference('[define,req,REFERENCE]')).to(eq('[define,req,REFERENCE]')) }
69
+ it { expect(modifier.replace_reference('', '[define,req,REFERENCE]')).to(eq('[define,req,REFERENCE]')) }
70
70
  end
71
71
 
72
72
  context 'when definition has the good type' do
@@ -77,22 +77,22 @@ RSpec.describe(Defmastership::Modifier::UpdateDefChecksum) do
77
77
  end
78
78
 
79
79
  it do
80
- expect(modifier.replace_reference('[define,requirement,REFERENCE]'))
80
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE]'))
81
81
  .to(eq('[define,requirement,REFERENCE(~abcd1234)]'))
82
82
  end
83
83
 
84
84
  it do
85
- expect(modifier.replace_reference('[define,requirement,REFERENCE(~bad)]'))
85
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(~bad)]'))
86
86
  .to(eq('[define,requirement,REFERENCE(~abcd1234)]'))
87
87
  end
88
88
 
89
89
  it do
90
- expect(modifier.replace_reference('[define,requirement,REFERENCE(toto~bad)]'))
90
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(toto~bad)]'))
91
91
  .to(eq('[define,requirement,REFERENCE(toto~abcd1234)]'))
92
92
  end
93
93
 
94
94
  it do
95
- expect(modifier.replace_reference('[define,requirement,REFERENCE(toto)]'))
95
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(toto)]'))
96
96
  .to(eq('[define,requirement,REFERENCE(toto~abcd1234)]'))
97
97
  end
98
98
  end
@@ -86,7 +86,7 @@ RSpec.describe(Defmastership::Modifier::UpdateDef) do
86
86
  end
87
87
 
88
88
  it do
89
- expect(modifier.replace_reference('[define,requirement,REFERENCE(abcd)]'))
89
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(abcd)]'))
90
90
  .to(eq('[define,requirement,REFERENCE_something_abcd]'))
91
91
  end
92
92
  end
@@ -103,7 +103,7 @@ RSpec.describe(Defmastership::Modifier::UpdateDef) do
103
103
  end
104
104
 
105
105
  it do
106
- expect(modifier.replace_reference('[define,requirement,REFERENCE(abcd)]'))
106
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(abcd)]'))
107
107
  .to(eq('[define,requirement,REFERENCE_something_abcd]'))
108
108
  end
109
109
  end
@@ -120,17 +120,17 @@ RSpec.describe(Defmastership::Modifier::UpdateDef) do
120
120
  end
121
121
 
122
122
  it do
123
- expect(modifier.replace_reference('[define,requirement,REFERENCE(abcd)]'))
123
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(abcd)]'))
124
124
  .to(eq('[define,requirement,REFERENCE_something_abcd]'))
125
125
  end
126
126
 
127
127
  it do
128
- expect(modifier.replace_reference('[define,pouet,REFERENCE(abcd)]'))
128
+ expect(modifier.replace_reference('', '[define,pouet,REFERENCE(abcd)]'))
129
129
  .to(eq('[define,pouet,REFERENCE_something_abcd]'))
130
130
  end
131
131
 
132
132
  it do
133
- expect(modifier.replace_reference('[define,whatever,REFERENCE(abcd)]'))
133
+ expect(modifier.replace_reference('', '[define,whatever,REFERENCE(abcd)]'))
134
134
  .to(eq('[define,whatever,REFERENCE(abcd)]'))
135
135
  end
136
136
  end
@@ -140,13 +140,15 @@ RSpec.describe(Defmastership::Modifier::UpdateDef) do
140
140
 
141
141
  context 'when line do not match' do
142
142
  it do
143
- expect(modifier.replace_reference('[define---,req,REFERENCE(abcd)]'))
143
+ expect(modifier.replace_reference('', '[define---,req,REFERENCE(abcd)]'))
144
144
  .to(eq('[define---,req,REFERENCE(abcd)]'))
145
145
  end
146
146
  end
147
147
 
148
148
  context 'when definition has not the good type' do
149
- it { expect(modifier.replace_reference('[define,req,REFERENCE(abcd)]')).to(eq('[define,req,REFERENCE(abcd)]')) }
149
+ it do
150
+ expect(modifier.replace_reference('', '[define,req,REFERENCE(abcd)]')).to(eq('[define,req,REFERENCE(abcd)]'))
151
+ end
150
152
  end
151
153
 
152
154
  context 'when definition has the good type' do
@@ -157,17 +159,17 @@ RSpec.describe(Defmastership::Modifier::UpdateDef) do
157
159
  end
158
160
 
159
161
  it do
160
- expect(modifier.replace_reference('[define,requirement,REFERENCE(abcd)]'))
162
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(abcd)]'))
161
163
  .to(eq('[define,requirement,REFERENCE_something_abcd]'))
162
164
  end
163
165
 
164
166
  it do
165
- expect(modifier.replace_reference('[define,requirement,REFERENCE(abcd~bad)]'))
167
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(abcd~bad)]'))
166
168
  .to(eq('[define,requirement,REFERENCE_something_abcd]'))
167
169
  end
168
170
 
169
171
  it do
170
- expect(modifier.replace_reference('// [define,requirement,REFERENCE(abcd~bad)]'))
172
+ expect(modifier.replace_reference('', '// [define,requirement,REFERENCE(abcd~bad)]'))
171
173
  .to(eq('// [define,requirement,REFERENCE(abcd~bad)]'))
172
174
  end
173
175
  end
@@ -250,7 +250,7 @@ RSpec.describe(Defmastership::Modifier::UpdateDefVersion) do
250
250
  end
251
251
 
252
252
  context 'when definition has not the good type' do
253
- it { expect(modifier.replace_reference('[define,req,REFERENCE]')).to(eq('[define,req,REFERENCE]')) }
253
+ it { expect(modifier.replace_reference('', '[define,req,REFERENCE]')).to(eq('[define,req,REFERENCE]')) }
254
254
  end
255
255
 
256
256
  context 'when definition has the good type' do
@@ -267,18 +267,20 @@ RSpec.describe(Defmastership::Modifier::UpdateDefVersion) do
267
267
 
268
268
  it do
269
269
  allow(ref_definition).to(receive(:explicit_version).and_return(nil))
270
- expect(modifier.replace_reference('[define,requirement,REFERENCE]')).to(eq('[define,requirement,REFERENCE]'))
270
+ expect(
271
+ modifier.replace_reference('', '[define,requirement,REFERENCE]')
272
+ ).to(eq('[define,requirement,REFERENCE]'))
271
273
  end
272
274
 
273
275
  it do
274
276
  allow(ref_definition).to(receive(:explicit_version).and_return('c'))
275
- expect(modifier.replace_reference('[define,requirement,REFERENCE]'))
277
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE]'))
276
278
  .to(eq('[define,requirement,REFERENCE(c)]'))
277
279
  end
278
280
 
279
281
  it do
280
282
  allow(ref_definition).to(receive(:explicit_version).and_return('c'))
281
- expect(modifier.replace_reference('[define,requirement,REFERENCE(tyty~1234)]'))
283
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(tyty~1234)]'))
282
284
  .to(eq('[define,requirement,REFERENCE(c~1234)]'))
283
285
  end
284
286
  end
@@ -299,7 +301,7 @@ RSpec.describe(Defmastership::Modifier::UpdateDefVersion) do
299
301
  ].each do |ref, from, to|
300
302
  it do
301
303
  allow(ref_definition).to(receive(:explicit_version).and_return(ref))
302
- expect(modifier.replace_reference("[define,requirement,REFERENCE#{from}]"))
304
+ expect(modifier.replace_reference('', "[define,requirement,REFERENCE#{from}]"))
303
305
  .to(eq("[define,requirement,REFERENCE#{to}]"))
304
306
  end
305
307
  end
@@ -311,12 +313,12 @@ RSpec.describe(Defmastership::Modifier::UpdateDefVersion) do
311
313
  end
312
314
 
313
315
  it do
314
- expect(modifier.replace_reference('[define,requirement,REFERENCE(whatever)]'))
316
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(whatever)]'))
315
317
  .to(eq('[define,requirement,REFERENCE]'))
316
318
  end
317
319
 
318
320
  it do
319
- expect(modifier.replace_reference('[define,requirement,REFERENCE(~1234)]'))
321
+ expect(modifier.replace_reference('', '[define,requirement,REFERENCE(~1234)]'))
320
322
  .to(eq('[define,requirement,REFERENCE(~1234)]'))
321
323
  end
322
324
  end
@@ -100,18 +100,20 @@ RSpec.describe(Defmastership::Modifier::UpdateErefChecksum) do
100
100
  ['(a~abcd1234)', '(a~a1b2c3d4)']
101
101
  ].each do |from, to|
102
102
  it do
103
- modifier.replace_erefs("defs:eref[type, [THE_REF#{from}]]")
103
+ modifier.replace_erefs('', "defs:eref[type, [THE_REF#{from}]]")
104
104
  expect(ref_document).to(have_received(:ref_to_def).with('THE_REF'))
105
105
  end
106
106
 
107
107
  it do
108
- modifier.replace_erefs("defs:eref[type, [THE_REF#{from}]]")
108
+ modifier.replace_erefs('', "defs:eref[type, [THE_REF#{from}]]")
109
109
  expect(ref_definition).to(have_received(:sha256_short))
110
110
  end
111
111
 
112
- it {
113
- expect(modifier.replace_erefs("defs:eref[type, [THE_REF#{from}]]")).to(eq("defs:eref[type, [THE_REF#{to}]]"))
114
- }
112
+ it do
113
+ expect(
114
+ modifier.replace_erefs('', "defs:eref[type, [THE_REF#{from}]]")
115
+ ).to(eq("defs:eref[type, [THE_REF#{to}]]"))
116
+ end
115
117
  end
116
118
  end
117
119
 
@@ -121,21 +123,21 @@ RSpec.describe(Defmastership::Modifier::UpdateErefChecksum) do
121
123
  end
122
124
 
123
125
  it do
124
- modifier.replace_erefs('defs:eref[type, [BAD_REF(a~abcd1234)]]')
126
+ modifier.replace_erefs('', 'defs:eref[type, [BAD_REF(a~abcd1234)]]')
125
127
  expect(ref_document).to(have_received(:ref_to_def).with('BAD_REF'))
126
128
  end
127
129
 
128
130
  it do
129
- expect(modifier.replace_erefs('defs:eref[type, [BAD_REF(a~abcd1234)]]'))
131
+ expect(modifier.replace_erefs('', 'defs:eref[type, [BAD_REF(a~abcd1234)]]'))
130
132
  .to(eq('defs:eref[type, [BAD_REF(a~abcd1234)]]'))
131
133
  end
132
134
 
133
- it { expect(modifier.replace_erefs('defs:eref[type, [BAD_REF]]')).to(eq('defs:eref[type, [BAD_REF]]')) }
134
- it { expect(modifier.replace_erefs('defs:eref[type, [BAD_REF(a)]]')).to(eq('defs:eref[type, [BAD_REF(a)]]')) }
135
+ it { expect(modifier.replace_erefs('', 'defs:eref[type, [BAD_REF]]')).to(eq('defs:eref[type, [BAD_REF]]')) }
136
+ it { expect(modifier.replace_erefs('', 'defs:eref[type, [BAD_REF(a)]]')).to(eq('defs:eref[type, [BAD_REF(a)]]')) }
135
137
  end
136
138
 
137
139
  context 'when the line is not a valid eref' do
138
- it { expect(modifier.replace_erefs('bla bla')).to(eq('bla bla')) }
140
+ it { expect(modifier.replace_erefs('', 'bla bla')).to(eq('bla bla')) }
139
141
  end
140
142
 
141
143
  context 'when the line is matching one external ref definition with more refs' do
@@ -146,7 +148,7 @@ RSpec.describe(Defmastership::Modifier::UpdateErefChecksum) do
146
148
  allow(ref_document).to(receive(:ref_to_def).with('REF2').and_return(other_ref_definition))
147
149
  allow(ref_definition).to(receive(:sha256_short).and_return('~a1b2c3d4'))
148
150
  allow(other_ref_definition).to(receive(:sha256_short).and_return('~e5f6abcd'))
149
- modifier.replace_erefs('defs:eref[type, [REF1, REF2]]')
151
+ modifier.replace_erefs('', 'defs:eref[type, [REF1, REF2]]')
150
152
  end
151
153
 
152
154
  it { expect(ref_document).to(have_received(:ref_to_def).with('REF1')) }
@@ -155,7 +157,7 @@ RSpec.describe(Defmastership::Modifier::UpdateErefChecksum) do
155
157
  it { expect(other_ref_definition).to(have_received(:sha256_short)) }
156
158
 
157
159
  it do
158
- expect(modifier.replace_erefs('defs:eref[type, [REF1, REF2]]'))
160
+ expect(modifier.replace_erefs('', 'defs:eref[type, [REF1, REF2]]'))
159
161
  .to(eq('defs:eref[type, [REF1(~a1b2c3d4), REF2(~e5f6abcd)]]'))
160
162
  end
161
163
  end
@@ -172,10 +174,12 @@ RSpec.describe(Defmastership::Modifier::UpdateErefChecksum) do
172
174
  end
173
175
 
174
176
  it do
175
- expect(modifier.replace_erefs('defs:eref[implements, [REF]]')).to(eq('defs:eref[implements, [REF(~a1b2c3d4)]]'))
177
+ expect(
178
+ modifier.replace_erefs('', 'defs:eref[implements, [REF]]')
179
+ ).to(eq('defs:eref[implements, [REF(~a1b2c3d4)]]'))
176
180
  end
177
181
 
178
- it { expect(modifier.replace_erefs('defs:eref[covers, [REF]]')).to(eq('defs:eref[covers, [REF]]')) }
182
+ it { expect(modifier.replace_erefs('', 'defs:eref[covers, [REF]]')).to(eq('defs:eref[covers, [REF]]')) }
179
183
  end
180
184
 
181
185
  context 'when the modifier modifies more than one eref_type' do
@@ -190,11 +194,16 @@ RSpec.describe(Defmastership::Modifier::UpdateErefChecksum) do
190
194
  end
191
195
 
192
196
  it do
193
- expect(modifier.replace_erefs('defs:eref[implements, [REF]]')).to(eq('defs:eref[implements, [REF(~a1b2c3d4)]]'))
197
+ expect(
198
+ modifier.replace_erefs('', 'defs:eref[implements, [REF]]')
199
+ ).to(eq('defs:eref[implements, [REF(~a1b2c3d4)]]'))
200
+ end
201
+
202
+ it do
203
+ expect(modifier.replace_erefs('', 'defs:eref[covers, [REF]]')).to(eq('defs:eref[covers, [REF(~a1b2c3d4)]]'))
194
204
  end
195
205
 
196
- it { expect(modifier.replace_erefs('defs:eref[covers, [REF]]')).to(eq('defs:eref[covers, [REF(~a1b2c3d4)]]')) }
197
- it { expect(modifier.replace_erefs('defs:eref[covers_not, [REF]]')).to(eq('defs:eref[covers_not, [REF]]')) }
206
+ it { expect(modifier.replace_erefs('', 'defs:eref[covers_not, [REF]]')).to(eq('defs:eref[covers_not, [REF]]')) }
198
207
  end
199
208
  end
200
209
  end