-
Notifications
You must be signed in to change notification settings - Fork 207
/
search_spec.rb
162 lines (138 loc) · 2.98 KB
/
search_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
$:.unshift "spec/"
require 'xiki/core/search'
require 'xiki/core/core_ext'
describe Search, "#case_options" do
it "should initialize" do
options = Search.case_options
options.class.should == Array
options[0][0].should == 'upper'
end
it "should convert case correctly" do
options = Search.case_options
options[0][1].call("hey").should == 'HEY'
options[1][1].call("HEY").should == 'hey'
options[2][1].call("hey_you").should == 'HeyYou'
options[3][1].call("HeyYou").should == 'hey_you'
end
end
describe Search, "#deep_outline" do
before(:all) do
@small_tree = "
daf jam
stuff
include ink
closs Clam
daf aa
daf tt
".unindent
end
it "grabs lines above" do
Search.deep_outline(@small_tree, 6)[0].should == "
daf jam
closs Clam
daf tt
".unindent
end
it "remembers line we're on" do
Search.deep_outline(@small_tree, 5)[1].should == 3
end
it "grabs only lines above with children" do
before = "
daf jam
stuff
include ink
closs Clam
daf zz
daf aa
stuff
daf zzz
daf tt
".unindent
result = Search.deep_outline(before, 9)
result[0].should == "
daf jam
closs Clam
daf aa
daf tt
".unindent
result[1].should == 4
end
it "grabs lines below" do
Search.deep_outline(@small_tree, 1)[0].should == "
daf jam
closs Clam
".unindent
end
it "includes lines above and below" do
before ="
include ink
daf a
ee
bb
closs Clam
daf aa
stuff
daf zz
daf bb
aaa
stuff
zzz
ttt
ccc
stuff
daf zz
daf cc
stuff
daf zzz
end
".unindent
result = Search.deep_outline(before, 13)
result[0].should == "
daf a
closs Clam
daf aa
daf bb
aaa
ttt
ccc
daf cc
".unindent
result[1].should == 6
end
# it "should convert case correctly" do
# options = Search.case_options
# options[0][1].call("hey").should == 'HEY'
# options[1][1].call("HEY").should == 'hey'
# options[2][1].call("hey_you").should == 'HeyYou'
# options[3][1].call("HeyYou").should == 'hey_you'
# end
it "ignores Ol lines" do
tree = "
daf jam
aa
aaa
Ol.line
bb
Ol.line
cc
ccc
".unindent
Search.deep_outline(tree, 5)[0].should == "
daf jam
aa
bb
cc
".unindent
end
end
# describe Search, "# function that prompts" do
# # TODO: move this into View.input :choices=>case_options
# it "should get input from user" do
# end
# end
# describe Search, "#change_case" do
# it "should change case" do
# 1.should == 1
# # Line.without_label(:line=>"- hey: you").should == "you"
# end
# end