~ubuntu-branches/debian/sid/neovim/sid

« back to all changes in this revision

Viewing changes to test/functional/legacy/094_visual_mode_operators_spec.lua

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2016-04-18 21:42:19 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20160418214219-1e6d4o1fwqarzk46
Tags: 0.1.3-1
* New upstream release.  (Closes: #820562)
* debian/control:
  + Remove unnecessary luarocks Build-Depends
  + Add libkvm-dev Build-Depends for kfreebsd-*
  + Add python(3)-neovim to Recommends.  (Closes: #812737)
  + Declare compiance with policy 3.9.8, no changes needed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
  ]])
25
25
end
26
26
 
 
27
local function put_abc()
 
28
  source([[
 
29
    $put ='a'
 
30
    $put ='b'
 
31
    $put ='c']])
 
32
end
 
33
 
 
34
local function put_aaabbbccc()
 
35
  source([[
 
36
    $put ='aaa'
 
37
    $put ='bbb'
 
38
    $put ='ccc']])
 
39
end
 
40
 
 
41
local function define_select_mode_maps()
 
42
  source([[
 
43
    snoremap <lt>End> <End>
 
44
    snoremap <lt>Down> <Down>
 
45
    snoremap <lt>Del> <Del>]])
 
46
end
 
47
 
27
48
describe('Visual mode and operator', function()
28
49
  before_each(function()
29
50
    clear()
150
171
      ok
151
172
      ok]])
152
173
  end)
 
174
 
 
175
  describe('characterwise visual mode:', function()
 
176
    it('replace last line', function()
 
177
      source([[
 
178
        $put ='a'
 
179
        let @" = 'x']])
 
180
      feed('v$p')
 
181
 
 
182
      expect([[
 
183
        
 
184
        x]])
 
185
    end)
 
186
 
 
187
    it('delete middle line', function()
 
188
      put_abc()
 
189
      feed('kkv$d')
 
190
 
 
191
      expect([[
 
192
        
 
193
        b
 
194
        c]])
 
195
    end)
 
196
 
 
197
    it('delete middle two line', function()
 
198
      put_abc()
 
199
      feed('kkvj$d')
 
200
 
 
201
      expect([[
 
202
        
 
203
        c]])
 
204
    end)
 
205
 
 
206
    it('delete last line', function()
 
207
      put_abc()
 
208
      feed('v$d')
 
209
 
 
210
      expect([[
 
211
        
 
212
        a
 
213
        b
 
214
        ]])
 
215
    end)
 
216
 
 
217
    it('delete last two line', function()
 
218
      put_abc()
 
219
      feed('kvj$d')
 
220
 
 
221
      expect([[
 
222
        
 
223
        a
 
224
        ]])
 
225
    end)
 
226
  end)
 
227
 
 
228
  describe('characterwise select mode:', function()
 
229
    before_each(function()
 
230
      define_select_mode_maps()
 
231
    end)
 
232
 
 
233
    it('delete middle line', function()
 
234
      put_abc()
 
235
      feed('kkgh<End><Del>')
 
236
 
 
237
      expect([[
 
238
        
 
239
        b
 
240
        c]])
 
241
    end)
 
242
 
 
243
    it('delete middle two line', function()
 
244
      put_abc()
 
245
      feed('kkgh<Down><End><Del>')
 
246
 
 
247
      expect([[
 
248
        
 
249
        c]])
 
250
    end)
 
251
 
 
252
    it('delete last line', function()
 
253
      put_abc()
 
254
      feed('gh<End><Del>')
 
255
 
 
256
      expect([[
 
257
        
 
258
        a
 
259
        b
 
260
        ]])
 
261
    end)
 
262
 
 
263
    it('delete last two line', function()
 
264
      put_abc()
 
265
      feed('kgh<Down><End><Del>')
 
266
 
 
267
      expect([[
 
268
        
 
269
        a
 
270
        ]])
 
271
    end)
 
272
  end)
 
273
 
 
274
  describe('linewise select mode:', function()
 
275
    before_each(function()
 
276
      define_select_mode_maps()
 
277
    end)
 
278
 
 
279
    it('delete middle line', function()
 
280
      put_abc()
 
281
      feed(' kkgH<Del> ')
 
282
 
 
283
      expect([[
 
284
        
 
285
        b
 
286
        c]])
 
287
    end)
 
288
 
 
289
    it('delete middle two line', function()
 
290
      put_abc()
 
291
      feed('kkgH<Down><Del>')
 
292
 
 
293
      expect([[
 
294
        
 
295
        c]])
 
296
    end)
 
297
 
 
298
    it('delete last line', function()
 
299
      put_abc()
 
300
      feed('gH<Del>')
 
301
 
 
302
      expect([[
 
303
        
 
304
        a
 
305
        b]])
 
306
    end)
 
307
 
 
308
    it('delete last two line', function()
 
309
      put_abc()
 
310
      feed('kgH<Down><Del>')
 
311
 
 
312
      expect([[
 
313
        
 
314
        a]])
 
315
    end)
 
316
  end)
 
317
 
 
318
  describe('v_p:', function()
 
319
    it('replace last character with line register at middle line', function()
 
320
      put_aaabbbccc()
 
321
      execute('-2yank')
 
322
      feed('k$vp')
 
323
 
 
324
      expect([[
 
325
        
 
326
        aaa
 
327
        bb
 
328
        aaa
 
329
        
 
330
        ccc]])
 
331
    end)
 
332
 
 
333
    it('replace last character with line register at middle line selecting newline', function()
 
334
      put_aaabbbccc()
 
335
      execute('-2yank')
 
336
      feed('k$v$p')
 
337
 
 
338
      expect([[
 
339
        
 
340
        aaa
 
341
        bb
 
342
        aaa
 
343
        ccc]])
 
344
    end)
 
345
 
 
346
    it('replace last character with line register at last line', function()
 
347
      put_aaabbbccc()
 
348
      execute('-2yank')
 
349
      feed('$vp')
 
350
 
 
351
      expect([[
 
352
        
 
353
        aaa
 
354
        bbb
 
355
        cc
 
356
        aaa
 
357
        ]])
 
358
    end)
 
359
 
 
360
    it('replace last character with line register at last line selecting newline', function()
 
361
      put_aaabbbccc()
 
362
      execute('-2yank')
 
363
      feed('$v$p')
 
364
 
 
365
      expect([[
 
366
        
 
367
        aaa
 
368
        bbb
 
369
        cc
 
370
        aaa
 
371
        ]])
 
372
    end)
 
373
  end)
 
374
 
 
375
  it('gv in exclusive select mode after operation', function()
 
376
    source([[
 
377
      $put ='zzz '
 
378
      $put ='äà'
 
379
      set selection=exclusive]])
 
380
    feed('kv3lyjv3lpgvcxxx<Esc>')
 
381
 
 
382
    expect([[
 
383
      
 
384
      zzz 
 
385
      xxx ]])
 
386
  end)
 
387
 
 
388
  it('gv in exclusive select mode without operation', function()
 
389
    source([[
 
390
      $put ='zzz '
 
391
      set selection=exclusive]])
 
392
    feed('0v3l<Esc>gvcxxx<Esc>')
 
393
 
 
394
    expect([[
 
395
      
 
396
      xxx ]])
 
397
  end)
153
398
end)