LittleWeasel 1.0.2 → 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/.idea/.rakeTasks +1 -1
- data/.idea/workspace.xml +82 -31
- data/lib/LittleWeasel.rb +32 -2
- data/lib/LittleWeasel/version.rb +1 -1
- data/spec/checker/checker_spec.rb +91 -1
- metadata +1 -1
data/.idea/.rakeTasks
CHANGED
|
@@ -4,4 +4,4 @@ You are allowed to:
|
|
|
4
4
|
1. Remove rake task
|
|
5
5
|
2. Add existing rake tasks
|
|
6
6
|
To add existing rake tasks automatically delete this file and reload the project.
|
|
7
|
-
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build LittleWeasel-1.0.
|
|
7
|
+
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build LittleWeasel-1.1.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install LittleWeasel-1.1.0.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v1.1.0 and build and push LittleWeasel-1.1.0.gem to Rubygems" fullCmd="release" taksId="release" /><RakeTask description="Run RSpec code examples" fullCmd="spec" taksId="spec" /><RakeTask description="" fullCmd="default" taksId="default" /></RakeGroup></Settings>
|
data/.idea/workspace.xml
CHANGED
|
@@ -4,14 +4,18 @@
|
|
|
4
4
|
<list default="true" id="34d4ec05-51d8-442a-84a5-75b5005cedf0" name="Default" comment="">
|
|
5
5
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/.rakeTasks" afterPath="$PROJECT_DIR$/.idea/.rakeTasks" />
|
|
6
6
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Gemfile" afterPath="$PROJECT_DIR$/Gemfile" />
|
|
7
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/LittleWeasel.rb" afterPath="$PROJECT_DIR$/lib/LittleWeasel.rb" />
|
|
8
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/checker/checker_spec.rb" afterPath="$PROJECT_DIR$/spec/checker/checker_spec.rb" />
|
|
9
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/LittleWeasel/version.rb" afterPath="$PROJECT_DIR$/lib/LittleWeasel/version.rb" />
|
|
10
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
|
7
11
|
</list>
|
|
8
12
|
<ignored path="LittleWeasel.iws" />
|
|
9
13
|
<ignored path=".idea/workspace.xml" />
|
|
10
14
|
<file path="/Dummy.txt" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1372805608148" ignored="false" />
|
|
11
|
-
<file path="/LittleWeasel.rb" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="
|
|
15
|
+
<file path="/LittleWeasel.rb" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1372859178934" ignored="false" />
|
|
12
16
|
<file path="/spec_helper.rb" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1371776194745" ignored="false" />
|
|
13
17
|
<file path="/little_weasel.rb" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1371781900009" ignored="false" />
|
|
14
|
-
<file path="/checker_spec.rb" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="
|
|
18
|
+
<file path="/checker_spec.rb" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1372858412116" ignored="false" />
|
|
15
19
|
<file path="/checker.rb" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1371778535451" ignored="false" />
|
|
16
20
|
<file path="/LittleWeasel.gemspec" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1371779509067" ignored="false" />
|
|
17
21
|
<file path="/.gitignore" changelist="34d4ec05-51d8-442a-84a5-75b5005cedf0" time="1371780237152" ignored="false" />
|
|
@@ -108,34 +112,34 @@
|
|
|
108
112
|
<file leaf-file-name="LittleWeasel.rb" pinned="false" current="false" current-in-tab="false">
|
|
109
113
|
<entry file="file://$PROJECT_DIR$/lib/LittleWeasel.rb">
|
|
110
114
|
<provider selected="true" editor-type-id="text-editor">
|
|
111
|
-
<state line="
|
|
115
|
+
<state line="71" column="14" selection-start="2270" selection-end="2916" vertical-scroll-proportion="0.0">
|
|
112
116
|
<folding />
|
|
113
117
|
</state>
|
|
114
118
|
</provider>
|
|
115
119
|
</entry>
|
|
116
120
|
</file>
|
|
117
|
-
<file leaf-file-name="
|
|
118
|
-
<entry file="file://$PROJECT_DIR$/
|
|
121
|
+
<file leaf-file-name="README.md" pinned="false" current="false" current-in-tab="false">
|
|
122
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
|
119
123
|
<provider selected="true" editor-type-id="text-editor">
|
|
120
|
-
<state line="
|
|
124
|
+
<state line="24" column="0" selection-start="452" selection-end="452" vertical-scroll-proportion="0.0">
|
|
121
125
|
<folding />
|
|
122
126
|
</state>
|
|
123
127
|
</provider>
|
|
124
128
|
</entry>
|
|
125
129
|
</file>
|
|
126
|
-
<file leaf-file-name="version.rb" pinned="false" current="
|
|
130
|
+
<file leaf-file-name="version.rb" pinned="false" current="true" current-in-tab="true">
|
|
127
131
|
<entry file="file://$PROJECT_DIR$/lib/LittleWeasel/version.rb">
|
|
128
132
|
<provider selected="true" editor-type-id="text-editor">
|
|
129
|
-
<state line="2" column="18" selection-start="64" selection-end="64" vertical-scroll-proportion="0.
|
|
133
|
+
<state line="2" column="18" selection-start="64" selection-end="64" vertical-scroll-proportion="0.062893085">
|
|
130
134
|
<folding />
|
|
131
135
|
</state>
|
|
132
136
|
</provider>
|
|
133
137
|
</entry>
|
|
134
138
|
</file>
|
|
135
|
-
<file leaf-file-name="
|
|
136
|
-
<entry file="file://$PROJECT_DIR$/
|
|
139
|
+
<file leaf-file-name="checker_spec.rb" pinned="false" current="false" current-in-tab="false">
|
|
140
|
+
<entry file="file://$PROJECT_DIR$/spec/checker/checker_spec.rb">
|
|
137
141
|
<provider selected="true" editor-type-id="text-editor">
|
|
138
|
-
<state line="
|
|
142
|
+
<state line="122" column="63" selection-start="3700" selection-end="3700" vertical-scroll-proportion="-35.307693">
|
|
139
143
|
<folding />
|
|
140
144
|
</state>
|
|
141
145
|
</provider>
|
|
@@ -170,11 +174,11 @@
|
|
|
170
174
|
<option value="$PROJECT_DIR$/test/spec.opts" />
|
|
171
175
|
<option value="$PROJECT_DIR$/spec/.rspec" />
|
|
172
176
|
<option value="$PROJECT_DIR$/.rspec" />
|
|
177
|
+
<option value="$PROJECT_DIR$/Gemfile" />
|
|
173
178
|
<option value="$PROJECT_DIR$/spec/checker/checker_spec.rb" />
|
|
174
179
|
<option value="$PROJECT_DIR$/lib/LittleWeasel.rb" />
|
|
175
|
-
<option value="$PROJECT_DIR$/lib/LittleWeasel/version.rb" />
|
|
176
180
|
<option value="$PROJECT_DIR$/README.md" />
|
|
177
|
-
<option value="$PROJECT_DIR$/
|
|
181
|
+
<option value="$PROJECT_DIR$/lib/LittleWeasel/version.rb" />
|
|
178
182
|
</list>
|
|
179
183
|
</option>
|
|
180
184
|
</component>
|
|
@@ -232,6 +236,38 @@
|
|
|
232
236
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
233
237
|
</PATH_ELEMENT>
|
|
234
238
|
</PATH>
|
|
239
|
+
<PATH>
|
|
240
|
+
<PATH_ELEMENT>
|
|
241
|
+
<option name="myItemId" value="LittleWeasel" />
|
|
242
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
243
|
+
</PATH_ELEMENT>
|
|
244
|
+
<PATH_ELEMENT>
|
|
245
|
+
<option name="myItemId" value="LittleWeasel" />
|
|
246
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
247
|
+
</PATH_ELEMENT>
|
|
248
|
+
<PATH_ELEMENT>
|
|
249
|
+
<option name="myItemId" value="spec" />
|
|
250
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
251
|
+
</PATH_ELEMENT>
|
|
252
|
+
</PATH>
|
|
253
|
+
<PATH>
|
|
254
|
+
<PATH_ELEMENT>
|
|
255
|
+
<option name="myItemId" value="LittleWeasel" />
|
|
256
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
257
|
+
</PATH_ELEMENT>
|
|
258
|
+
<PATH_ELEMENT>
|
|
259
|
+
<option name="myItemId" value="LittleWeasel" />
|
|
260
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
261
|
+
</PATH_ELEMENT>
|
|
262
|
+
<PATH_ELEMENT>
|
|
263
|
+
<option name="myItemId" value="spec" />
|
|
264
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
265
|
+
</PATH_ELEMENT>
|
|
266
|
+
<PATH_ELEMENT>
|
|
267
|
+
<option name="myItemId" value="checker" />
|
|
268
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
269
|
+
</PATH_ELEMENT>
|
|
270
|
+
</PATH>
|
|
235
271
|
<PATH>
|
|
236
272
|
<PATH_ELEMENT>
|
|
237
273
|
<option name="myItemId" value="LittleWeasel" />
|
|
@@ -288,7 +324,7 @@
|
|
|
288
324
|
<recent name="$PROJECT_DIR$/test" />
|
|
289
325
|
</key>
|
|
290
326
|
</component>
|
|
291
|
-
<component name="RunManager" selected="
|
|
327
|
+
<component name="RunManager" selected="RSpec.checker_spec">
|
|
292
328
|
<configuration default="true" type="CommandRunConfigurationType" factoryName="Gem Command">
|
|
293
329
|
<module name="" />
|
|
294
330
|
<COMMAND_RUN_CONFIGURATION NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
|
@@ -480,7 +516,7 @@
|
|
|
480
516
|
</component>
|
|
481
517
|
<component name="ToolWindowManager">
|
|
482
518
|
<frame x="0" y="22" width="1440" height="874" extended-state="0" />
|
|
483
|
-
<editor active="
|
|
519
|
+
<editor active="true" />
|
|
484
520
|
<layout>
|
|
485
521
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
486
522
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
|
@@ -490,7 +526,7 @@
|
|
|
490
526
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39920425" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
|
491
527
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
|
492
528
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
|
493
|
-
<window_info id="Run" active="
|
|
529
|
+
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.33023873" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
|
494
530
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
495
531
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
|
496
532
|
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
@@ -560,7 +596,22 @@
|
|
|
560
596
|
</component>
|
|
561
597
|
<component name="XDebuggerManager">
|
|
562
598
|
<breakpoint-manager>
|
|
563
|
-
<
|
|
599
|
+
<breakpoints>
|
|
600
|
+
<line-breakpoint enabled="true" type="ruby-line">
|
|
601
|
+
<url>file://$PROJECT_DIR$/spec/checker/checker_spec.rb</url>
|
|
602
|
+
<line>133</line>
|
|
603
|
+
<option name="timeStamp" value="5" />
|
|
604
|
+
</line-breakpoint>
|
|
605
|
+
<line-breakpoint enabled="true" type="ruby-line">
|
|
606
|
+
<url>file://$PROJECT_DIR$/spec/checker/checker_spec.rb</url>
|
|
607
|
+
<line>134</line>
|
|
608
|
+
<option name="timeStamp" value="6" />
|
|
609
|
+
</line-breakpoint>
|
|
610
|
+
</breakpoints>
|
|
611
|
+
<breakpoints-dialog>
|
|
612
|
+
<breakpoints-dialog />
|
|
613
|
+
</breakpoints-dialog>
|
|
614
|
+
<option name="time" value="7" />
|
|
564
615
|
</breakpoint-manager>
|
|
565
616
|
</component>
|
|
566
617
|
<component name="editorHistoryManager">
|
|
@@ -609,51 +660,51 @@
|
|
|
609
660
|
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-352.64462" />
|
|
610
661
|
</provider>
|
|
611
662
|
</entry>
|
|
612
|
-
<entry file="file://$PROJECT_DIR$/
|
|
663
|
+
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
|
613
664
|
<provider selected="true" editor-type-id="text-editor">
|
|
614
|
-
<state line="
|
|
665
|
+
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.16352202">
|
|
615
666
|
<folding />
|
|
616
667
|
</state>
|
|
617
668
|
</provider>
|
|
618
669
|
</entry>
|
|
619
|
-
<entry file="file://$PROJECT_DIR$/
|
|
670
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
|
620
671
|
<provider selected="true" editor-type-id="text-editor">
|
|
621
|
-
<state line="
|
|
672
|
+
<state line="7" column="13" selection-start="149" selection-end="149" vertical-scroll-proportion="0.0">
|
|
622
673
|
<folding />
|
|
623
674
|
</state>
|
|
624
675
|
</provider>
|
|
625
676
|
</entry>
|
|
626
|
-
<entry file="file://$PROJECT_DIR$/
|
|
677
|
+
<entry file="file://$PROJECT_DIR$/LittleWeasel.gemspec">
|
|
627
678
|
<provider selected="true" editor-type-id="text-editor">
|
|
628
|
-
<state line="
|
|
679
|
+
<state line="11" column="95" selection-start="550" selection-end="550" vertical-scroll-proportion="0.0">
|
|
629
680
|
<folding />
|
|
630
681
|
</state>
|
|
631
682
|
</provider>
|
|
632
683
|
</entry>
|
|
633
|
-
<entry file="file://$PROJECT_DIR$/
|
|
684
|
+
<entry file="file://$PROJECT_DIR$/spec/checker/checker_spec.rb">
|
|
634
685
|
<provider selected="true" editor-type-id="text-editor">
|
|
635
|
-
<state line="
|
|
686
|
+
<state line="122" column="63" selection-start="3700" selection-end="3700" vertical-scroll-proportion="-35.307693">
|
|
636
687
|
<folding />
|
|
637
688
|
</state>
|
|
638
689
|
</provider>
|
|
639
690
|
</entry>
|
|
640
|
-
<entry file="file://$PROJECT_DIR$/
|
|
691
|
+
<entry file="file://$PROJECT_DIR$/lib/LittleWeasel.rb">
|
|
641
692
|
<provider selected="true" editor-type-id="text-editor">
|
|
642
|
-
<state line="
|
|
693
|
+
<state line="71" column="14" selection-start="2270" selection-end="2916" vertical-scroll-proportion="0.0">
|
|
643
694
|
<folding />
|
|
644
695
|
</state>
|
|
645
696
|
</provider>
|
|
646
697
|
</entry>
|
|
647
|
-
<entry file="file://$PROJECT_DIR$/
|
|
698
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
|
648
699
|
<provider selected="true" editor-type-id="text-editor">
|
|
649
|
-
<state line="
|
|
700
|
+
<state line="24" column="0" selection-start="452" selection-end="452" vertical-scroll-proportion="0.0">
|
|
650
701
|
<folding />
|
|
651
702
|
</state>
|
|
652
703
|
</provider>
|
|
653
704
|
</entry>
|
|
654
|
-
<entry file="file://$PROJECT_DIR$/
|
|
705
|
+
<entry file="file://$PROJECT_DIR$/lib/LittleWeasel/version.rb">
|
|
655
706
|
<provider selected="true" editor-type-id="text-editor">
|
|
656
|
-
<state line="
|
|
707
|
+
<state line="2" column="18" selection-start="64" selection-end="64" vertical-scroll-proportion="0.062893085">
|
|
657
708
|
<folding />
|
|
658
709
|
</state>
|
|
659
710
|
</provider>
|
data/lib/LittleWeasel.rb
CHANGED
|
@@ -20,7 +20,7 @@ module LittleWeasel
|
|
|
20
20
|
|
|
21
21
|
# The constructor
|
|
22
22
|
def initialize
|
|
23
|
-
@options = {exclude_alphabet: false}
|
|
23
|
+
@options = {exclude_alphabet: false, strip_whitespace: false}
|
|
24
24
|
@alphabet_exclusion_list = %w{ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z }
|
|
25
25
|
@dictionary = Hash.new(1)
|
|
26
26
|
load
|
|
@@ -33,10 +33,29 @@ module LittleWeasel
|
|
|
33
33
|
# method are applied for this query only.
|
|
34
34
|
#
|
|
35
35
|
# @return [Boolean] true if *word* exists, false otherwise.
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
#
|
|
39
|
+
# LittleWeasel::Checker.instance.exists?('C') # true (default options, :exclude_alphabet => false)
|
|
40
|
+
# LittleWeasel::Checker.instance.exists?('A', {exclude_alphabet:true}) # false
|
|
41
|
+
# LittleWeasel::Checker.instance.exists?('X', {exclude_alphabet:false}) # true
|
|
42
|
+
# LittleWeasel::Checker.instance.exists?('Hello') # true
|
|
43
|
+
# LittleWeasel::Checker.instance.exists?('Hello World') # false, two words does not a single word make :)
|
|
44
|
+
#
|
|
45
|
+
# LittleWeasel::Checker.instance.exists?(' Hello ') # false (default options, :strip_whitespace => false)
|
|
46
|
+
# LittleWeasel::Checker.instance.exists?(' Yes ', {strip_whitespace:true}) # true
|
|
47
|
+
# LittleWeasel::Checker.instance.exists?('No ', {strip_whitespace:false}) # false
|
|
48
|
+
# LittleWeasel::Checker.instance.exists?('Hell o', {strip_whitespace:true}) # false, strip_whitespace only removes leading and trailing spaces
|
|
49
|
+
#
|
|
36
50
|
def exists?(word, options=nil)
|
|
37
51
|
options = options || @options
|
|
38
52
|
|
|
39
|
-
return false
|
|
53
|
+
return false unless word.is_a?(String)
|
|
54
|
+
|
|
55
|
+
word.strip! if options[:strip_whitespace]
|
|
56
|
+
|
|
57
|
+
return false if word.empty?
|
|
58
|
+
|
|
40
59
|
return false if options[:exclude_alphabet] && word.length == 1 && @alphabet_exclusion_list.include?(word.upcase)
|
|
41
60
|
|
|
42
61
|
dictionary.has_key? word
|
|
@@ -48,6 +67,8 @@ module LittleWeasel
|
|
|
48
67
|
# Options set via this property apply to all subsequent queries.
|
|
49
68
|
# @option options [Boolean] :exclude_alphabet (false) If false, letters of the alphabet are considered words.
|
|
50
69
|
# For example, LittleWeasel::Checker.instance.exists?('A'), will return true.
|
|
70
|
+
# @option options [Boolean] :strip_whitespace (false) If true, leading and trailing spaces are removed before checking to see if the word exists.
|
|
71
|
+
# For example, LittleWeasel::Checker.instance.exists?(' Hello ', {strip_whitespace:true}), will return true.
|
|
51
72
|
#
|
|
52
73
|
# @return [Hash] The options
|
|
53
74
|
#
|
|
@@ -58,6 +79,15 @@ module LittleWeasel
|
|
|
58
79
|
# LittleWeasel::Checker.instance.options({exclude_alphabet:false})
|
|
59
80
|
# LittleWeasel::Checker.instance.exists?('A') # true
|
|
60
81
|
#
|
|
82
|
+
# LittleWeasel::Checker.instance.options({strip_whitespace:false})
|
|
83
|
+
# LittleWeasel::Checker.instance.exists?(' Hello ') # false
|
|
84
|
+
# LittleWeasel::Checker.instance.exists?('No ') # false
|
|
85
|
+
# LittleWeasel::Checker.instance.exists?(' No') # false
|
|
86
|
+
#
|
|
87
|
+
# LittleWeasel::Checker.instance.options({strip_whitespace:true})
|
|
88
|
+
# LittleWeasel::Checker.instance.exists?(' Yes ') # true
|
|
89
|
+
# LittleWeasel::Checker.instance.exists?('Hell o') # false, strip_whitespace only removes leading and trailing spaces
|
|
90
|
+
#
|
|
61
91
|
def options=(options)
|
|
62
92
|
@options = options
|
|
63
93
|
end
|
data/lib/LittleWeasel/version.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
|
3
|
-
describe LittleWeasel do
|
|
3
|
+
describe 'LittleWeasel Inline Options Tests' do
|
|
4
4
|
|
|
5
5
|
before do
|
|
6
6
|
@spell = LittleWeasel::Checker.instance
|
|
@@ -14,6 +14,18 @@ describe LittleWeasel do
|
|
|
14
14
|
@spell.exists?('apple').should == true
|
|
15
15
|
end
|
|
16
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
|
+
|
|
17
29
|
it 'should return false for invalid word' do
|
|
18
30
|
@spell.exists?('appel').should == false
|
|
19
31
|
end
|
|
@@ -48,6 +60,30 @@ describe LittleWeasel do
|
|
|
48
60
|
@spell.exists?('h', {exclude_alphabet: false}).should == true
|
|
49
61
|
end
|
|
50
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
|
+
|
|
51
87
|
# TODO: Profile
|
|
52
88
|
it "shouldn't take forever to find a lot of words" do
|
|
53
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 }
|
|
@@ -57,4 +93,58 @@ describe LittleWeasel do
|
|
|
57
93
|
words.each { |word| @spell.exists?(word).should == true }
|
|
58
94
|
end
|
|
59
95
|
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
describe 'LittleWeasel Global Options Tests' do
|
|
99
|
+
|
|
100
|
+
before (:all) do
|
|
101
|
+
@spell = LittleWeasel::Checker.instance
|
|
102
|
+
@spell.options = {exclude_alphabet: true, strip_whitespace: true}
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
it 'should create a LittleWeasel object' do
|
|
106
|
+
@spell.should be_an_instance_of LittleWeasel::Checker
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it 'should return true for valid word' do
|
|
110
|
+
@spell.exists?('apple').should == true
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
it 'should return false for invalid word' do
|
|
114
|
+
@spell.exists?('appel').should == false
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
it 'should return false for nil' do
|
|
118
|
+
@spell.exists?(nil).should == false
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
it 'should return false for non-String' do
|
|
122
|
+
@spell.exists?(:word).should == false
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
it 'should return false if option exclude_alphabet is true, and word is a letter' do
|
|
126
|
+
@spell.exists?('x').should == false
|
|
127
|
+
@spell.exists?('X').should == false
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
it 'should use options passed to exist? but not override global options' do
|
|
131
|
+
@spell.exists?('h', {exclude_alphabet: false}).should == true
|
|
132
|
+
@spell.exists?('h').should == false
|
|
133
|
+
|
|
134
|
+
@spell.exists?(' h ', {exclude_alphabet: false, strip_whitespace: true}).should == true
|
|
135
|
+
@spell.exists?(' h ').should == false
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
it 'should return true for valid word with leading spaces' do
|
|
139
|
+
@spell.exists?(' apple').should == true
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
it 'should return true for valid word with trailing spaces' do
|
|
143
|
+
@spell.exists?('apple ').should == true
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
it 'should return true for valid word with leading and trailing spaces' do
|
|
147
|
+
@spell.exists?(' apple ').should == true
|
|
148
|
+
end
|
|
149
|
+
|
|
60
150
|
end
|