File tree Expand file tree Collapse file tree 1 file changed +21
-4
lines changed Expand file tree Collapse file tree 1 file changed +21
-4
lines changed Original file line number Diff line number Diff line change @@ -61,12 +61,14 @@ def syntax(content, pattern)
61
61
syngroups . gsub! ( /["'\[ \] ]/ , '' ) . split ( ', ' )
62
62
end
63
63
64
- def fold_and_delete ( content )
64
+ def fold_and_delete ( content , opts )
65
+ start_line = opts [ :on_line ]
65
66
with_file content do
66
67
@vim . command ( "set foldmethod=syntax" )
67
68
68
69
@vim . normal ( "zO" )
69
- @vim . normal ( "zM" )
70
+ @vim . normal ( "#{ start_line } G" )
71
+ @vim . normal ( "zc" )
70
72
@vim . normal ( "dd" )
71
73
end
72
74
end
@@ -203,14 +205,29 @@ def self.new
203
205
end
204
206
end
205
207
206
- RSpec ::Matchers . define :fold_lines do |lines |
208
+ RSpec ::Matchers . define :fold_lines do |lines , opts |
207
209
buffer = Buffer . new ( VIM , :ex )
210
+ opts ||= { }
211
+ start_line = opts [ :on_line ] ||= 1
212
+
213
+ after = nil
208
214
209
215
match do |code |
210
- after = buffer . fold_and_delete ( code )
216
+ after = buffer . fold_and_delete ( code , opts )
211
217
212
218
code . lines . count - after . lines . count == lines
213
219
end
220
+
221
+ failure_message do |code |
222
+ <<~EOF
223
+ expected
224
+ #{ code }
225
+ to fold #{ lines } lines at line #{ start_line } ,
226
+ but after folding at line #{ start_line } and deleting a line I got
227
+ #{ after }
228
+ back
229
+ EOF
230
+ end
214
231
end
215
232
216
233
Vimrunner ::RSpec . configure do |config |
You can’t perform that action at this time.
0 commit comments