picky 0.2.0 → 0.2.1
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.
@@ -23,8 +23,9 @@ class Symbol
|
|
23
23
|
sub = self.id2name
|
24
24
|
|
25
25
|
size = sub.size
|
26
|
-
down_to_length = size + down_to_length if down_to_length < 0
|
26
|
+
down_to_length = size + down_to_length + 1 if down_to_length < 0
|
27
27
|
down_to_length = size if size < down_to_length
|
28
|
+
down_to_length = 1 if down_to_length < 1
|
28
29
|
|
29
30
|
yield self
|
30
31
|
size.downto(down_to_length + 1) { yield sub.chop!.intern }
|
@@ -49,10 +49,8 @@ describe Cacher::Partial::Subtoken do
|
|
49
49
|
@cacher.generate_from( :florian => [1], :flavia => [2] ).should == {
|
50
50
|
:florian => [1],
|
51
51
|
:floria => [1],
|
52
|
-
:flori => [1],
|
53
52
|
:flavia => [2],
|
54
|
-
:flavi => [2]
|
55
|
-
:flav => [2]
|
53
|
+
:flavi => [2]
|
56
54
|
}
|
57
55
|
end
|
58
56
|
end
|
@@ -97,7 +97,7 @@ describe Symbol do
|
|
97
97
|
@sym.each_subtoken(@downto) do |subtoken|
|
98
98
|
result << subtoken
|
99
99
|
end
|
100
|
-
result.should == [:reinke, :reink, :rein, :rei, :re, :r
|
100
|
+
result.should == [:reinke, :reink, :rein, :rei, :re, :r]
|
101
101
|
end
|
102
102
|
end
|
103
103
|
context 'downto is less than zero' do
|
@@ -109,7 +109,129 @@ describe Symbol do
|
|
109
109
|
@sym.each_subtoken(@downto) do |subtoken|
|
110
110
|
result << subtoken
|
111
111
|
end
|
112
|
-
result.should == [:reinke, :reink
|
112
|
+
result.should == [:reinke, :reink]
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
context 'very short symbol' do
|
117
|
+
before(:each) do
|
118
|
+
@sym = :r
|
119
|
+
end
|
120
|
+
context 'no downto' do
|
121
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
122
|
+
result = []
|
123
|
+
@sym.each_subtoken do |subtoken|
|
124
|
+
result << subtoken
|
125
|
+
end
|
126
|
+
result.should == [:r]
|
127
|
+
end
|
128
|
+
end
|
129
|
+
context 'downto is larger than the symbol' do
|
130
|
+
before(:each) do
|
131
|
+
@downto = 8
|
132
|
+
end
|
133
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
134
|
+
result = []
|
135
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
136
|
+
result << subtoken
|
137
|
+
end
|
138
|
+
result.should == [:r]
|
139
|
+
end
|
140
|
+
end
|
141
|
+
context 'downto is exactly the same as symbol' do
|
142
|
+
before(:each) do
|
143
|
+
@downto = 6
|
144
|
+
end
|
145
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
146
|
+
result = []
|
147
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
148
|
+
result << subtoken
|
149
|
+
end
|
150
|
+
result.should == [:r]
|
151
|
+
end
|
152
|
+
end
|
153
|
+
context 'downto is smaller than the length of the symbol' do
|
154
|
+
before(:each) do
|
155
|
+
@downto = 4
|
156
|
+
end
|
157
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
158
|
+
result = []
|
159
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
160
|
+
result << subtoken
|
161
|
+
end
|
162
|
+
result.should == [:r]
|
163
|
+
end
|
164
|
+
end
|
165
|
+
context 'downto is 1' do
|
166
|
+
before(:each) do
|
167
|
+
@downto = 1
|
168
|
+
end
|
169
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
170
|
+
result = []
|
171
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
172
|
+
result << subtoken
|
173
|
+
end
|
174
|
+
result.should == [:r]
|
175
|
+
end
|
176
|
+
end
|
177
|
+
context 'downto is 0' do
|
178
|
+
before(:each) do
|
179
|
+
@downto = 0
|
180
|
+
end
|
181
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
182
|
+
result = []
|
183
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
184
|
+
result << subtoken
|
185
|
+
end
|
186
|
+
result.should == [:r]
|
187
|
+
end
|
188
|
+
end
|
189
|
+
context 'downto is less than zero' do
|
190
|
+
before(:each) do
|
191
|
+
@downto = -1
|
192
|
+
end
|
193
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
194
|
+
result = []
|
195
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
196
|
+
result << subtoken
|
197
|
+
end
|
198
|
+
result.should == [:r]
|
199
|
+
end
|
200
|
+
end
|
201
|
+
context 'downto is less than zero' do
|
202
|
+
before(:each) do
|
203
|
+
@downto = -2
|
204
|
+
end
|
205
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
206
|
+
result = []
|
207
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
208
|
+
result << subtoken
|
209
|
+
end
|
210
|
+
result.should == [:r]
|
211
|
+
end
|
212
|
+
end
|
213
|
+
context 'downto is less than zero' do
|
214
|
+
before(:each) do
|
215
|
+
@downto = -3
|
216
|
+
end
|
217
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
218
|
+
result = []
|
219
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
220
|
+
result << subtoken
|
221
|
+
end
|
222
|
+
result.should == [:r]
|
223
|
+
end
|
224
|
+
end
|
225
|
+
context 'downto is less than zero' do
|
226
|
+
before(:each) do
|
227
|
+
@downto = -100
|
228
|
+
end
|
229
|
+
it "should return an array of pieces of the original token, each 1 smaller than the other" do
|
230
|
+
result = []
|
231
|
+
@sym.each_subtoken(@downto) do |subtoken|
|
232
|
+
result << subtoken
|
233
|
+
end
|
234
|
+
result.should == [:r]
|
113
235
|
end
|
114
236
|
end
|
115
237
|
end
|