Mercurial > vim
annotate src/testdir/test_edit.vim @ 19706:f53f46722dce
Added tag v8.2.0409 for changeset 599793519c855a334458ce1c11206b03b15d369a
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 19 Mar 2020 15:15:04 +0100 |
parents | f70a3c1000bb |
children | 0208534b8a84 |
rev | line source |
---|---|
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test for edit functions |
18538
c4d97a18af37
patch 8.1.2263: 'noesckeys' test fails in GUI
Bram Moolenaar <Bram@vim.org>
parents:
18534
diff
changeset
|
2 |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 if exists("+t_kD") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 let &t_kD="[3;*~" |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
18538
c4d97a18af37
patch 8.1.2263: 'noesckeys' test fails in GUI
Bram Moolenaar <Bram@vim.org>
parents:
18534
diff
changeset
|
7 source check.vim |
c4d97a18af37
patch 8.1.2263: 'noesckeys' test fails in GUI
Bram Moolenaar <Bram@vim.org>
parents:
18534
diff
changeset
|
8 |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 " Needed for testing basic rightleft: Test_edit_rightleft |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 source view_util.vim |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 " Needs to come first until the bug in getchar() is |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 " fixed: https://groups.google.com/d/msg/vim_dev/fXL9yme4H4c/bOR-U6_bAQAJ |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
14 func Test_edit_00b() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 call setline(1, ['abc ']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 inoreabbr <buffer> h here some more |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 call cursor(1, 4) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 " <c-l> expands the abbreviation and ends insertmode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 call feedkeys(":set im\<cr> h\<c-l>:set noim\<cr>", 'tix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 call assert_equal(['abc here some more '], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 iunabbr <buffer> h |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
26 func Test_edit_01() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 " set for Travis CI? |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 " set nocp noesckeys |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 " 1) empty buffer |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 call assert_equal([''], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 " 2) delete in an empty line |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 call feedkeys("i\<del>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 call assert_equal([''], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 " 3) delete one character |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 call setline(1, 'a') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 call feedkeys("i\<del>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 call assert_equal([''], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 " 4) delete a multibyte character |
15607
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
42 call setline(1, "\u0401") |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
43 call feedkeys("i\<del>\<esc>", 'tnix') |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
44 call assert_equal([''], getline(1,'$')) |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
45 %d |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 " 5.1) delete linebreak with 'bs' option containing eol |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 let _bs=&bs |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 set bs=eol |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 call setline(1, ["abc def", "ghi jkl"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 call feedkeys("A\<del>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
52 call assert_equal(['abc defghi jkl'], getline(1, 2)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
53 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
54 " 5.2) delete linebreak with backspace option w/out eol |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
55 set bs= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
56 call setline(1, ["abc def", "ghi jkl"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 call feedkeys("A\<del>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 call assert_equal(["abc def", "ghi jkl"], getline(1, 2)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 let &bs=_bs |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
63 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
64 func Test_edit_02() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
65 " Change cursor position in InsertCharPre command |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
66 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
68 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
69 fu! DoIt(...) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
70 call cursor(1, 4) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 if len(a:000) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 let v:char=a:1 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
73 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
74 endfu |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
75 au InsertCharPre <buffer> :call DoIt('y') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
76 call feedkeys("ix\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
77 call assert_equal(['abcy'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
78 " Setting <Enter> in InsertCharPre |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
79 au! InsertCharPre <buffer> :call DoIt("\n") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
80 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
81 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
82 call feedkeys("ix\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 call assert_equal(['abc', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
84 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 au! InsertCharPre |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 " Change cursor position in InsertEnter command |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 " 1) when setting v:char, keeps changed cursor position |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
88 au! InsertEnter <buffer> :call DoIt('y') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
89 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
91 call feedkeys("ix\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
92 call assert_equal(['abxc'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
93 " 2) when not setting v:char, restores changed cursor position |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
94 au! InsertEnter <buffer> :call DoIt() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
95 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
96 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
97 call feedkeys("ix\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
98 call assert_equal(['xabc'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
99 au! InsertEnter |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
100 delfu DoIt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
101 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
102 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
103 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
104 func Test_edit_03() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
105 " Change cursor after <c-o> command to end of line |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
106 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
107 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
108 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
109 call feedkeys("i\<c-o>$y\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
110 call assert_equal(['abcy'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
111 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
112 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
113 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
114 call feedkeys("i\<c-o>80|y\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
115 call assert_equal(['abcy'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
116 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
117 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
118 call feedkeys("Ad\<c-o>:s/$/efg/\<cr>hij", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
119 call assert_equal(['hijabcdefg'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
120 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
121 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
122 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
123 func Test_edit_04() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
124 " test for :stopinsert |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
125 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
126 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
127 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
128 call feedkeys("i\<c-o>:stopinsert\<cr>$", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
129 call feedkeys("aX\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
130 call assert_equal(['abcX'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
131 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
132 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
133 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
134 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
135 func Test_edit_05() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
136 " test for folds being opened |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
137 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
138 call setline(1, ['abcX', 'abcX', 'zzzZ']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
139 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
140 set foldmethod=manual foldopen+=insert |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
141 " create fold for those two lines |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
142 norm! Vjzf |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
143 call feedkeys("$ay\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
144 call assert_equal(['abcXy', 'abcX', 'zzzZ'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
145 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
146 call setline(1, ['abcX', 'abcX', 'zzzZ']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
147 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
148 set foldmethod=manual foldopen-=insert |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
149 " create fold for those two lines |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
150 norm! Vjzf |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
151 call feedkeys("$ay\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
152 call assert_equal(['abcXy', 'abcX', 'zzzZ'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
153 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
154 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
155 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
156 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
157 func Test_edit_06() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
158 " Test in diff mode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
159 if !has("diff") || !executable("diff") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
160 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
161 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
162 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
163 call setline(1, ['abc', 'xxx', 'yyy']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
164 vnew |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
165 call setline(1, ['abc', 'zzz', 'xxx', 'yyy']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
166 wincmd p |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
167 diffthis |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
168 wincmd p |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
169 diffthis |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
170 wincmd p |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
171 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
172 norm! zt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
173 call feedkeys("Ozzz\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
174 call assert_equal(['abc', 'zzz', 'xxx', 'yyy'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
175 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
176 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
177 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
178 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
179 func Test_edit_07() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
180 " 1) Test with completion <c-l> when popupmenu is visible |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
181 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
182 call setline(1, 'J') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
183 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
184 func! ListMonths() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
185 call complete(col('.')-1, ['January', 'February', 'March', |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
186 \ 'April', 'May', 'June', 'July', 'August', 'September', |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
187 \ 'October', 'November', 'December']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
188 return '' |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
189 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
190 inoremap <buffer> <F5> <C-R>=ListMonths()<CR> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
191 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
192 call feedkeys("A\<f5>\<c-p>". repeat("\<down>", 6)."\<c-l>\<down>\<c-l>\<cr>", 'tx') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
193 call assert_equal(['July'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
194 " 1) Test completion when InsertCharPre kicks in |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
195 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
196 call setline(1, 'J') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
197 fu! DoIt() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
198 if v:char=='u' |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
199 let v:char='an' |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
200 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
201 endfu |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
202 au InsertCharPre <buffer> :call DoIt() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
203 call feedkeys("A\<f5>\<c-p>u\<cr>\<c-l>\<cr>", 'tx') |
17857
4935244c1128
patch 8.1.1925: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
16692
diff
changeset
|
204 call assert_equal(["Jan\<c-l>",''], 1->getline('$')) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
205 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
206 call setline(1, 'J') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
207 call feedkeys("A\<f5>\<c-p>u\<down>\<c-l>\<cr>", 'tx') |
17857
4935244c1128
patch 8.1.1925: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
16692
diff
changeset
|
208 call assert_equal(["January"], 1->getline('$')) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
209 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
210 delfu ListMonths |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
211 delfu DoIt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
212 iunmap <buffer> <f5> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
213 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
214 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
215 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
216 func Test_edit_08() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
217 " reset insertmode from i_ctrl-r_= |
12696
6daad7ef16be
patch 8.0.1226: edit and popup tests failing
Christian Brabandt <cb@256bit.org>
parents:
12654
diff
changeset
|
218 let g:bufnr = bufnr('%') |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
219 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
220 call setline(1, ['abc']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
221 call cursor(1, 4) |
12696
6daad7ef16be
patch 8.0.1226: edit and popup tests failing
Christian Brabandt <cb@256bit.org>
parents:
12654
diff
changeset
|
222 call feedkeys(":set im\<cr>ZZZ\<c-r>=setbufvar(g:bufnr,'&im', 0)\<cr>",'tnix') |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
223 call assert_equal(['abZZZc'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
224 call assert_equal([0, 1, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
225 call assert_false(0, '&im') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
226 bw! |
12696
6daad7ef16be
patch 8.0.1226: edit and popup tests failing
Christian Brabandt <cb@256bit.org>
parents:
12654
diff
changeset
|
227 unlet g:bufnr |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
228 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
229 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
230 func Test_edit_09() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
231 " test i_CTRL-\ combinations |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
232 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
233 call setline(1, ['abc', 'def', 'ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
234 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
235 " 1) CTRL-\ CTLR-N |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
236 call feedkeys(":set im\<cr>\<c-\>\<c-n>ccABC\<c-l>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
237 call assert_equal(['ABC', 'def', 'ghi'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
238 call setline(1, ['ABC', 'def', 'ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
239 " 2) CTRL-\ CTLR-G |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
240 call feedkeys("j0\<c-\>\<c-g>ZZZ\<cr>\<c-l>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
241 call assert_equal(['ABC', 'ZZZ', 'def', 'ghi'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
242 call feedkeys("I\<c-\>\<c-g>YYY\<c-l>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
243 call assert_equal(['ABC', 'ZZZ', 'YYYdef', 'ghi'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
244 set noinsertmode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
245 " 3) CTRL-\ CTRL-O |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
246 call setline(1, ['ABC', 'ZZZ', 'def', 'ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
247 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
248 call feedkeys("A\<c-o>ix", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
249 call assert_equal(['ABxC', 'ZZZ', 'def', 'ghi'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
250 call feedkeys("A\<c-\>\<c-o>ix", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
251 call assert_equal(['ABxCx', 'ZZZ', 'def', 'ghi'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
252 " 4) CTRL-\ a (should be inserted literally, not special after <c-\> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
253 call setline(1, ['ABC', 'ZZZ', 'def', 'ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
254 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
255 call feedkeys("A\<c-\>a", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
256 call assert_equal(["ABC\<c-\>a", 'ZZZ', 'def', 'ghi'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
257 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
258 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
259 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
260 func Test_edit_10() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
261 " Test for starting selectmode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
262 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
263 set selectmode=key keymodel=startsel |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
264 call setline(1, ['abc', 'def', 'ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
265 call cursor(1, 4) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
266 call feedkeys("A\<s-home>start\<esc>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
267 call assert_equal(['startdef', 'ghi'], getline(1, '$')) |
19613
9c15be376631
patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
268 " start select mode again with gv |
9c15be376631
patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
269 set selectmode=cmd |
9c15be376631
patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
270 call feedkeys('gvabc', 'xt') |
9c15be376631
patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
271 call assert_equal('abctdef', getline(1)) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
272 set selectmode= keymodel= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
273 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
274 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
275 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
276 func Test_edit_11() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
277 " Test that indenting kicks in |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
278 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
279 set cindent |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
280 call setline(1, ['{', '', '']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
281 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
282 call feedkeys("i\<c-f>int c;\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
283 call cursor(3, 1) |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
284 call feedkeys("\<Insert>/* comment */", 'tnix') |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
285 call assert_equal(['{', "\<tab>int c;", "/* comment */"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
286 " added changed cindentkeys slightly |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
287 set cindent cinkeys+=*/ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
288 call setline(1, ['{', '', '']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
289 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
290 call feedkeys("i\<c-f>int c;\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
291 call cursor(3, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
292 call feedkeys("i/* comment */", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
293 call assert_equal(['{', "\<tab>int c;", "\<tab>/* comment */"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
294 set cindent cinkeys+==end |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
295 call feedkeys("oend\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
296 call assert_equal(['{', "\<tab>int c;", "\<tab>/* comment */", "\tend", ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
297 set cinkeys-==end |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
298 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
299 " Use indentexpr instead of cindenting |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
300 func! Do_Indent() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
301 if v:lnum == 3 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
302 return 3*shiftwidth() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
303 else |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
304 return 2*shiftwidth() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
305 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
306 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
307 setl indentexpr=Do_Indent() indentkeys+=*/ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
308 call setline(1, ['{', '', '']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
309 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
310 call feedkeys("i\<c-f>int c;\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
311 call cursor(3, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
312 call feedkeys("i/* comment */", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
313 call assert_equal(['{', "\<tab>\<tab>int c;", "\<tab>\<tab>\<tab>/* comment */"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
314 set cinkeys&vim indentkeys&vim |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
315 set nocindent indentexpr= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
316 delfu Do_Indent |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
317 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
318 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
319 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
320 func Test_edit_11_indentexpr() |
12551
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
321 " Test that indenting kicks in |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
322 new |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
323 " Use indentexpr instead of cindenting |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
324 func! Do_Indent() |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
325 let pline=prevnonblank(v:lnum) |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
326 if empty(getline(v:lnum)) |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
327 if getline(pline) =~ 'if\|then' |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
328 return shiftwidth() |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
329 else |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
330 return 0 |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
331 endif |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
332 else |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
333 return 0 |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
334 endif |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
335 endfunc |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
336 setl indentexpr=Do_Indent() indentkeys+=0=then,0=fi |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
337 call setline(1, ['if [ $this ]']) |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
338 call cursor(1, 1) |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
339 call feedkeys("othen\<cr>that\<cr>fi", 'tnix') |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
340 call assert_equal(['if [ $this ]', "then", "\<tab>that", "fi"], getline(1, '$')) |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
341 set cinkeys&vim indentkeys&vim |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
342 set nocindent indentexpr= |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
343 delfu Do_Indent |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
344 bw! |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
345 endfunc |
a69d3595d773
patch 8.0.1154: 'indentkeys' does not work properly
Christian Brabandt <cb@256bit.org>
parents:
11319
diff
changeset
|
346 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
347 func Test_edit_12() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
348 " Test changing indent in replace mode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
349 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
350 call setline(1, ["\tabc", "\tdef"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
351 call cursor(2, 4) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
352 call feedkeys("R^\<c-d>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
353 call assert_equal(["\tabc", "def"], getline(1, '$')) |
17857
4935244c1128
patch 8.1.1925: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
16692
diff
changeset
|
354 call assert_equal([0, 2, 2, 0], '.'->getpos()) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
355 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
356 call setline(1, ["\tabc", "\t\tdef"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
357 call cursor(2, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
358 call feedkeys("R^\<c-d>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
359 call assert_equal(["\tabc", "def"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
360 call assert_equal([0, 2, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
361 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
362 call setline(1, ["\tabc", "\t\tdef"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
363 call cursor(2, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
364 call feedkeys("R\<c-t>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
365 call assert_equal(["\tabc", "\t\t\tdef"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
366 call assert_equal([0, 2, 2, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
367 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
368 10vnew |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
369 call setline(1, ["\tabc", "\t\tdef"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
370 call cursor(2, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
371 call feedkeys("R\<c-t>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
372 call assert_equal(["\tabc", "\t\t\tdef"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
373 call assert_equal([0, 2, 2, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
374 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
375 set sw=4 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
376 call setline(1, ["\tabc", "\t\tdef"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
377 call cursor(2, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
378 call feedkeys("R\<c-t>\<c-t>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
379 call assert_equal(["\tabc", "\t\t\tdef"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
380 call assert_equal([0, 2, 2, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
381 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
382 call setline(1, ["\tabc", "\t\tdef"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
383 call cursor(2, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
384 call feedkeys("R\<c-t>\<c-t>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
385 call assert_equal(["\tabc", "\t\t\tdef"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
386 call assert_equal([0, 2, 2, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
387 set et |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
388 set sw& et& |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
389 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
390 call setline(1, ["\t/*"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
391 set formatoptions=croql |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
392 call cursor(1, 3) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
393 call feedkeys("A\<cr>\<cr>/", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
394 call assert_equal(["\t/*", " *", " */"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
395 set formatoptions& |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
396 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
397 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
398 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
399 func Test_edit_13() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
400 " Test smartindenting |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
401 if exists("+smartindent") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
402 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
403 set smartindent autoindent |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
404 call setline(1, ["\tabc"]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
405 call feedkeys("A {\<cr>more\<cr>}\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
406 call assert_equal(["\tabc {", "\t\tmore", "\t}"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
407 set smartindent& autoindent& |
16011
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
408 bwipe! |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
409 endif |
16011
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
410 |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
411 " Test autoindent removing indent of blank line. |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
412 new |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
413 call setline(1, ' foo bar baz') |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
414 set autoindent |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
415 exe "normal 0eea\<CR>\<CR>\<Esc>" |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
416 call assert_equal(" foo bar", getline(1)) |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
417 call assert_equal("", getline(2)) |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
418 call assert_equal(" baz", getline(3)) |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
419 set autoindent& |
de810c9651c8
patch 8.1.1011: indent from autoindent not removed from blank line
Bram Moolenaar <Bram@vim.org>
parents:
15607
diff
changeset
|
420 bwipe! |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
421 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
422 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
423 func Test_edit_CR() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
424 " Test for <CR> in insert mode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
425 " basically only in quickfix mode ist tested, the rest |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
426 " has been taken care of by other tests |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
427 if !has("quickfix") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
428 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
429 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
430 botright new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
431 call writefile(range(1, 10), 'Xqflist.txt') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
432 call setqflist([{'filename': 'Xqflist.txt', 'lnum': 2}]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
433 copen |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
434 set modifiable |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
435 call feedkeys("A\<cr>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
436 call assert_equal('Xqflist.txt', bufname('')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
437 call assert_equal(2, line('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
438 cclose |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
439 botright new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
440 call setloclist(0, [{'filename': 'Xqflist.txt', 'lnum': 10}]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
441 lopen |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
442 set modifiable |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
443 call feedkeys("A\<cr>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
444 call assert_equal('Xqflist.txt', bufname('')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
445 call assert_equal(10, line('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
446 call feedkeys("A\<Enter>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
447 call feedkeys("A\<kEnter>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
448 call feedkeys("A\n", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
449 call feedkeys("A\r", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
450 call assert_equal(map(range(1, 10), 'string(v:val)') + ['', '', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
451 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
452 lclose |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
453 call delete('Xqflist.txt') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
454 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
455 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
456 func Test_edit_CTRL_() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
457 " disabled for Windows builds, why? |
15607
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
458 if !has("rightleft") || has("win32") |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
459 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
460 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
461 let _encoding=&encoding |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
462 set encoding=utf-8 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
463 " Test for CTRL-_ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
464 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
465 call setline(1, ['abc']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
466 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
467 call feedkeys("i\<c-_>xyz\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
468 call assert_equal(["\<C-_>xyzabc"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
469 call assert_false(&revins) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
470 set ari |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
471 call setline(1, ['abc']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
472 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
473 call feedkeys("i\<c-_>xyz\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
474 call assert_equal(["æèñabc"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
475 call assert_true(&revins) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
476 call setline(1, ['abc']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
477 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
478 call feedkeys("i\<c-_>xyz\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
479 call assert_equal(["xyzabc"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
480 call assert_false(&revins) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
481 set noari |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
482 let &encoding=_encoding |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
483 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
484 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
485 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
486 " needs to come first, to have the @. register empty |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
487 func Test_edit_00a_CTRL_A() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
488 " Test pressing CTRL-A |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
489 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
490 call setline(1, repeat([''], 5)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
491 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
492 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
493 call feedkeys("A\<NUL>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
494 catch /^Vim\%((\a\+)\)\=:E29/ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
495 call assert_true(1, 'E29 error caught') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
496 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
497 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
498 call feedkeys("Afoobar \<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
499 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
500 call feedkeys("A\<c-a>more\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
501 call cursor(3, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
502 call feedkeys("A\<NUL>and more\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
503 call assert_equal(['foobar ', 'foobar more', 'foobar morend more', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
504 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
505 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
506 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
507 func Test_edit_CTRL_EY() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
508 " Ctrl-E/ Ctrl-Y in insert mode completion to scroll |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
509 10new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
510 call setline(1, range(1, 100)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
511 call cursor(30, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
512 norm! z. |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
513 call feedkeys("A\<c-x>\<c-e>\<c-e>\<c-e>\<c-e>\<c-e>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
514 call assert_equal(30, winsaveview()['topline']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
515 call assert_equal([0, 30, 2, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
516 call feedkeys("A\<c-x>\<c-e>\<c-e>\<c-e>\<c-e>\<c-e>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
517 call feedkeys("A\<c-x>".repeat("\<c-y>", 10), 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
518 call assert_equal(21, winsaveview()['topline']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
519 call assert_equal([0, 30, 2, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
520 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
521 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
522 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
523 func Test_edit_CTRL_G() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
524 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
525 call setline(1, ['foobar', 'foobar', 'foobar']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
526 call cursor(2, 4) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
527 call feedkeys("ioooooooo\<c-g>k\<c-r>.\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
528 call assert_equal(['foooooooooobar', 'foooooooooobar', 'foobar'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
529 call assert_equal([0, 1, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
530 call feedkeys("i\<c-g>k\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
531 call assert_equal([0, 1, 10, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
532 call cursor(2, 4) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
533 call feedkeys("i\<c-g>jzzzz\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
534 call assert_equal(['foooooooooobar', 'foooooooooobar', 'foozzzzbar'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
535 call assert_equal([0, 3, 7, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
536 call feedkeys("i\<c-g>j\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
537 call assert_equal([0, 3, 6, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
538 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
539 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
540 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
541 func Test_edit_CTRL_I() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
542 " Tab in completion mode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
543 let path=expand("%:p:h") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
544 new |
14039
acb2dc112b06
patch 8.1.0037: cannot easily append lines to another buffer
Christian Brabandt <cb@256bit.org>
parents:
14033
diff
changeset
|
545 call setline(1, [path. "/", '']) |
11171
7fc6afa998be
patch 8.0.0472: when a test fails another test may also fail
Christian Brabandt <cb@256bit.org>
parents:
11105
diff
changeset
|
546 call feedkeys("Arunt\<c-x>\<c-f>\<tab>\<cr>\<esc>", 'tnix') |
7fc6afa998be
patch 8.0.0472: when a test fails another test may also fail
Christian Brabandt <cb@256bit.org>
parents:
11105
diff
changeset
|
547 call assert_match('runtest\.vim', getline(1)) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
548 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
549 call writefile(['one', 'two', 'three'], 'Xinclude.txt') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
550 let include='#include Xinclude.txt' |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
551 call setline(1, [include, '']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
552 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
553 call feedkeys("A\<c-x>\<tab>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
554 call assert_equal([include, 'one', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
555 call feedkeys("2ggC\<c-x>\<tab>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
556 call assert_equal([include, 'two', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
557 call feedkeys("2ggC\<c-x>\<tab>\<down>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
558 call assert_equal([include, 'three', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
559 call feedkeys("2ggC\<c-x>\<tab>\<down>\<down>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
560 call assert_equal([include, '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
561 call delete("Xinclude.txt") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
562 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
563 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
564 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
565 func Test_edit_CTRL_K() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
566 " Test pressing CTRL-K (basically only dictionary completion and digraphs |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
567 " the rest is already covered |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
568 call writefile(['A', 'AA', 'AAA', 'AAAA'], 'Xdictionary.txt') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
569 set dictionary=Xdictionary.txt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
570 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
571 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
572 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
573 call feedkeys("A\<c-x>\<c-k>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
574 call assert_equal(['AA', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
575 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
576 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
577 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
578 call feedkeys("A\<c-x>\<c-k>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
579 call assert_equal(['AAA'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
580 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
581 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
582 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
583 call feedkeys("A\<c-x>\<c-k>\<down>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
584 call assert_equal(['AAAA'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
585 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
586 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
587 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
588 call feedkeys("A\<c-x>\<c-k>\<down>\<down>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
589 call assert_equal(['A'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
590 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
591 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
592 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
593 call feedkeys("A\<c-x>\<c-k>\<down>\<down>\<down>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
594 call assert_equal(['AA'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
595 |
19195
2ef19eed524a
patch 8.2.0156: various typos in source files and tests
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
596 " press an unexpected key after dictionary completion |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
597 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
598 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
599 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
600 call feedkeys("A\<c-x>\<c-k>\<c-]>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
601 call assert_equal(['AA', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
602 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
603 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
604 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
605 call feedkeys("A\<c-x>\<c-k>\<c-s>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
606 call assert_equal(["AA\<c-s>", ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
607 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
608 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
609 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
610 call feedkeys("A\<c-x>\<c-k>\<c-f>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
611 call assert_equal(["AA\<c-f>", ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
612 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
613 set dictionary= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
614 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
615 call setline(1, 'A') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
616 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
617 let v:testing = 1 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
618 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
619 call feedkeys("A\<c-x>\<c-k>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
620 catch |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
621 " error sleeps 2 seconds, when v:testing is not set |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
622 let v:testing = 0 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
623 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
624 call delete('Xdictionary.txt') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
625 |
15607
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
626 call test_override("char_avail", 1) |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
627 set showcmd |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
628 %d |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
629 call feedkeys("A\<c-k>a:\<esc>", 'tnix') |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
630 call assert_equal(['ä'], getline(1, '$')) |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
631 call test_override("char_avail", 0) |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
632 set noshowcmd |
2dcaa860e3fc
patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
633 |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
634 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
635 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
636 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
637 func Test_edit_CTRL_L() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
638 " Test Ctrl-X Ctrl-L (line completion) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
639 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
640 set complete=. |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
641 call setline(1, ['one', 'two', 'three', '', '', '', '']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
642 call cursor(4, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
643 call feedkeys("A\<c-x>\<c-l>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
644 call assert_equal(['one', 'two', 'three', 'three', '', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
645 call feedkeys("cct\<c-x>\<c-l>\<c-n>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
646 call assert_equal(['one', 'two', 'three', 't', '', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
647 call feedkeys("cct\<c-x>\<c-l>\<c-n>\<c-n>\<esc>", 'tnix') |
13215
ae5f855a64be
patch 8.0.1482: using feedkeys() does not work to test completion
Christian Brabandt <cb@256bit.org>
parents:
12696
diff
changeset
|
648 call assert_equal(['one', 'two', 'three', 'two', '', '', ''], getline(1, '$')) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
649 call feedkeys("cct\<c-x>\<c-l>\<c-n>\<c-n>\<c-n>\<esc>", 'tnix') |
13215
ae5f855a64be
patch 8.0.1482: using feedkeys() does not work to test completion
Christian Brabandt <cb@256bit.org>
parents:
12696
diff
changeset
|
650 call assert_equal(['one', 'two', 'three', 'three', '', '', ''], getline(1, '$')) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
651 call feedkeys("cct\<c-x>\<c-l>\<c-n>\<c-n>\<c-n>\<c-n>\<esc>", 'tnix') |
13215
ae5f855a64be
patch 8.0.1482: using feedkeys() does not work to test completion
Christian Brabandt <cb@256bit.org>
parents:
12696
diff
changeset
|
652 call assert_equal(['one', 'two', 'three', 't', '', '', ''], getline(1, '$')) |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
653 call feedkeys("cct\<c-x>\<c-l>\<c-p>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
654 call assert_equal(['one', 'two', 'three', 'two', '', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
655 call feedkeys("cct\<c-x>\<c-l>\<c-p>\<c-p>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
656 call assert_equal(['one', 'two', 'three', 't', '', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
657 call feedkeys("cct\<c-x>\<c-l>\<c-p>\<c-p>\<c-p>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
658 call assert_equal(['one', 'two', 'three', 'three', '', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
659 set complete= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
660 call cursor(5, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
661 call feedkeys("A\<c-x>\<c-l>\<c-p>\<c-n>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
662 call assert_equal(['one', 'two', 'three', 'three', "\<c-l>\<c-p>\<c-n>", '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
663 set complete& |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
664 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
665 if has("conceal") && has("syntax") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
666 call setline(1, ['foo', 'bar', 'foobar']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
667 call test_override("char_avail", 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
668 set conceallevel=2 concealcursor=n |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
669 syn on |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
670 syn match ErrorMsg "^bar" |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
671 call matchadd("Conceal", 'oo', 10, -1, {'conceal': 'X'}) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
672 func! DoIt() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
673 let g:change=1 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
674 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
675 au! TextChangedI <buffer> :call DoIt() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
676 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
677 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
678 call assert_false(exists("g:change")) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
679 call feedkeys("A \<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
680 call assert_equal(['foo', 'bar ', 'foobar'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
681 call assert_equal(1, g:change) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
682 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
683 call test_override("char_avail", 0) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
684 call clearmatches() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
685 syn off |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
686 au! TextChangedI |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
687 delfu DoIt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
688 unlet! g:change |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
689 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
690 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
691 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
692 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
693 func Test_edit_CTRL_N() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
694 " Check keyword completion |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
695 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
696 set complete=. |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
697 call setline(1, ['INFER', 'loWER', '', '', ]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
698 call cursor(3, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
699 call feedkeys("Ai\<c-n>\<cr>\<esc>", "tnix") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
700 call feedkeys("ILO\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
701 call assert_equal(['INFER', 'loWER', 'i', 'LO', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
702 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
703 call setline(1, ['INFER', 'loWER', '', '', ]) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
704 call cursor(3, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
705 set ignorecase infercase |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
706 call feedkeys("Ii\<c-n>\<cr>\<esc>", "tnix") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
707 call feedkeys("ILO\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
708 call assert_equal(['INFER', 'loWER', 'infer', 'LOWER', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
709 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
710 set noignorecase noinfercase complete& |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
711 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
712 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
713 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
714 func Test_edit_CTRL_O() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
715 " Check for CTRL-O in insert mode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
716 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
717 inoreabbr <buffer> h here some more |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
718 call setline(1, ['abc', 'def']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
719 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
720 " Ctrl-O after an abbreviation |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
721 exe "norm A h\<c-o>:set nu\<cr> text" |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
722 call assert_equal(['abc here some more text', 'def'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
723 call assert_true(&nu) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
724 set nonu |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
725 iunabbr <buffer> h |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
726 " Ctrl-O at end of line with 've'=onemore |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
727 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
728 call feedkeys("A\<c-o>:let g:a=getpos('.')\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
729 call assert_equal([0, 1, 23, 0], g:a) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
730 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
731 set ve=onemore |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
732 call feedkeys("A\<c-o>:let g:a=getpos('.')\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
733 call assert_equal([0, 1, 24, 0], g:a) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
734 set ve= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
735 unlet! g:a |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
736 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
737 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
738 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
739 func Test_edit_CTRL_R() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
740 " Insert Register |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
741 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
742 call test_override("ALL", 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
743 set showcmd |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
744 call feedkeys("AFOOBAR eins zwei\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
745 call feedkeys("O\<c-r>.", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
746 call feedkeys("O\<c-r>=10*500\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
747 call feedkeys("O\<c-r>=getreg('=', 1)\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
748 call assert_equal(["getreg('=', 1)", '5000', "FOOBAR eins zwei", "FOOBAR eins zwei"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
749 call test_override("ALL", 0) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
750 set noshowcmd |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
751 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
752 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
753 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
754 func Test_edit_CTRL_S() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
755 " Test pressing CTRL-S (basically only spellfile completion) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
756 " the rest is already covered |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
757 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
758 if !has("spell") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
759 call setline(1, 'vim') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
760 call feedkeys("A\<c-x>ss\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
761 call assert_equal(['vims', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
762 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
763 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
764 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
765 call setline(1, 'vim') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
766 " spell option not yet set |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
767 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
768 call feedkeys("A\<c-x>\<c-s>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
769 catch /^Vim\%((\a\+)\)\=:E756/ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
770 call assert_true(1, 'error caught') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
771 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
772 call assert_equal(['vim', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
773 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
774 setl spell spelllang=en |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
775 call setline(1, 'vim') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
776 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
777 call feedkeys("A\<c-x>\<c-s>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
778 call assert_equal(['Vim', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
779 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
780 call setline(1, 'vim') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
781 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
782 call feedkeys("A\<c-x>\<c-s>\<down>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
783 call assert_equal(['Aim'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
784 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
785 call setline(1, 'vim') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
786 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
787 call feedkeys("A\<c-x>\<c-s>\<c-p>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
788 call assert_equal(['vim', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
789 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
790 " empty buffer |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
791 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
792 call feedkeys("A\<c-x>\<c-s>\<c-p>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
793 call assert_equal(['', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
794 setl nospell |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
795 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
796 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
797 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
798 func Test_edit_CTRL_T() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
799 " Check for CTRL-T and CTRL-X CTRL-T in insert mode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
800 " 1) increase indent |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
801 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
802 call setline(1, "abc") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
803 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
804 call feedkeys("A\<c-t>xyz", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
805 call assert_equal(["\<tab>abcxyz"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
806 " 2) also when paste option is set |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
807 set paste |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
808 call setline(1, "abc") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
809 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
810 call feedkeys("A\<c-t>xyz", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
811 call assert_equal(["\<tab>abcxyz"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
812 set nopaste |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
813 " CTRL-X CTRL-T (thesaurus complete) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
814 call writefile(['angry furious mad enraged'], 'Xthesaurus') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
815 set thesaurus=Xthesaurus |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
816 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
817 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
818 call feedkeys("A\<c-x>\<c-t>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
819 call assert_equal(['mad', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
820 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
821 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
822 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
823 call feedkeys("A\<c-x>\<c-t>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
824 call assert_equal(['angry', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
825 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
826 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
827 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
828 call feedkeys("A\<c-x>\<c-t>\<c-n>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
829 call assert_equal(['furious', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
830 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
831 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
832 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
833 call feedkeys("A\<c-x>\<c-t>\<c-n>\<c-n>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
834 call assert_equal(['enraged', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
835 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
836 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
837 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
838 call feedkeys("A\<c-x>\<c-t>\<c-n>\<c-n>\<c-n>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
839 call assert_equal(['mad', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
840 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
841 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
842 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
843 call feedkeys("A\<c-x>\<c-t>\<c-n>\<c-n>\<c-n>\<c-n>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
844 call assert_equal(['mad', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
845 " Using <c-p> <c-n> when 'complete' is empty |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
846 set complete= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
847 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
848 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
849 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
850 call feedkeys("A\<c-x>\<c-t>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
851 call assert_equal(['angry', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
852 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
853 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
854 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
855 call feedkeys("A\<c-x>\<c-t>\<c-p>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
856 call assert_equal(['mad', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
857 set complete& |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
858 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
859 set thesaurus= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
860 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
861 call setline(1, 'mad') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
862 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
863 let v:testing = 1 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
864 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
865 call feedkeys("A\<c-x>\<c-t>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
866 catch |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
867 " error sleeps 2 seconds, when v:testing is not set |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
868 let v:testing = 0 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
869 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
870 call assert_equal(['mad'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
871 call delete('Xthesaurus') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
872 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
873 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
874 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
875 func Test_edit_CTRL_U() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
876 " Test 'completefunc' |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
877 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
878 " -1, -2 and -3 are special return values |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
879 let g:special=0 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
880 fun! CompleteMonths(findstart, base) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
881 if a:findstart |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
882 " locate the start of the word |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
883 return g:special |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
884 else |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
885 " find months matching with "a:base" |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
886 let res = [] |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
887 for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
888 if m =~ '^\c'.a:base |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
889 call add(res, {'word': m, 'abbr': m.' Month', 'icase': 0}) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
890 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
891 endfor |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
892 return {'words': res, 'refresh': 'always'} |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
893 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
894 endfun |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
895 set completefunc=CompleteMonths |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
896 call setline(1, ['', '']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
897 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
898 call feedkeys("AX\<c-x>\<c-u>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
899 call assert_equal(['X', '', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
900 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
901 let g:special=-1 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
902 call feedkeys("AX\<c-x>\<c-u>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
903 call assert_equal(['XJan', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
904 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
905 let g:special=-2 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
906 call feedkeys("AX\<c-x>\<c-u>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
907 call assert_equal(['X', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
908 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
909 let g:special=-3 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
910 call feedkeys("AX\<c-x>\<c-u>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
911 call assert_equal(['X', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
912 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
913 let g:special=0 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
914 call feedkeys("AM\<c-x>\<c-u>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
915 call assert_equal(['Mar', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
916 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
917 call feedkeys("AM\<c-x>\<c-u>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
918 call assert_equal(['May', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
919 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
920 call feedkeys("AM\<c-x>\<c-u>\<c-n>\<c-n>\<cr>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
921 call assert_equal(['M', ''], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
922 delfu CompleteMonths |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
923 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
924 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
925 call feedkeys("A\<c-x>\<c-u>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
926 call assert_fails(1, 'unknown completion function') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
927 catch /^Vim\%((\a\+)\)\=:E117/ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
928 call assert_true(1, 'E117 error caught') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
929 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
930 set completefunc= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
931 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
932 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
933 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
934 func Test_edit_CTRL_Z() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
935 " Ctrl-Z when insertmode is not set inserts it literally |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
936 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
937 call setline(1, 'abc') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
938 call feedkeys("A\<c-z>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
939 call assert_equal(["abc\<c-z>"], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
940 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
941 " TODO: How to Test Ctrl-Z in insert mode, e.g. suspend? |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
942 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
943 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
944 func Test_edit_DROP() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
945 if !has("dnd") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
946 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
947 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
948 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
949 call setline(1, ['abc def ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
950 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
951 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
952 call feedkeys("i\<Drop>\<Esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
953 call assert_fails(1, 'Invalid register name') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
954 catch /^Vim\%((\a\+)\)\=:E353/ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
955 call assert_true(1, 'error caught') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
956 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
957 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
958 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
959 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
960 func Test_edit_CTRL_V() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
961 if has("ebcdic") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
962 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
963 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
964 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
965 call setline(1, ['abc']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
966 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
967 " force some redraws |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
968 set showmode showcmd |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
969 "call test_override_char_avail(1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
970 call test_override('ALL', 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
971 call feedkeys("A\<c-v>\<c-n>\<c-v>\<c-l>\<c-v>\<c-b>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
972 call assert_equal(["abc\x0e\x0c\x02"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
973 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
974 if has("rightleft") && exists("+rl") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
975 set rl |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
976 call setline(1, ['abc']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
977 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
978 call feedkeys("A\<c-v>\<c-n>\<c-v>\<c-l>\<c-v>\<c-b>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
979 call assert_equal(["abc\x0e\x0c\x02"], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
980 set norl |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
981 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
982 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
983 call test_override('ALL', 0) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
984 set noshowmode showcmd |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
985 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
986 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
987 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
988 func Test_edit_F1() |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18538
diff
changeset
|
989 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18538
diff
changeset
|
990 |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
991 " Pressing <f1> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
992 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
993 call feedkeys(":set im\<cr>\<f1>\<c-l>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
994 set noinsertmode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
995 call assert_equal('help', &buftype) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
996 bw |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
997 bw |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
998 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
999 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1000 func Test_edit_F21() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1001 " Pressing <f21> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1002 " sends a netbeans command |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1003 if has("netbeans_intg") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1004 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1005 " I have no idea what this is supposed to do :) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1006 call feedkeys("A\<F21>\<F1>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1007 bw |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1008 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1009 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1010 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1011 func Test_edit_HOME_END() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1012 " Test Home/End Keys |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1013 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1014 set foldopen+=hor |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1015 call setline(1, ['abc', 'def']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1016 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1017 call feedkeys("AX\<Home>Y\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1018 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1019 call feedkeys("iZ\<End>Y\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1020 call assert_equal(['YabcX', 'ZdefY'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1021 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1022 set foldopen-=hor |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1023 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1024 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1025 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1026 func Test_edit_INS() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1027 " Test for Pressing <Insert> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1028 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1029 call setline(1, ['abc', 'def']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1030 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1031 call feedkeys("i\<Insert>ZYX>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1032 call assert_equal(['ZYX>', 'def'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1033 call setline(1, ['abc', 'def']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1034 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1035 call feedkeys("i\<Insert>Z\<Insert>YX>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1036 call assert_equal(['ZYX>bc', 'def'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1037 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1038 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1039 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1040 func Test_edit_LEFT_RIGHT() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1041 " Left, Shift-Left, Right, Shift-Right |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1042 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1043 call setline(1, ['abc def ghi', 'ABC DEF GHI', 'ZZZ YYY XXX']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1044 let _ww=&ww |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1045 set ww= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1046 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1047 call feedkeys("i\<left>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1048 call assert_equal([0, 2, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1049 " Is this a bug, <s-left> does not respect whichwrap option |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1050 call feedkeys("i\<s-left>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1051 call assert_equal([0, 1, 8, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1052 call feedkeys("i". repeat("\<s-left>", 3). "\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1053 call assert_equal([0, 1, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1054 call feedkeys("i\<right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1055 call assert_equal([0, 1, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1056 call feedkeys("i\<right>\<right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1057 call assert_equal([0, 1, 2, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1058 call feedkeys("A\<right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1059 call assert_equal([0, 1, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1060 call feedkeys("A\<s-right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1061 call assert_equal([0, 2, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1062 call feedkeys("i\<s-right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1063 call assert_equal([0, 2, 4, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1064 call cursor(3, 11) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1065 call feedkeys("A\<right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1066 call feedkeys("A\<s-right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1067 call assert_equal([0, 3, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1068 call cursor(2, 11) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1069 " <S-Right> does not respect 'whichwrap' option |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1070 call feedkeys("A\<s-right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1071 call assert_equal([0, 3, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1072 " Check motion when 'whichwrap' contains cursor keys for insert mode |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1073 set ww+=[,] |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1074 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1075 call feedkeys("i\<left>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1076 call assert_equal([0, 1, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1077 call cursor(2, 11) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1078 call feedkeys("A\<right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1079 call assert_equal([0, 3, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1080 call cursor(2, 11) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1081 call feedkeys("A\<s-right>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1082 call assert_equal([0, 3, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1083 let &ww = _ww |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1084 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1085 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1086 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1087 func Test_edit_MOUSE() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1088 " This is a simple test, since we not really using the mouse here |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1089 if !has("mouse") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1090 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1091 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1092 10new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1093 call setline(1, range(1, 100)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1094 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1095 set mouse=a |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1096 call feedkeys("A\<ScrollWheelDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1097 call assert_equal([0, 4, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1098 " This should move by one pageDown, but only moves |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1099 " by one line when the test is run... |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1100 call feedkeys("A\<S-ScrollWheelDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1101 call assert_equal([0, 5, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1102 set nostartofline |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1103 call feedkeys("A\<C-ScrollWheelDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1104 call assert_equal([0, 6, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1105 call feedkeys("A\<LeftMouse>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1106 call assert_equal([0, 6, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1107 call feedkeys("A\<RightMouse>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1108 call assert_equal([0, 6, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1109 call cursor(1, 100) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1110 norm! zt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1111 " this should move by a screen up, but when the test |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1112 " is run, it moves up to the top of the buffer... |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1113 call feedkeys("A\<ScrollWheelUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1114 call assert_equal([0, 1, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1115 call cursor(1, 30) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1116 norm! zt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1117 call feedkeys("A\<S-ScrollWheelUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1118 call assert_equal([0, 1, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1119 call cursor(1, 30) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1120 norm! zt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1121 call feedkeys("A\<C-ScrollWheelUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1122 call assert_equal([0, 1, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1123 %d |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1124 call setline(1, repeat(["12345678901234567890"], 100)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1125 call cursor(2, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1126 call feedkeys("A\<ScrollWheelRight>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1127 call assert_equal([0, 2, 20, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1128 call feedkeys("A\<ScrollWheelLeft>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1129 call assert_equal([0, 2, 20, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1130 call feedkeys("A\<S-ScrollWheelRight>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1131 call assert_equal([0, 2, 20, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1132 call feedkeys("A\<S-ScrollWheelLeft>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1133 call assert_equal([0, 2, 20, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1134 call feedkeys("A\<C-ScrollWheelRight>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1135 call assert_equal([0, 2, 20, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1136 call feedkeys("A\<C-ScrollWheelLeft>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1137 call assert_equal([0, 2, 20, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1138 set mouse& startofline |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1139 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1140 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1141 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1142 func Test_edit_PAGEUP_PAGEDOWN() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1143 10new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1144 call setline(1, repeat(['abc def ghi'], 30)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1145 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1146 call feedkeys("i\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1147 call assert_equal([0, 9, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1148 call feedkeys("i\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1149 call assert_equal([0, 17, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1150 call feedkeys("i\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1151 call assert_equal([0, 25, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1152 call feedkeys("i\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1153 call assert_equal([0, 30, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1154 call feedkeys("i\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1155 call assert_equal([0, 30, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1156 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1157 call assert_equal([0, 29, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1158 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1159 call assert_equal([0, 21, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1160 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1161 call assert_equal([0, 13, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1162 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1163 call assert_equal([0, 5, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1164 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1165 call assert_equal([0, 5, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1166 " <S-Up> is the same as <PageUp> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1167 " <S-Down> is the same as <PageDown> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1168 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1169 call feedkeys("i\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1170 call assert_equal([0, 9, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1171 call feedkeys("i\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1172 call assert_equal([0, 17, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1173 call feedkeys("i\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1174 call assert_equal([0, 25, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1175 call feedkeys("i\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1176 call assert_equal([0, 30, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1177 call feedkeys("i\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1178 call assert_equal([0, 30, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1179 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1180 call assert_equal([0, 29, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1181 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1182 call assert_equal([0, 21, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1183 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1184 call assert_equal([0, 13, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1185 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1186 call assert_equal([0, 5, 1, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1187 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1188 call assert_equal([0, 5, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1189 set nostartofline |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1190 call cursor(30, 11) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1191 norm! zt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1192 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1193 call assert_equal([0, 29, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1194 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1195 call assert_equal([0, 21, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1196 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1197 call assert_equal([0, 13, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1198 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1199 call assert_equal([0, 5, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1200 call feedkeys("A\<PageUp>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1201 call assert_equal([0, 5, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1202 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1203 call feedkeys("A\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1204 call assert_equal([0, 9, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1205 call feedkeys("A\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1206 call assert_equal([0, 17, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1207 call feedkeys("A\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1208 call assert_equal([0, 25, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1209 call feedkeys("A\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1210 call assert_equal([0, 30, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1211 call feedkeys("A\<PageDown>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1212 call assert_equal([0, 30, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1213 " <S-Up> is the same as <PageUp> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1214 " <S-Down> is the same as <PageDown> |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1215 call cursor(30, 11) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1216 norm! zt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1217 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1218 call assert_equal([0, 29, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1219 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1220 call assert_equal([0, 21, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1221 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1222 call assert_equal([0, 13, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1223 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1224 call assert_equal([0, 5, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1225 call feedkeys("A\<S-Up>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1226 call assert_equal([0, 5, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1227 call cursor(1, 1) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1228 call feedkeys("A\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1229 call assert_equal([0, 9, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1230 call feedkeys("A\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1231 call assert_equal([0, 17, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1232 call feedkeys("A\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1233 call assert_equal([0, 25, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1234 call feedkeys("A\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1235 call assert_equal([0, 30, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1236 call feedkeys("A\<S-Down>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1237 call assert_equal([0, 30, 11, 0], getpos('.')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1238 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1239 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1240 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1241 func Test_edit_forbidden() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1242 new |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1243 " 1) edit in the sandbox is not allowed |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1244 call setline(1, 'a') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1245 com! Sandbox :sandbox call feedkeys("i\<del>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1246 call assert_fails(':Sandbox', 'E48:') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1247 com! Sandbox :sandbox exe "norm! i\<del>" |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1248 call assert_fails(':Sandbox', 'E48:') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1249 delcom Sandbox |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1250 call assert_equal(['a'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1251 " 2) edit with textlock set |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1252 fu! DoIt() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1253 call feedkeys("i\<del>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1254 endfu |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1255 au InsertCharPre <buffer> :call DoIt() |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1256 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1257 call feedkeys("ix\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1258 call assert_fails(1, 'textlock') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1259 catch /^Vim\%((\a\+)\)\=:E523/ " catch E523: not allowed here |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1260 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1261 " TODO: Might be a bug: should x really be inserted here |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1262 call assert_equal(['xa'], getline(1, '$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1263 delfu DoIt |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1264 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1265 call feedkeys("ix\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1266 call assert_fails(1, 'unknown function') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1267 catch /^Vim\%((\a\+)\)\=:E117/ " catch E117: unknown function |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1268 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1269 au! InsertCharPre |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1270 " 3) edit when completion is shown |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1271 fun! Complete(findstart, base) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1272 if a:findstart |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1273 return col('.') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1274 else |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1275 call feedkeys("i\<del>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1276 return [] |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1277 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1278 endfun |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1279 set completefunc=Complete |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1280 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1281 call feedkeys("i\<c-x>\<c-u>\<esc>", 'tnix') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1282 call assert_fails(1, 'change in complete function') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1283 catch /^Vim\%((\a\+)\)\=:E523/ " catch E523 |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1284 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1285 delfu Complete |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1286 set completefunc= |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1287 if has("rightleft") && exists("+fkmap") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1288 " 4) 'R' when 'fkmap' and 'revins' is set. |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1289 set revins fkmap |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1290 try |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1291 normal Ri |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1292 call assert_fails(1, "R with 'fkmap' and 'ri' set") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1293 catch |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1294 finally |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1295 set norevins nofkmap |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1296 endtry |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1297 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1298 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1299 endfunc |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1300 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
14985
diff
changeset
|
1301 func Test_edit_rightleft() |
11105
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1302 " Cursor in rightleft mode moves differently |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1303 if !exists("+rightleft") |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1304 return |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1305 endif |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1306 call NewWindow(10, 20) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1307 call setline(1, ['abc', 'def', 'ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1308 call cursor(1, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1309 set rightleft |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1310 " Screen looks as expected |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1311 let lines = ScreenLines([1, 4], winwidth(0)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1312 let expect = [ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1313 \" cba", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1314 \" fed", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1315 \" ihg", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1316 \" ~"] |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1317 call assert_equal(join(expect, "\n"), join(lines, "\n")) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1318 " 2) right moves to the left |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1319 call feedkeys("i\<right>\<esc>x", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1320 call assert_equal(['bc', 'def', 'ghi'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1321 call cursor(1, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1322 call feedkeys("i\<s-right>\<esc>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1323 call cursor(1, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1324 call feedkeys("i\<c-right>\<esc>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1325 " Screen looks as expected |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1326 let lines = ScreenLines([1, 4], winwidth(0)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1327 let expect = [ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1328 \" cb", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1329 \" fed", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1330 \" ihg", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1331 \" ~"] |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1332 call assert_equal(join(expect, "\n"), join(lines, "\n")) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1333 " 2) left moves to the right |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1334 call setline(1, ['abc', 'def', 'ghi']) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1335 call cursor(1, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1336 call feedkeys("i\<left>\<esc>x", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1337 call assert_equal(['ac', 'def', 'ghi'], getline(1,'$')) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1338 call cursor(1, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1339 call feedkeys("i\<s-left>\<esc>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1340 call cursor(1, 2) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1341 call feedkeys("i\<c-left>\<esc>", 'txin') |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1342 " Screen looks as expected |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1343 let lines = ScreenLines([1, 4], winwidth(0)) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1344 let expect = [ |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1345 \" ca", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1346 \" fed", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1347 \" ihg", |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1348 \" ~"] |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1349 call assert_equal(join(expect, "\n"), join(lines, "\n")) |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1350 set norightleft |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1351 bw! |
7c7e496e625d
patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1352 endfunc |
11289
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1353 |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1354 func Test_edit_complete_very_long_name() |
11319
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1355 if !has('unix') |
11291
783ec3826b0c
patch 8.0.0531: test with long directory name fails on non-unix systems
Christian Brabandt <cb@256bit.org>
parents:
11289
diff
changeset
|
1356 " Long directory names only work on Unix. |
783ec3826b0c
patch 8.0.0531: test with long directory name fails on non-unix systems
Christian Brabandt <cb@256bit.org>
parents:
11289
diff
changeset
|
1357 return |
783ec3826b0c
patch 8.0.0531: test with long directory name fails on non-unix systems
Christian Brabandt <cb@256bit.org>
parents:
11289
diff
changeset
|
1358 endif |
11319
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1359 |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1360 let dirname = getcwd() . "/Xdir" |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1361 let longdirname = dirname . repeat('/' . repeat('d', 255), 4) |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1362 try |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1363 call mkdir(longdirname, 'p') |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1364 catch /E739:/ |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1365 " Long directory name probably not supported. |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1366 call delete(dirname, 'rf') |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1367 return |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1368 endtry |
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1369 |
16692
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1370 " Try to get the Vim window position before setting 'columns', so that we can |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1371 " move the window back to where it was. |
11315
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11293
diff
changeset
|
1372 let winposx = getwinposx() |
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11293
diff
changeset
|
1373 let winposy = getwinposy() |
16692
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1374 |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1375 if winposx >= 0 && winposy >= 0 && !has('gui_running') |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1376 " We did get the window position, but xterm may report the wrong numbers. |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1377 " Move the window to the reported position and compute any offset. |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1378 exe 'winpos ' . winposx . ' ' . winposy |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1379 sleep 100m |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1380 let x = getwinposx() |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1381 if x >= 0 |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1382 let winposx += winposx - x |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1383 endif |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1384 let y = getwinposy() |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1385 if y >= 0 |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1386 let winposy += winposy - y |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1387 endif |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1388 endif |
2e689fb67c91
patch 8.1.1348: running tests may cause the window to move
Bram Moolenaar <Bram@vim.org>
parents:
16419
diff
changeset
|
1389 |
11289
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1390 let save_columns = &columns |
11319
2dc624388934
patch 8.0.0545: edit test may fail on some systems
Christian Brabandt <cb@256bit.org>
parents:
11315
diff
changeset
|
1391 " Need at least about 1100 columns to reproduce the problem. |
11315
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11293
diff
changeset
|
1392 set columns=2000 |
11289
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1393 set noswapfile |
11315
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11293
diff
changeset
|
1394 |
11289
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1395 let longfilename = longdirname . '/' . repeat('a', 255) |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1396 call writefile(['Totum', 'Table'], longfilename) |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1397 new |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1398 exe "next Xfile " . longfilename |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1399 exe "normal iT\<C-N>" |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1400 |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1401 bwipe! |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1402 exe 'bwipe! ' . longfilename |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1403 call delete(dirname, 'rf') |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1404 let &columns = save_columns |
11315
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11293
diff
changeset
|
1405 if winposx >= 0 && winposy >= 0 |
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11293
diff
changeset
|
1406 exe 'winpos ' . winposx . ' ' . winposy |
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11293
diff
changeset
|
1407 endif |
11289
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1408 set swapfile& |
e0309111d976
patch 8.0.0530: buffer overflow when 'columns' is very big
Christian Brabandt <cb@256bit.org>
parents:
11171
diff
changeset
|
1409 endfunc |
12654
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1410 |
14409
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1411 func Test_edit_backtick() |
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1412 next a\`b c |
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1413 call assert_equal('a`b', expand('%')) |
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1414 next |
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1415 call assert_equal('c', expand('%')) |
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1416 call assert_equal('a\`b c', expand('##')) |
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1417 endfunc |
9ffce640d0d3
patch 8.1.0219: expanding ## fails to escape backtick
Christian Brabandt <cb@256bit.org>
parents:
14039
diff
changeset
|
1418 |
12654
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1419 func Test_edit_quit() |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1420 edit foo.txt |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1421 split |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1422 new |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1423 call setline(1, 'hello') |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1424 3wincmd w |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1425 redraw! |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1426 call assert_fails('1q', 'E37:') |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1427 bwipe! foo.txt |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1428 only |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1429 endfunc |
d03798bddf5e
patch 8.0.1205: it is possible to unload a changed buffer
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1430 |
14033
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1431 func Test_edit_alt() |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1432 " Keeping the cursor line didn't happen when the first line has indent. |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1433 new |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1434 call setline(1, [' one', 'two', 'three']) |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1435 w XAltFile |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1436 $ |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1437 call assert_equal(3, line('.')) |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1438 e Xother |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1439 e # |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1440 call assert_equal(3, line('.')) |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1441 |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1442 bwipe XAltFile |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1443 call delete('XAltFile') |
bcda3b864c31
patch 8.1.0034: cursor not restored with ":edit #"
Christian Brabandt <cb@256bit.org>
parents:
13215
diff
changeset
|
1444 endfunc |
14985
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1445 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1446 func Test_leave_insert_autocmd() |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1447 new |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1448 au InsertLeave * let g:did_au = 1 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1449 let g:did_au = 0 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1450 call feedkeys("afoo\<Esc>", 'tx') |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1451 call assert_equal(1, g:did_au) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1452 call assert_equal('foo', getline(1)) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1453 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1454 let g:did_au = 0 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1455 call feedkeys("Sbar\<C-C>", 'tx') |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1456 call assert_equal(0, g:did_au) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1457 call assert_equal('bar', getline(1)) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1458 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1459 inoremap x xx<Esc> |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1460 let g:did_au = 0 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1461 call feedkeys("Saax", 'tx') |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1462 call assert_equal(1, g:did_au) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1463 call assert_equal('aaxx', getline(1)) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1464 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1465 inoremap x xx<C-C> |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1466 let g:did_au = 0 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1467 call feedkeys("Sbbx", 'tx') |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1468 call assert_equal(0, g:did_au) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1469 call assert_equal('bbxx', getline(1)) |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1470 |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1471 bwipe! |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1472 au! InsertLeave |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1473 iunmap x |
4ebda55537a5
patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Bram Moolenaar <Bram@vim.org>
parents:
14409
diff
changeset
|
1474 endfunc |
16419
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1475 |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1476 " Test for inserting characters using CTRL-V followed by a number. |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1477 func Test_edit_special_chars() |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1478 new |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1479 |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1480 if has("ebcdic") |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1481 let t = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>" |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1482 else |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1483 let t = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>" |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1484 endif |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1485 |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1486 exe "normal " . t |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1487 call assert_equal("ABC !a\<C-O>g\<C-G>8", getline(2)) |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1488 |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1489 close! |
aebcd20a8a3f
patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents:
16011
diff
changeset
|
1490 endfunc |
17984
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1491 |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1492 func Test_edit_startinsert() |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1493 new |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1494 set backspace+=start |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1495 call setline(1, 'foobar') |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1496 call feedkeys("A\<C-U>\<Esc>", 'xt') |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1497 call assert_equal('', getline(1)) |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1498 |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1499 call setline(1, 'foobar') |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1500 call feedkeys(":startinsert!\<CR>\<C-U>\<Esc>", 'xt') |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1501 call assert_equal('', getline(1)) |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1502 |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1503 set backspace& |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1504 bwipe! |
2ea47dee7ddd
patch 8.1.1988: :startinsert! does not work the same way as "A"
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
1505 endfunc |
18534
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1506 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1507 " Test for :startreplace and :startgreplace |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1508 func Test_edit_startreplace() |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1509 new |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1510 call setline(1, 'abc') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1511 call feedkeys("l:startreplace\<CR>xyz\e", 'xt') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1512 call assert_equal('axyz', getline(1)) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1513 call feedkeys("0:startreplace!\<CR>abc\e", 'xt') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1514 call assert_equal('axyzabc', getline(1)) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1515 call setline(1, "a\tb") |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1516 call feedkeys("0l:startgreplace\<CR>xyz\e", 'xt') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1517 call assert_equal("axyz\tb", getline(1)) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1518 call feedkeys("0i\<C-R>=execute('startreplace')\<CR>12\e", 'xt') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1519 call assert_equal("12axyz\tb", getline(1)) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1520 close! |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1521 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1522 |
18534
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1523 func Test_edit_noesckeys() |
18538
c4d97a18af37
patch 8.1.2263: 'noesckeys' test fails in GUI
Bram Moolenaar <Bram@vim.org>
parents:
18534
diff
changeset
|
1524 CheckNotGui |
18534
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1525 new |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1526 |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1527 " <Left> moves cursor when 'esckeys' is set |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1528 exe "set t_kl=\<Esc>OD" |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1529 set esckeys |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1530 call feedkeys("axyz\<Esc>ODX", "xt") |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1531 call assert_equal("xyXz", getline(1)) |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1532 |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1533 " <Left> exits Insert mode when 'esckeys' is off |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1534 set noesckeys |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1535 call setline(1, '') |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1536 call feedkeys("axyz\<Esc>ODX", "xt") |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1537 call assert_equal(["DX", "xyz"], getline(1, 2)) |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1538 |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1539 bwipe! |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1540 set esckeys |
7dd83b5325e9
patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
17984
diff
changeset
|
1541 endfunc |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1542 |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1543 " Test for running an invalid ex command in insert mode using CTRL-O |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1544 " Note that vim has a hard-coded sleep of 3 seconds. So this test will take |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1545 " more than 3 seconds to complete. |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1546 func Test_edit_ctrl_o_invalid_cmd() |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1547 new |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1548 set showmode showcmd |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1549 let caught_e492 = 0 |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1550 try |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1551 call feedkeys("i\<C-O>:invalid\<CR>abc\<Esc>", "xt") |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1552 catch /E492:/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1553 let caught_e492 = 1 |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1554 endtry |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1555 call assert_equal(1, caught_e492) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1556 call assert_equal('abc', getline(1)) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1557 set showmode& showcmd& |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1558 close! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1559 endfunc |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1560 |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1561 " Test for inserting text at the beginning of a line |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1562 func Test_insert_before_first_nonblank() |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1563 new |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1564 call setline(1, ' ') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1565 normal! Ia |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1566 call assert_equal(' a', getline(1)) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1567 set cpo+=H |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1568 call setline(1, ' ') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1569 normal! Ia |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1570 call assert_equal(' a ', getline(1)) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1571 set cpo-=H |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1572 close! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1573 endfunc |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19613
diff
changeset
|
1574 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19195
diff
changeset
|
1575 " vim: shiftwidth=2 sts=2 expandtab |