LittleWeasel 5.0.5 → 5.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +9 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +27 -16
- data/LittleWeasel.gemspec +5 -5
- data/lib/LittleWeasel/version.rb +1 -1
- data/spec/factories/dictionary.rb +27 -27
- data/spec/factories/dictionary_cache_service.rb +4 -6
- data/spec/factories/dictionary_creator_service.rb +1 -1
- data/spec/factories/dictionary_file_loader_service.rb +1 -1
- data/spec/factories/dictionary_hash.rb +26 -26
- data/spec/factories/dictionary_key.rb +1 -1
- data/spec/factories/dictionary_killer_service.rb +1 -1
- data/spec/factories/dictionary_manager.rb +1 -1
- data/spec/factories/dictionary_metadata.rb +1 -1
- data/spec/factories/dictionary_metadata_service.rb +1 -1
- data/spec/factories/numeric_filter.rb +1 -1
- data/spec/factories/preprocessed_word.rb +1 -1
- data/spec/factories/preprocessed_words.rb +1 -1
- data/spec/factories/single_character_word_filter.rb +1 -1
- data/spec/factories/word_results.rb +1 -1
- data/spec/lib/LittleWeasel/block_results_spec.rb +23 -23
- data/spec/lib/LittleWeasel/configure_spec.rb +3 -3
- data/spec/lib/LittleWeasel/dictionary_key_spec.rb +9 -9
- data/spec/lib/LittleWeasel/dictionary_manager_spec.rb +29 -29
- data/spec/lib/LittleWeasel/dictionary_spec.rb +30 -29
- data/spec/lib/LittleWeasel/filters/en_us/currency_filter_spec.rb +26 -26
- data/spec/lib/LittleWeasel/filters/en_us/numeric_filter_spec.rb +17 -17
- data/spec/lib/LittleWeasel/filters/en_us/single_character_word_filter_spec.rb +8 -8
- data/spec/lib/LittleWeasel/filters/word_filter_managable_spec.rb +19 -19
- data/spec/lib/LittleWeasel/filters/word_filter_spec.rb +17 -17
- data/spec/lib/LittleWeasel/filters/word_filter_validatable_spec.rb +27 -12
- data/spec/lib/LittleWeasel/filters/word_filters_validatable_spec.rb +6 -6
- data/spec/lib/LittleWeasel/integraton_tests/dictionary_integration_spec.rb +23 -23
- data/spec/lib/LittleWeasel/metadata/dictionary_creator_servicable_spec.rb +7 -6
- data/spec/lib/LittleWeasel/metadata/dictionary_metadata_spec.rb +13 -13
- data/spec/lib/LittleWeasel/metadata/invalid_words_metadata_spec.rb +17 -17
- data/spec/lib/LittleWeasel/metadata/metadata_observerable_spec.rb +1 -1
- data/spec/lib/LittleWeasel/modules/dictionary_file_loader_spec.rb +30 -30
- data/spec/lib/LittleWeasel/modules/dictionary_sourceable_spec.rb +21 -21
- data/spec/lib/LittleWeasel/modules/language_spec.rb +5 -5
- data/spec/lib/LittleWeasel/modules/locale_spec.rb +1 -1
- data/spec/lib/LittleWeasel/modules/region_spec.rb +5 -5
- data/spec/lib/LittleWeasel/preprocessors/en_us/capitalize_preprocessor_spec.rb +8 -6
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_word_spec.rb +3 -3
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_word_validatable_spec.rb +14 -3
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_words_spec.rb +8 -10
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_words_validatable_spec.rb +6 -4
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessor_managable_spec.rb +27 -28
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessor_spec.rb +25 -29
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessor_validatable_spec.rb +10 -2
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessors_validatable_spec.rb +4 -6
- data/spec/lib/LittleWeasel/services/dictionary_cache_service_spec.rb +51 -49
- data/spec/lib/LittleWeasel/services/dictionary_creator_service_spec.rb +14 -14
- data/spec/lib/LittleWeasel/services/dictionary_file_loader_service_spec.rb +30 -30
- data/spec/lib/LittleWeasel/services/dictionary_metadata_service_spec.rb +22 -22
- data/spec/lib/LittleWeasel/word_results_spec.rb +29 -32
- data/spec/lib/LittleWeasel/workflow/workflow_spec.rb +2 -2
- data/spec/spec_helper.rb +56 -56
- data/spec/support/factory_bot.rb +1 -2
- data/spec/support/file_helpers.rb +2 -2
- data/spec/support/general_helpers.rb +2 -1
- data/spec/support/shared_contexts.rb +13 -9
- data/spec/support/shared_examples.rb +10 -8
- metadata +25 -19
@@ -17,7 +17,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
17
17
|
end
|
18
18
|
|
19
19
|
class << self
|
20
|
-
def preprocess(word) [true, "#{word}-0"]
|
20
|
+
def preprocess(word) = [true, "#{word}-0"]
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -27,7 +27,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
27
27
|
end
|
28
28
|
|
29
29
|
class << self
|
30
|
-
def preprocess(word) [true, "#{word}-1"]
|
30
|
+
def preprocess(word) = [true, "#{word}-1"]
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
@@ -37,14 +37,19 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
37
37
|
end
|
38
38
|
|
39
39
|
class << self
|
40
|
-
def preprocess(word) [true, "#{word}-2"]
|
40
|
+
def preprocess(word) = [true, "#{word}-2"]
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
44
|
let(:word_preprocessors_01_thru_03) do
|
45
45
|
[MockWordPreprocessor03.new,
|
46
|
-
|
47
|
-
|
46
|
+
MockWordPreprocessor02.new,
|
47
|
+
MockWordPreprocessor01.new]
|
48
|
+
end
|
49
|
+
let(:word_preprocessors_04_thru_06) do
|
50
|
+
[MockWordPreprocessor06.new,
|
51
|
+
MockWordPreprocessor05.new,
|
52
|
+
MockWordPreprocessor04.new]
|
48
53
|
end
|
49
54
|
|
50
55
|
class MockWordPreprocessor04 < MockWordPreprocessor01
|
@@ -53,7 +58,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
53
58
|
end
|
54
59
|
|
55
60
|
class << self
|
56
|
-
def preprocess(word) [true, "#{word}-3"]
|
61
|
+
def preprocess(word) = [true, "#{word}-3"]
|
57
62
|
end
|
58
63
|
end
|
59
64
|
|
@@ -63,7 +68,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
63
68
|
end
|
64
69
|
|
65
70
|
class << self
|
66
|
-
def preprocess(word) [true, "#{word}-4"]
|
71
|
+
def preprocess(word) = [true, "#{word}-4"]
|
67
72
|
end
|
68
73
|
end
|
69
74
|
|
@@ -73,27 +78,21 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
73
78
|
end
|
74
79
|
|
75
80
|
class << self
|
76
|
-
def preprocess(word) [true, "#{word}-5"]
|
81
|
+
def preprocess(word) = [true, "#{word}-5"]
|
77
82
|
end
|
78
83
|
end
|
79
84
|
|
80
|
-
|
81
|
-
[MockWordPreprocessor06.new,
|
82
|
-
MockWordPreprocessor05.new,
|
83
|
-
MockWordPreprocessor04.new]
|
84
|
-
end
|
85
|
-
|
86
|
-
#preprocessed_word
|
85
|
+
# preprocessed_word
|
87
86
|
describe '#preprocessed_word' do
|
88
87
|
context 'when word is blank' do
|
89
88
|
it 'returns nil' do
|
90
|
-
expect(subject.preprocessed_word
|
89
|
+
expect(subject.preprocessed_word(word: 'word')).to be_nil
|
91
90
|
end
|
92
91
|
end
|
93
92
|
|
94
93
|
context 'when word is not a String' do
|
95
94
|
it 'returns nil' do
|
96
|
-
expect(subject.preprocessed_word
|
95
|
+
expect(subject.preprocessed_word(word: :not_a_word)).to be_nil
|
97
96
|
end
|
98
97
|
end
|
99
98
|
|
@@ -103,19 +102,19 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
103
102
|
end
|
104
103
|
|
105
104
|
it 'returns the preprocessed word' do
|
106
|
-
expect(subject.preprocessed_word
|
105
|
+
expect(subject.preprocessed_word(word: 'word')).to eq 'word-0-1-2'
|
107
106
|
end
|
108
107
|
end
|
109
108
|
end
|
110
109
|
|
111
|
-
#word_preprocessors
|
110
|
+
# word_preprocessors
|
112
111
|
describe '#word_preprocessors' do
|
113
112
|
it 'returns an empty Array ([]) by default' do
|
114
113
|
expect(subject.word_preprocessors).to eq []
|
115
114
|
end
|
116
115
|
end
|
117
116
|
|
118
|
-
#clear_preprocessors
|
117
|
+
# clear_preprocessors
|
119
118
|
describe '#clear_preprocessors' do
|
120
119
|
before do
|
121
120
|
subject.replace_preprocessors word_preprocessors: word_preprocessors_01_thru_03
|
@@ -126,12 +125,12 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
126
125
|
end
|
127
126
|
end
|
128
127
|
|
129
|
-
#add_preprocessors
|
128
|
+
# add_preprocessors
|
130
129
|
describe '#add_preprocessors' do
|
131
130
|
context 'when passing an INVALID argument' do
|
132
131
|
context 'when passing an Array of invalid word preprocessors' do
|
133
132
|
it 'raises an error' do
|
134
|
-
expect { subject.add_preprocessors(word_preprocessors: %i
|
133
|
+
expect { subject.add_preprocessors(word_preprocessors: %i[bad word preprocessors]) }.to raise_error(/Argument word_preprocessor: does not respond to/)
|
135
134
|
end
|
136
135
|
end
|
137
136
|
end
|
@@ -161,7 +160,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
161
160
|
it 'does NOT raise an error' do
|
162
161
|
expect do
|
163
162
|
subject.add_preprocessors { |_word_preprocessors| }
|
164
|
-
end.
|
163
|
+
end.not_to raise_error
|
165
164
|
end
|
166
165
|
|
167
166
|
it 'uses the word preprocessors added via the block' do
|
@@ -181,7 +180,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
181
180
|
end
|
182
181
|
end
|
183
182
|
|
184
|
-
#replace_preprocessors
|
183
|
+
# replace_preprocessors
|
185
184
|
describe '#replace_preprocessors' do
|
186
185
|
before do
|
187
186
|
subject.add_preprocessors word_preprocessors: word_preprocessors_01_thru_03
|
@@ -193,12 +192,12 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
193
192
|
|
194
193
|
it 'replaces the word preprocessors in #word_preprocessors and sorts the #word_preprocessors Array by WordPreprocessor#order' do
|
195
194
|
expect(subject.word_preprocessors).to match_array word_preprocessors_01_thru_03
|
196
|
-
expect(subject.replace_preprocessors
|
195
|
+
expect(subject.replace_preprocessors(word_preprocessors: word_preprocessors_04_thru_06)).to eq expected_results
|
197
196
|
expect(subject.word_preprocessors).to eq expected_results
|
198
197
|
end
|
199
198
|
end
|
200
199
|
|
201
|
-
#preprocessors_on=
|
200
|
+
# preprocessors_on=
|
202
201
|
describe '#preprocessors_on=' do
|
203
202
|
context 'when assigning true' do
|
204
203
|
before do
|
@@ -225,7 +224,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
225
224
|
end
|
226
225
|
end
|
227
226
|
|
228
|
-
#preprocess
|
227
|
+
# preprocess
|
229
228
|
describe '#preprocess' do
|
230
229
|
before do
|
231
230
|
subject.add_preprocessors word_preprocessors: word_preprocessors
|
@@ -236,7 +235,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorManagable, type: :mo
|
|
236
235
|
|
237
236
|
it 'preprocesses the word' do
|
238
237
|
expect(subject.word_preprocessors.count).to eq word_preprocessors.count
|
239
|
-
expect(subject.preprocess(word: word).preprocessed_words.map(&:preprocessed_word)).to eq %w
|
238
|
+
expect(subject.preprocess(word: word).preprocessed_words.map(&:preprocessed_word)).to eq %w[word-0 word-0-1 word-0-1-2]
|
240
239
|
end
|
241
240
|
end
|
242
241
|
end
|
@@ -13,11 +13,11 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
13
13
|
let(:order) { 0 }
|
14
14
|
let(:word) { 'word' }
|
15
15
|
|
16
|
-
|
16
|
+
# .new
|
17
17
|
describe '.new' do
|
18
18
|
context 'when arguments are valid' do
|
19
19
|
it 'instantiates the object' do
|
20
|
-
expect { subject }.
|
20
|
+
expect { subject }.not_to raise_error
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -52,7 +52,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
|
55
|
+
# .preprocess
|
56
56
|
describe '.preprocess' do
|
57
57
|
context 'when not overridden' do
|
58
58
|
it 'raises an error' do
|
@@ -61,7 +61,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
#preprocessor_on
|
64
|
+
# preprocessor_on
|
65
65
|
describe '#preprocessor_on' do
|
66
66
|
context 'when set to true' do
|
67
67
|
before do
|
@@ -69,7 +69,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
it 'returns true' do
|
72
|
-
expect(subject.preprocessor_on).to
|
72
|
+
expect(subject.preprocessor_on).to be true
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
@@ -79,30 +79,30 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
79
79
|
end
|
80
80
|
|
81
81
|
it 'returns false' do
|
82
|
-
expect(subject.preprocessor_on).to
|
82
|
+
expect(subject.preprocessor_on).to be false
|
83
83
|
end
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
#preprocessor_on!
|
87
|
+
# preprocessor_on!
|
88
88
|
describe '#preprocessor_on!' do
|
89
89
|
before do
|
90
|
-
expect(subject.preprocessor_off?).to
|
90
|
+
expect(subject.preprocessor_off?).to be true
|
91
91
|
end
|
92
92
|
|
93
93
|
let(:preprocessor_on) { false }
|
94
94
|
|
95
95
|
it 'turns the preprocessor on' do
|
96
96
|
subject.preprocessor_on!
|
97
|
-
expect(subject.preprocessor_on).to
|
97
|
+
expect(subject.preprocessor_on).to be true
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
#preprocessor_on?
|
101
|
+
# preprocessor_on?
|
102
102
|
describe '#preprocessor_on?' do
|
103
103
|
context 'when #preprocessor_on is true' do
|
104
104
|
it 'returns true' do
|
105
|
-
expect(subject.preprocessor_on?).to
|
105
|
+
expect(subject.preprocessor_on?).to be true
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
@@ -110,12 +110,12 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
110
110
|
let(:preprocessor_on) { false }
|
111
111
|
|
112
112
|
it 'returns false' do
|
113
|
-
expect(subject.preprocessor_on?).to
|
113
|
+
expect(subject.preprocessor_on?).to be false
|
114
114
|
end
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
|
-
#preprocess
|
118
|
+
# preprocess
|
119
119
|
describe '#preprocess' do
|
120
120
|
context 'when not overridden' do
|
121
121
|
it 'raises an error' do
|
@@ -125,16 +125,13 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
125
125
|
|
126
126
|
context 'when overridden' do
|
127
127
|
before do
|
128
|
-
allow(described_class).to
|
129
|
-
.and_return true
|
130
|
-
allow(described_class).to receive(:preprocess)
|
131
|
-
.and_return [true, 'preprocessed-word']
|
128
|
+
allow(described_class).to receive_messages(preprocess?: true, preprocess: [true, 'preprocessed-word'])
|
132
129
|
end
|
133
130
|
|
134
131
|
context 'when #preprocessor_on? is true' do
|
135
132
|
it 'calls .preprocess and returns a ProcessedWord object' do
|
136
133
|
expect(described_class).to receive(:preprocess)
|
137
|
-
expect(subject.preprocess
|
134
|
+
expect(subject.preprocess(word)).to be_a LittleWeasel::Preprocessors::PreprocessedWord
|
138
135
|
end
|
139
136
|
end
|
140
137
|
|
@@ -142,20 +139,19 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
142
139
|
let(:preprocessor_on) { false }
|
143
140
|
|
144
141
|
it 'does NOT call .preprocess and returns a ProcessedWord object' do
|
145
|
-
expect(described_class).
|
146
|
-
expect(subject.preprocess
|
142
|
+
expect(described_class).not_to receive(:preprocess)
|
143
|
+
expect(subject.preprocess(word)).to be_a LittleWeasel::Preprocessors::PreprocessedWord
|
147
144
|
end
|
148
|
-
|
149
145
|
end
|
150
146
|
end
|
151
147
|
end
|
152
148
|
|
153
|
-
#preprocess?
|
149
|
+
# preprocess?
|
154
150
|
describe '#preprocess?' do
|
155
151
|
let(:word) { 'word' }
|
156
152
|
|
157
153
|
it 'returns true by default' do
|
158
|
-
expect(subject.preprocess?
|
154
|
+
expect(subject.preprocess?(word)).to be true
|
159
155
|
end
|
160
156
|
|
161
157
|
context 'when #preprocess? returns true' do
|
@@ -187,32 +183,32 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessor do
|
|
187
183
|
end
|
188
184
|
end
|
189
185
|
|
190
|
-
#preprocessor_off?
|
186
|
+
# preprocessor_off?
|
191
187
|
describe '#preprocessor_off?' do
|
192
188
|
context 'when #preprocessor_on is false' do
|
193
189
|
let(:preprocessor_on) { false }
|
194
190
|
|
195
191
|
it 'returns true' do
|
196
|
-
expect(subject.preprocessor_off?).to
|
192
|
+
expect(subject.preprocessor_off?).to be true
|
197
193
|
end
|
198
194
|
end
|
199
195
|
|
200
196
|
context 'when #preprocessor_on is true' do
|
201
197
|
it 'returns false' do
|
202
|
-
expect(subject.preprocessor_off?).to
|
198
|
+
expect(subject.preprocessor_off?).to be false
|
203
199
|
end
|
204
200
|
end
|
205
201
|
end
|
206
202
|
|
207
|
-
#preprocessor_off!
|
203
|
+
# preprocessor_off!
|
208
204
|
describe '#preprocessor_off!' do
|
209
205
|
before do
|
210
|
-
expect(subject.preprocessor_on?).to
|
206
|
+
expect(subject.preprocessor_on?).to be true
|
211
207
|
end
|
212
208
|
|
213
209
|
it 'turns the preprocessor off' do
|
214
210
|
subject.preprocessor_off!
|
215
|
-
expect(subject.preprocessor_on).to
|
211
|
+
expect(subject.preprocessor_on).to be false
|
216
212
|
end
|
217
213
|
end
|
218
214
|
end
|
@@ -45,7 +45,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorValidatable, type: :
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
|
48
|
+
# .validate_word_preprocessor
|
49
49
|
describe '.validate_word_preprocessor' do
|
50
50
|
before do
|
51
51
|
allow(word_preprocessor.class).to receive(:respond_to?).and_call_original
|
@@ -54,7 +54,7 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorValidatable, type: :
|
|
54
54
|
|
55
55
|
context 'when the object quacks right' do
|
56
56
|
it 'passes validation' do
|
57
|
-
expect { WordPreprocessorValidatable.validate_word_preprocessor word_preprocessor: word_preprocessor }.
|
57
|
+
expect { WordPreprocessorValidatable.validate_word_preprocessor word_preprocessor: word_preprocessor }.not_to raise_error
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -64,11 +64,13 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorValidatable, type: :
|
|
64
64
|
context 'when a class method is missing' do
|
65
65
|
context 'when the class does not respond to .preprocess' do
|
66
66
|
let(:method) { :preprocess }
|
67
|
+
|
67
68
|
it_behaves_like 'a class method is missing'
|
68
69
|
end
|
69
70
|
|
70
71
|
context 'when the class does not respond to .preprocess?' do
|
71
72
|
let(:method) { :preprocess? }
|
73
|
+
|
72
74
|
it_behaves_like 'a class method is missing'
|
73
75
|
end
|
74
76
|
end
|
@@ -76,31 +78,37 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorValidatable, type: :
|
|
76
78
|
context 'when an instance method is missing' do
|
77
79
|
context 'when the object does not respond to #preprocess' do
|
78
80
|
let(:method) { :preprocess }
|
81
|
+
|
79
82
|
it_behaves_like 'an instance method is missing'
|
80
83
|
end
|
81
84
|
|
82
85
|
context 'when the object does not respond to #preprocess?' do
|
83
86
|
let(:method) { :preprocess? }
|
87
|
+
|
84
88
|
it_behaves_like 'an instance method is missing'
|
85
89
|
end
|
86
90
|
|
87
91
|
context 'when the object does not respond to #preprocessor_off?' do
|
88
92
|
let(:method) { :preprocessor_off? }
|
93
|
+
|
89
94
|
it_behaves_like 'an instance method is missing'
|
90
95
|
end
|
91
96
|
|
92
97
|
context 'when the object does not respond to #preprocessor_on' do
|
93
98
|
let(:method) { :preprocessor_on }
|
99
|
+
|
94
100
|
it_behaves_like 'an instance method is missing'
|
95
101
|
end
|
96
102
|
|
97
103
|
context 'when the object does not respond to #preprocessor_on=' do
|
98
104
|
let(:method) { :preprocessor_on= }
|
105
|
+
|
99
106
|
it_behaves_like 'an instance method is missing'
|
100
107
|
end
|
101
108
|
|
102
109
|
context 'when the object does not respond to #preprocessor_on?' do
|
103
110
|
let(:method) { :preprocessor_on? }
|
111
|
+
|
104
112
|
it_behaves_like 'an instance method is missing'
|
105
113
|
end
|
106
114
|
end
|
@@ -3,8 +3,6 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorsValidatable, type: :module do
|
6
|
-
subject { MockSubject.new }
|
7
|
-
|
8
6
|
WordPreprocessorsValidatable = described_class
|
9
7
|
|
10
8
|
class MockSubject
|
@@ -20,21 +18,21 @@ RSpec.describe LittleWeasel::Preprocessors::WordPreprocessorsValidatable, type:
|
|
20
18
|
end
|
21
19
|
|
22
20
|
class << self
|
23
|
-
def preprocess(word) [true, "#{word}-0"]
|
21
|
+
def preprocess(word) = [true, "#{word}-0"]
|
24
22
|
end
|
25
23
|
end
|
26
24
|
|
27
|
-
|
25
|
+
# .validate_word_preprocessors
|
28
26
|
describe '.validate_word_preprocessors' do
|
29
27
|
context 'when passing a blank Array' do
|
30
28
|
it 'passes validaton' do
|
31
|
-
expect { WordPreprocessorsValidatable.validate_word_preprocessors(word_preprocessors: []) }.
|
29
|
+
expect { WordPreprocessorsValidatable.validate_word_preprocessors(word_preprocessors: []) }.not_to raise_error
|
32
30
|
end
|
33
31
|
end
|
34
32
|
|
35
33
|
context 'when passing a an Array with valid word preprocessors' do
|
36
34
|
it 'passes validation' do
|
37
|
-
expect { WordPreprocessorsValidatable.validate_word_preprocessors(word_preprocessors: [MockWordPreprocessor.new]) }.
|
35
|
+
expect { WordPreprocessorsValidatable.validate_word_preprocessors(word_preprocessors: [MockWordPreprocessor.new]) }.not_to raise_error
|
38
36
|
end
|
39
37
|
end
|
40
38
|
|