LittleWeasel 3.0.4 → 4.0.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.
- checksums.yaml +5 -5
- data/.gitignore +3 -0
- data/.reek.yml +17 -0
- data/.rspec +4 -2
- data/.rubocop.yml +187 -0
- data/.ruby-version +1 -1
- data/.yardopts +2 -0
- data/Gemfile +3 -1
- data/LittleWeasel.gemspec +31 -18
- data/README.md +408 -42
- data/Rakefile +296 -3
- data/lib/LittleWeasel.rb +5 -184
- data/lib/LittleWeasel/block_results.rb +81 -0
- data/lib/LittleWeasel/configure.rb +98 -0
- data/lib/LittleWeasel/dictionary.rb +125 -0
- data/lib/LittleWeasel/dictionary_key.rb +48 -0
- data/lib/LittleWeasel/dictionary_manager.rb +85 -0
- data/lib/LittleWeasel/errors/dictionary_file_already_loaded_error.rb +9 -0
- data/lib/LittleWeasel/errors/dictionary_file_empty_error.rb +8 -0
- data/lib/LittleWeasel/errors/dictionary_file_not_found_error.rb +8 -0
- data/lib/LittleWeasel/errors/dictionary_file_too_large_error.rb +16 -0
- data/lib/LittleWeasel/errors/language_required_error.rb +8 -0
- data/lib/LittleWeasel/errors/must_override_error.rb +8 -0
- data/lib/LittleWeasel/filters/en_us/currency_filter.rb +19 -0
- data/lib/LittleWeasel/filters/en_us/numeric_filter.rb +19 -0
- data/lib/LittleWeasel/filters/en_us/single_character_word_filter.rb +21 -0
- data/lib/LittleWeasel/filters/word_filter.rb +59 -0
- data/lib/LittleWeasel/filters/word_filter_managable.rb +80 -0
- data/lib/LittleWeasel/filters/word_filter_validatable.rb +31 -0
- data/lib/LittleWeasel/filters/word_filterable.rb +19 -0
- data/lib/LittleWeasel/filters/word_filters_validatable.rb +29 -0
- data/lib/LittleWeasel/metadata/dictionary_metadata.rb +145 -0
- data/lib/LittleWeasel/metadata/invalid_words_metadata.rb +134 -0
- data/lib/LittleWeasel/metadata/invalid_words_service_results.rb +45 -0
- data/lib/LittleWeasel/metadata/metadata_observable_validatable.rb +22 -0
- data/lib/LittleWeasel/metadata/metadata_observerable.rb +90 -0
- data/lib/LittleWeasel/metadata/metadatable.rb +136 -0
- data/lib/LittleWeasel/modules/class_name_to_symbol.rb +26 -0
- data/lib/LittleWeasel/modules/configurable.rb +26 -0
- data/lib/LittleWeasel/modules/deep_dup.rb +11 -0
- data/lib/LittleWeasel/modules/dictionary_cache_keys.rb +34 -0
- data/lib/LittleWeasel/modules/dictionary_cache_servicable.rb +26 -0
- data/lib/LittleWeasel/modules/dictionary_cache_validatable.rb +20 -0
- data/lib/LittleWeasel/modules/dictionary_creator_servicable.rb +27 -0
- data/lib/LittleWeasel/modules/dictionary_file_loader.rb +67 -0
- data/lib/LittleWeasel/modules/dictionary_key_validatable.rb +19 -0
- data/lib/LittleWeasel/modules/dictionary_keyable.rb +24 -0
- data/lib/LittleWeasel/modules/dictionary_loader_servicable.rb +27 -0
- data/lib/LittleWeasel/modules/dictionary_metadata_servicable.rb +29 -0
- data/lib/LittleWeasel/modules/dictionary_metadata_validatable.rb +17 -0
- data/lib/LittleWeasel/modules/dictionary_sourceable.rb +26 -0
- data/lib/LittleWeasel/modules/dictionary_validatable.rb +30 -0
- data/lib/LittleWeasel/modules/language.rb +23 -0
- data/lib/LittleWeasel/modules/language_validatable.rb +16 -0
- data/lib/LittleWeasel/modules/locale.rb +40 -0
- data/lib/LittleWeasel/modules/order_validatable.rb +18 -0
- data/lib/LittleWeasel/modules/orderable.rb +17 -0
- data/lib/LittleWeasel/modules/region.rb +23 -0
- data/lib/LittleWeasel/modules/region_validatable.rb +16 -0
- data/lib/LittleWeasel/modules/tag_validatable.rb +16 -0
- data/lib/LittleWeasel/modules/taggable.rb +31 -0
- data/lib/LittleWeasel/modules/word_results_validatable.rb +28 -0
- data/lib/LittleWeasel/preprocessors/en_us/capitalize_preprocessor.rb +22 -0
- data/lib/LittleWeasel/preprocessors/preprocessed_word.rb +28 -0
- data/lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb +55 -0
- data/lib/LittleWeasel/preprocessors/preprocessed_words.rb +55 -0
- data/lib/LittleWeasel/preprocessors/preprocessed_words_validatable.rb +27 -0
- data/lib/LittleWeasel/preprocessors/word_preprocessable.rb +19 -0
- data/lib/LittleWeasel/preprocessors/word_preprocessor.rb +122 -0
- data/lib/LittleWeasel/preprocessors/word_preprocessor_managable.rb +114 -0
- data/lib/LittleWeasel/preprocessors/word_preprocessor_validatable.rb +40 -0
- data/lib/LittleWeasel/preprocessors/word_preprocessors_validatable.rb +24 -0
- data/lib/LittleWeasel/services/dictionary_cache_service.rb +262 -0
- data/lib/LittleWeasel/services/dictionary_creator_service.rb +94 -0
- data/lib/LittleWeasel/services/dictionary_file_loader_service.rb +37 -0
- data/lib/LittleWeasel/services/dictionary_killer_service.rb +35 -0
- data/lib/LittleWeasel/services/dictionary_loader_service.rb +59 -0
- data/lib/LittleWeasel/services/dictionary_metadata_service.rb +114 -0
- data/lib/LittleWeasel/services/invalid_words_service.rb +59 -0
- data/lib/LittleWeasel/version.rb +3 -1
- data/lib/LittleWeasel/word_results.rb +146 -0
- data/spec/factories/dictionary.rb +43 -0
- data/spec/factories/dictionary_cache_service.rb +95 -0
- data/spec/factories/dictionary_creator_service.rb +16 -0
- data/spec/factories/dictionary_file_loader_service.rb +13 -0
- data/spec/factories/dictionary_hash.rb +39 -0
- data/spec/factories/dictionary_key.rb +14 -0
- data/spec/factories/dictionary_killer_service.rb +14 -0
- data/spec/factories/dictionary_loader_service.rb +14 -0
- data/spec/factories/dictionary_manager.rb +10 -0
- data/spec/factories/dictionary_metadata.rb +16 -0
- data/spec/factories/dictionary_metadata_service.rb +16 -0
- data/spec/factories/numeric_filter.rb +12 -0
- data/spec/factories/preprocessed_word.rb +16 -0
- data/spec/factories/preprocessed_words.rb +41 -0
- data/spec/factories/single_character_word_filter.rb +12 -0
- data/spec/factories/word_results.rb +16 -0
- data/spec/lib/LittleWeasel/block_results_spec.rb +248 -0
- data/spec/lib/LittleWeasel/configure_spec.rb +74 -0
- data/spec/lib/LittleWeasel/dictionary_key_spec.rb +118 -0
- data/spec/lib/LittleWeasel/dictionary_manager_spec.rb +116 -0
- data/spec/lib/LittleWeasel/dictionary_spec.rb +289 -0
- data/spec/lib/LittleWeasel/filters/en_us/currency_filter_spec.rb +80 -0
- data/spec/lib/LittleWeasel/filters/en_us/numeric_filter_spec.rb +66 -0
- data/spec/lib/LittleWeasel/filters/en_us/single_character_word_filter_spec.rb +58 -0
- data/spec/lib/LittleWeasel/filters/word_filter_managable_spec.rb +180 -0
- data/spec/lib/LittleWeasel/filters/word_filter_spec.rb +151 -0
- data/spec/lib/LittleWeasel/filters/word_filter_validatable_spec.rb +94 -0
- data/spec/lib/LittleWeasel/filters/word_filters_validatable_spec.rb +48 -0
- data/spec/lib/LittleWeasel/integraton_tests/dictionary_integration_spec.rb +201 -0
- data/spec/lib/LittleWeasel/metadata/dictionary_creator_servicable_spec.rb +54 -0
- data/spec/lib/LittleWeasel/metadata/dictionary_metadata_spec.rb +209 -0
- data/spec/lib/LittleWeasel/metadata/invalid_words_metadata_spec.rb +155 -0
- data/spec/lib/LittleWeasel/metadata/metadata_observerable_spec.rb +31 -0
- data/spec/lib/LittleWeasel/metadata/metadatable_spec.rb +35 -0
- data/spec/lib/LittleWeasel/modules/class_name_to_symbol_spec.rb +21 -0
- data/spec/lib/LittleWeasel/modules/dictionary_file_loader_spec.rb +125 -0
- data/spec/lib/LittleWeasel/modules/dictionary_sourceable_spec.rb +44 -0
- data/spec/lib/LittleWeasel/modules/language_spec.rb +52 -0
- data/spec/lib/LittleWeasel/modules/locale_spec.rb +140 -0
- data/spec/lib/LittleWeasel/modules/region_spec.rb +52 -0
- data/spec/lib/LittleWeasel/preprocessors/en_us/capitalize_preprocessor_spec.rb +34 -0
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_word_spec.rb +105 -0
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_word_validatable_spec.rb +143 -0
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_words_spec.rb +77 -0
- data/spec/lib/LittleWeasel/preprocessors/preprocessed_words_validatable_spec.rb +58 -0
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessor_managable_spec.rb +216 -0
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessor_spec.rb +175 -0
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessor_validatable_spec.rb +109 -0
- data/spec/lib/LittleWeasel/preprocessors/word_preprocessors_validatable_spec.rb +49 -0
- data/spec/lib/LittleWeasel/services/dictionary_cache_service_spec.rb +444 -0
- data/spec/lib/LittleWeasel/services/dictionary_creator_service_spec.rb +119 -0
- data/spec/lib/LittleWeasel/services/dictionary_file_loader_service_spec.rb +71 -0
- data/spec/lib/LittleWeasel/services/dictionary_loader_service_spec.rb +50 -0
- data/spec/lib/LittleWeasel/services/dictionary_metadata_service_spec.rb +279 -0
- data/spec/lib/LittleWeasel/word_results_spec.rb +275 -0
- data/spec/lib/LittleWeasel/workflow/workflow_spec.rb +20 -0
- data/spec/spec_helper.rb +117 -6
- data/spec/support/factory_bot.rb +15 -0
- data/spec/support/file_helpers.rb +32 -0
- data/spec/support/files/empty-dictionary.txt +0 -0
- data/{lib/dictionary → spec/support/files/en-US-big.txt} +262156 -31488
- data/spec/support/files/en-US-tagged.txt +26 -0
- data/spec/support/files/en-US.txt +26 -0
- data/spec/support/files/en.txt +26 -0
- data/spec/support/files/es-ES.txt +27 -0
- data/spec/support/files/es.txt +27 -0
- data/spec/support/general_helpers.rb +68 -0
- data/spec/support/shared_contexts.rb +108 -0
- data/spec/support/shared_examples.rb +105 -0
- metadata +408 -65
- data/spec/checker/checker_spec.rb +0 -286
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe 'LittleWeasel Inline Options Tests' do
|
|
4
|
-
|
|
5
|
-
before do
|
|
6
|
-
@spell = LittleWeasel::Checker.instance
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
it 'should create a LittleWeasel object' do
|
|
10
|
-
@spell.should be_an_instance_of LittleWeasel::Checker
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it 'should return true for valid word' do
|
|
14
|
-
@spell.exists?('apple').should == true
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
it 'should return false for valid word with leading spaces by default' do
|
|
18
|
-
@spell.exists?(' apple').should == false
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it 'should return false for valid word with trailing spaces by default' do
|
|
22
|
-
@spell.exists?('apple ').should == false
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it 'should return false for valid word with leading and trailing spaces by default' do
|
|
26
|
-
@spell.exists?(' apple ').should == false
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it 'should return false for invalid word' do
|
|
30
|
-
@spell.exists?('appel').should == false
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'should return false for nil' do
|
|
34
|
-
@spell.exists?(nil).should == false
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it 'should return false for non-String' do
|
|
38
|
-
@spell.exists?(:word).should == false
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it 'should return true if option exclude_alphabet is false, and word is a letter' do
|
|
42
|
-
@spell.options = {exclude_alphabet: false}
|
|
43
|
-
@spell.exists?('x').should == true
|
|
44
|
-
@spell.exists?('X').should == true
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it 'should return false if option exclude_alphabet is true, and word is a letter' do
|
|
48
|
-
@spell.options = {exclude_alphabet: true}
|
|
49
|
-
@spell.exists?('x').should == false
|
|
50
|
-
@spell.exists?('X').should == false
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
it 'should use options passed to exist? 1' do
|
|
54
|
-
@spell.options = {exclude_alphabet: false}
|
|
55
|
-
@spell.exists?('h', {exclude_alphabet: true}).should == false
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
it 'should use options passed to exist? 2' do
|
|
59
|
-
@spell.options = {exclude_alphabet: true}
|
|
60
|
-
@spell.exists?('h', {exclude_alphabet: false}).should == true
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
it 'should return false for valid word with leading spaces' do
|
|
64
|
-
@spell.exists?(' apple', {strip_whitespace: false}).should == false
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
it 'should return false for valid word with trailing spaces' do
|
|
68
|
-
@spell.exists?('apple ', {strip_whitespace: false}).should == false
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it 'should return false for valid word with leading and trailing spaces' do
|
|
72
|
-
@spell.exists?(' apple ', {strip_whitespace: false}).should == false
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
it 'should return true for valid word with leading spaces' do
|
|
76
|
-
@spell.exists?(' apple', {strip_whitespace: true}).should == true
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
it 'should return true for valid word with trailing spaces' do
|
|
80
|
-
@spell.exists?('apple ', {strip_whitespace: true}).should == true
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
it 'should return true for valid word with leading and trailing spaces' do
|
|
84
|
-
@spell.exists?(' apple ', {strip_whitespace: true}).should == true
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# TODO: Profile
|
|
88
|
-
it "shouldn't take forever to find a lot of words" do
|
|
89
|
-
words = %w{ all bad cap dad eat fad glad had inch jump kind lend monster on put quiet run sad tape under vector was xenophobe yes zebra }
|
|
90
|
-
|
|
91
|
-
words *= 100
|
|
92
|
-
|
|
93
|
-
words.each { |word| @spell.exists?(word).should == true }
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
it 'should return true if option ignore_numeric is true, and word is a number' do
|
|
97
|
-
@spell.options = {ignore_numeric: true}
|
|
98
|
-
@spell.exists?('1').should == true
|
|
99
|
-
@spell.exists?('-1').should == true
|
|
100
|
-
@spell.exists?('1.0').should == true
|
|
101
|
-
@spell.exists?('-1.0').should == true
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
it 'should return false if option ignore_numeric is false, and word is a number' do
|
|
105
|
-
@spell.options = {ignore_numeric: false}
|
|
106
|
-
@spell.exists?('1').should == false
|
|
107
|
-
@spell.exists?('-1').should == false
|
|
108
|
-
@spell.exists?('1.0').should == false
|
|
109
|
-
@spell.exists?('-1.0').should == false
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
it 'should not alter the original input' do
|
|
113
|
-
expect = " Hello! "
|
|
114
|
-
actual = expect.dup
|
|
115
|
-
@spell.exists?(actual, {strip_whitespace: false})
|
|
116
|
-
actual.should == expect
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
describe 'LittleWeasel Global Options Tests' do
|
|
122
|
-
|
|
123
|
-
before (:each) do
|
|
124
|
-
@spell = LittleWeasel::Checker.instance
|
|
125
|
-
@spell.options = {exclude_alphabet: true, strip_whitespace: true, ignore_numeric: true}
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
it 'should create a LittleWeasel object' do
|
|
129
|
-
@spell.should be_an_instance_of LittleWeasel::Checker
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
it 'should return true for valid word' do
|
|
133
|
-
@spell.exists?('apple').should == true
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
it 'should return false for invalid word' do
|
|
137
|
-
@spell.exists?('appel').should == false
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
it 'should return false for nil' do
|
|
141
|
-
@spell.exists?(nil).should == false
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
it 'should return false for non-String' do
|
|
145
|
-
@spell.exists?(:word).should == false
|
|
146
|
-
end
|
|
147
|
-
|
|
148
|
-
it 'should return false if option exclude_alphabet is true, and word is a letter' do
|
|
149
|
-
@spell.exists?('x').should == false
|
|
150
|
-
@spell.exists?('X').should == false
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
it 'should use options passed to exist? but not override global options' do
|
|
154
|
-
@spell.exists?('h', {exclude_alphabet: false}).should == true
|
|
155
|
-
@spell.exists?('h').should == false
|
|
156
|
-
|
|
157
|
-
@spell.exists?(' h ', {exclude_alphabet: false, strip_whitespace: true}).should == true
|
|
158
|
-
@spell.exists?(' h ').should == false
|
|
159
|
-
|
|
160
|
-
@spell.exists?('1', {ignore_numeric: false}).should == false
|
|
161
|
-
@spell.exists?('1').should == true
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
it 'should return true for valid word with leading spaces' do
|
|
165
|
-
@spell.exists?(' apple').should == true
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
it 'should return true for valid word with trailing spaces' do
|
|
169
|
-
@spell.exists?('apple ').should == true
|
|
170
|
-
end
|
|
171
|
-
|
|
172
|
-
it 'should return true for valid word with leading and trailing spaces' do
|
|
173
|
-
@spell.exists?(' apple ').should == true
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
it 'should return true if word is a number' do
|
|
177
|
-
@spell.exists?('1').should == true
|
|
178
|
-
@spell.exists?('-1').should == true
|
|
179
|
-
@spell.exists?('1.0').should == true
|
|
180
|
-
@spell.exists?('-1.0').should == true
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
it 'should return false if word is a number' do
|
|
184
|
-
@spell.options = {ignore_numeric: false}
|
|
185
|
-
@spell.exists?('1').should == false
|
|
186
|
-
@spell.exists?('-1').should == false
|
|
187
|
-
@spell.exists?('1.0').should == false
|
|
188
|
-
@spell.exists?('-1.0').should == false
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
it 'should not alter the original input' do
|
|
192
|
-
expect = "Hello!"
|
|
193
|
-
actual = expect.dup
|
|
194
|
-
@spell.exists?(actual)
|
|
195
|
-
actual.should == expect
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
end
|
|
199
|
-
|
|
200
|
-
describe 'LittleWeasel Word Block Tests' do
|
|
201
|
-
|
|
202
|
-
before (:all) do
|
|
203
|
-
@spell = LittleWeasel::Checker.instance
|
|
204
|
-
@spell.options = {exclude_alphabet: true, strip_whitespace: true}
|
|
205
|
-
end
|
|
206
|
-
|
|
207
|
-
it 'should return true for valid words' do
|
|
208
|
-
@spell.exists?('apple sauce').should == true
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
it 'should return false for invalid words' do
|
|
212
|
-
@spell.exists?('appel sauce').should == false
|
|
213
|
-
end
|
|
214
|
-
|
|
215
|
-
it 'should return true for valid words with leading spaces' do
|
|
216
|
-
@spell.exists?(' apple sauce').should == true
|
|
217
|
-
end
|
|
218
|
-
|
|
219
|
-
it 'should return true for valid words with trailing spaces' do
|
|
220
|
-
@spell.exists?('apple sauce ').should == true
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
it 'should return true for valid words with leading and trailing spaces' do
|
|
224
|
-
@spell.exists?(' apple sauce ').should == true
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
it 'should return true for valid words split across \n and \r\n' do
|
|
228
|
-
@spell.exists?("apple\r\n\n\nsauce is great\r\n").should == true
|
|
229
|
-
end
|
|
230
|
-
|
|
231
|
-
it 'should return true for valid words separated by \t' do
|
|
232
|
-
@spell.exists?("\tapple\t\t\tsauce is great\t").should == true
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
it 'should return true for valid words that are repeated' do
|
|
236
|
-
@spell.exists?(' are you bad are you bad are you bad ').should == true
|
|
237
|
-
end
|
|
238
|
-
|
|
239
|
-
it 'should return true for valid words separated by non-alpha chars' do
|
|
240
|
-
@spell.exists?("hello, mister; did I \'mention\'' that lemon cake is \"great?\" It's just wonderful!").should == true
|
|
241
|
-
end
|
|
242
|
-
|
|
243
|
-
it 'should return true for valid pluralized words' do
|
|
244
|
-
@spell.exists?('Apples and peaches are great! Some people are good, each person is a people.').should == true
|
|
245
|
-
end
|
|
246
|
-
|
|
247
|
-
it 'should return true for valid words' do
|
|
248
|
-
@spell.exists?('Hell o').should == true
|
|
249
|
-
end
|
|
250
|
-
|
|
251
|
-
it 'should not alter the original input' do
|
|
252
|
-
expect = "This 'cool' string should not be altered in any way, so I'm 100.00% confident!"
|
|
253
|
-
actual = expect.dup
|
|
254
|
-
@spell.exists?(actual)
|
|
255
|
-
actual.should == expect
|
|
256
|
-
end
|
|
257
|
-
|
|
258
|
-
end
|
|
259
|
-
|
|
260
|
-
describe "option single_word_mode" do
|
|
261
|
-
before (:all) do
|
|
262
|
-
@spell = LittleWeasel::Checker.instance
|
|
263
|
-
#@spell.options = {exclude_alphabet: true, strip_whitespace: true}
|
|
264
|
-
end
|
|
265
|
-
|
|
266
|
-
describe "set globally" do
|
|
267
|
-
it 'should return true for a valid word block by default' do
|
|
268
|
-
@spell.exists?('I love apple pie').should == true
|
|
269
|
-
end
|
|
270
|
-
|
|
271
|
-
it 'should return false for a valid word block if set to true' do
|
|
272
|
-
@spell.options = { single_word_mode: true }
|
|
273
|
-
@spell.exists?('I love apple pie').should == false
|
|
274
|
-
end
|
|
275
|
-
end
|
|
276
|
-
|
|
277
|
-
describe "set inline" do
|
|
278
|
-
it 'should return false for a valid word block if set to true' do
|
|
279
|
-
@spell.exists?('I hate ice cream', single_word_mode: true).should == false
|
|
280
|
-
end
|
|
281
|
-
|
|
282
|
-
it 'should return true for a valid word block if set to false' do
|
|
283
|
-
@spell.exists?('I had a hard day', single_word_mode: false).should == true
|
|
284
|
-
end
|
|
285
|
-
end
|
|
286
|
-
end
|