annotate src/testdir/test_normal.vim @ 19969:b07672d13ff9 v8.2.0540

patch 8.2.0540: regexp and other code not tested Commit: https://github.com/vim/vim/commit/004a6781b3cf15ca5dd632c38cc09bb3b253d1f8 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 11 17:09:31 2020 +0200 patch 8.2.0540: regexp and other code not tested Problem: Regexp and other code not tested. Solution: Add more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5904)
author Bram Moolenaar <Bram@vim.org>
date Sat, 11 Apr 2020 17:15:06 +0200
parents 2c4d9ca33769
children a4bd28e2cf1d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test for various Normal mode commands
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
16089
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
3 source shared.vim
18767
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
4 source check.vim
19852
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
5 source view_util.vim
16089
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
6
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
7 func Setup_NewWindow()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 10new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 call setline(1, range(1,100))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 endfunc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
12 func MyFormatExpr()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 " Adds '->$' at lines having numbers followed by trailing whitespace
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 for ln in range(v:lnum, v:lnum+v:count-1)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 let line = getline(ln)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 if getline(ln) =~# '\d\s\+$'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 call setline(ln, substitute(line, '\s\+$', '', '') . '->$')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 endif
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 endfor
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
20 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
22 func CountSpaces(type, ...)
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 " for testing operatorfunc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 " will count the number of spaces
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 " and return the result in g:a
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 let sel_save = &selection
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 let &selection = "inclusive"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 let reg_save = @@
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 if a:0 " Invoked from Visual mode, use gv command.
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 silent exe "normal! gvy"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 elseif a:type == 'line'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 silent exe "normal! '[V']y"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 else
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
35 silent exe "normal! `[v`]y"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 endif
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 let g:a=strlen(substitute(@@, '[^ ]', '', 'g'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38 let &selection = sel_save
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39 let @@ = reg_save
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
40 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
41
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
42 func OpfuncDummy(type, ...)
10342
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
43 " for testing operatorfunc
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
44 let g:opt=&linebreak
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
45
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
46 if a:0 " Invoked from Visual mode, use gv command.
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
47 silent exe "normal! gvy"
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
48 elseif a:type == 'line'
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
49 silent exe "normal! '[V']y"
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
50 else
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
51 silent exe "normal! `[v`]y"
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
52 endif
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
53 " Create a new dummy window
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
54 new
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
55 let g:bufnr=bufnr('%')
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
56 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
58 func Test_normal00_optrans()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
59 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
60 call append(0, ['1 This is a simple test: abcd', '2 This is the second line', '3 this is the third line'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
61 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
62 exe "norm! Sfoobar\<esc>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
63 call assert_equal(['foobar', '2 This is the second line', '3 this is the third line', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
64 2
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
65 exe "norm! $vbsone"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
66 call assert_equal(['foobar', '2 This is the second one', '3 this is the third line', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
67 norm! VS Second line here
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
68 call assert_equal(['foobar', ' Second line here', '3 this is the third line', ''], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
69 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
70 call append(0, ['4 This is a simple test: abcd', '5 This is the second line', '6 this is the third line'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71 call append(0, ['1 This is a simple test: abcd', '2 This is the second line', '3 this is the third line'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
72
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
73 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
74 norm! 2D
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
75 call assert_equal(['3 this is the third line', '4 This is a simple test: abcd', '5 This is the second line', '6 this is the third line', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
76 set cpo+=#
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
77 norm! 4D
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
78 call assert_equal(['', '4 This is a simple test: abcd', '5 This is the second line', '6 this is the third line', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
79
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
81 set cpo-=#
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
82 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
83 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
85 func Test_normal01_keymodel()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87 " Test 1: depending on 'keymodel' <s-down> does something different
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
88 50
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 call feedkeys("V\<S-Up>y", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 call assert_equal(['47', '48', '49', '50'], getline("'<", "'>"))
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
91 set keymodel=startsel
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
92 50
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93 call feedkeys("V\<S-Up>y", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
94 call assert_equal(['49', '50'], getline("'<", "'>"))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 " Start visual mode when keymodel = startsel
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
96 50
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
97 call feedkeys("\<S-Up>y", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98 call assert_equal(['49', '5'], getreg(0, 0, 1))
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
99 " Use the different Shift special keys
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
100 50
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
101 call feedkeys("\<S-Right>\<S-Left>\<S-Up>\<S-Down>\<S-Home>\<S-End>y", 'tx')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
102 call assert_equal(['50'], getline("'<", "'>"))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
103 call assert_equal(['50', ''], getreg(0, 0, 1))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
104
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105 " Do not start visual mode when keymodel=
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
106 set keymodel=
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
107 50
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 call feedkeys("\<S-Up>y$", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109 call assert_equal(['42'], getreg(0, 0, 1))
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
110 " Stop visual mode when keymodel=stopsel
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
111 set keymodel=stopsel
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
112 50
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
113 call feedkeys("Vkk\<Up>yy", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
114 call assert_equal(['47'], getreg(0, 0, 1))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
115
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
116 set keymodel=
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
117 50
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
118 call feedkeys("Vkk\<Up>yy", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
119 call assert_equal(['47', '48', '49', '50'], getreg(0, 0, 1))
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
121 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
122 bw!
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123 endfunc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
124
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
125 func Test_normal03_join()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
126 " basic join test
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
127 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
128 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
129 norm! VJ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
130 call assert_equal('50 51', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
131 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
132 norm! J
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
133 call assert_equal('100', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
135 norm! V9-gJ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
136 call assert_equal('919293949596979899100', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
137 call setline(1, range(1,100))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
138 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
139 :j 10
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
140 call assert_equal('100', getline('.'))
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
141 call assert_beeps('normal GVJ')
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
142 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
143 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
144 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
145
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
146 " basic filter test
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
147 func Test_normal04_filter()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
148 " only test on non windows platform
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
149 CheckNotMSWindows
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
150 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
151 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
152 call feedkeys("!!sed -e 's/^/| /'\n", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
153 call assert_equal('| 1', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
154 90
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
155 :sil :!echo one
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
156 call feedkeys('.', 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
157 call assert_equal('| 90', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
158 95
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
159 set cpo+=!
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
160 " 2 <CR>, 1: for executing the command,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
161 " 2: clear hit-enter-prompt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
162 call feedkeys("!!\n", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
163 call feedkeys(":!echo one\n\n", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
164 call feedkeys(".", 'tx')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
165 call assert_equal('one', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
166 set cpo-=!
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
167 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
168 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
169
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
170 func Test_normal05_formatexpr()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
171 " basic formatexpr test
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
172 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
173 %d_
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
174 call setline(1, ['here: 1 ', '2', 'here: 3 ', '4', 'not here: '])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
175 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
176 set formatexpr=MyFormatExpr()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
177 norm! gqG
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
178 call assert_equal(['here: 1->$', '2', 'here: 3->$', '4', 'not here: '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
179 set formatexpr=
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
180 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
181 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
182
10104
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
183 func Test_normal05_formatexpr_newbuf()
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
184 " Edit another buffer in the 'formatexpr' function
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
185 new
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
186 func! Format()
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
187 edit another
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
188 endfunc
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
189 set formatexpr=Format()
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
190 norm gqG
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
191 bw!
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
192 set formatexpr=
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
193 endfunc
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
194
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
195 func Test_normal05_formatexpr_setopt()
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
196 " Change the 'formatexpr' value in the function
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
197 new
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
198 func! Format()
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
199 set formatexpr=
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
200 endfunc
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
201 set formatexpr=Format()
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
202 norm gqG
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
203 bw!
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
204 set formatexpr=
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
205 endfunc
b2dbe79639a2 commit https://github.com/vim/vim/commit/d77f9d595eb5f301b39b4373f2900a13c0ca30e2
Christian Brabandt <cb@256bit.org>
parents: 10102
diff changeset
206
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
207 " basic test for formatprg
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
208 func Test_normal06_formatprg()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
209 " only test on non windows platform
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
210 CheckNotMSWindows
10579
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
211
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
212 " uses sed to number non-empty lines
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
213 call writefile(['#!/bin/sh', 'sed ''/./=''|sed ''/./{', 'N', 's/\n/ /', '}'''], 'Xsed_format.sh')
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
214 call system('chmod +x ./Xsed_format.sh')
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
215 let text = ['a', '', 'c', '', ' ', 'd', 'e']
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
216 let expected = ['1 a', '', '3 c', '', '5 ', '6 d', '7 e']
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
217
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
218 10new
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
219 call setline(1, text)
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
220 set formatprg=./Xsed_format.sh
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
221 norm! gggqG
10579
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
222 call assert_equal(expected, getline(1, '$'))
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
223 %d
10579
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
224
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
225 call setline(1, text)
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
226 set formatprg=donothing
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
227 setlocal formatprg=./Xsed_format.sh
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
228 norm! gggqG
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
229 call assert_equal(expected, getline(1, '$'))
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
230 %d
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
231
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
232 " Check for the command-line ranges added to 'formatprg'
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
233 set formatprg=cat
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
234 call setline(1, ['one', 'two', 'three', 'four', 'five'])
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
235 call feedkeys('gggqG', 'xt')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
236 call assert_equal('.,$!cat', @:)
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
237 call feedkeys('2Ggq2j', 'xt')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
238 call assert_equal('.,.+2!cat', @:)
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
239
10579
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
240 bw!
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
241 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
242 set formatprg=
10579
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
243 setlocal formatprg=
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
244 call delete('Xsed_format.sh')
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
245 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
246
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
247 func Test_normal07_internalfmt()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
248 " basic test for internal formmatter to textwidth of 12
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
249 let list=range(1,11)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
250 call map(list, 'v:val." "')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
251 10new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
252 call setline(1, list)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
253 set tw=12
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
254 norm! ggVGgq
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
255 call assert_equal(['1 2 3', '4 5 6', '7 8 9', '10 11 '], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
256 " clean up
10579
688b97124d23 patch 8.0.0179: cannot have a local value for 'formatprg'
Christian Brabandt <cb@256bit.org>
parents: 10342
diff changeset
257 set tw=0
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
258 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
259 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
260
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
261 " basic tests for foldopen/folddelete
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
262 func Test_normal08_fold()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
263 CheckFeature folding
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
264 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
265 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
266 setl foldenable fdm=marker
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
267 " First fold
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
268 norm! V4jzf
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
269 " check that folds have been created
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
270 call assert_equal(['50/*{{{*/', '51', '52', '53', '54/*}}}*/'], getline(50,54))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
271 " Second fold
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
272 46
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
273 norm! V10jzf
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
274 " check that folds have been created
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
275 call assert_equal('46/*{{{*/', getline(46))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
276 call assert_equal('60/*}}}*/', getline(60))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
277 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
278 call assert_equal('45', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
279 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
280 call assert_equal('46/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
281 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
282 call assert_equal('61', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
283 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
284 " open a fold
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
285 norm! Vzo
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
286 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
287 call assert_equal('45', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
288 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
289 call assert_equal('46/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
290 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
291 call assert_equal('47', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
292 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
293 norm! zcVzO
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
294 call assert_equal('46/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
295 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
296 call assert_equal('47', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
297 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
298 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
299 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
300 call assert_equal('49', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
301 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
302 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
303 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
304 call assert_equal('51', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
305 " delete folds
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
306 :46
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
307 " collapse fold
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
308 norm! V14jzC
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
309 " delete all folds recursively
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
310 norm! VzD
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
311 call assert_equal(['46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60'], getline(46,60))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
312
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
313 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
314 setl nofoldenable fdm=marker
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
315 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
316 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
317
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
318 func Test_normal09_operatorfunc()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
319 " Test operatorfunc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
320 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
321 " Add some spaces for counting
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
322 50,60s/$/ /
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
323 unlet! g:a
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
324 let g:a=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
325 nmap <buffer><silent> ,, :set opfunc=CountSpaces<CR>g@
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
326 vmap <buffer><silent> ,, :<C-U>call CountSpaces(visualmode(), 1)<CR>
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
327 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
328 norm V2j,,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
329 call assert_equal(6, g:a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
330 norm V,,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
331 call assert_equal(2, g:a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
332 norm ,,l
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
333 call assert_equal(0, g:a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
334 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
335 exe "norm 0\<c-v>10j2l,,"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
336 call assert_equal(11, g:a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
337 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
338 norm V10j,,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
339 call assert_equal(22, g:a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
340
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
341 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
342 unmap <buffer> ,,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
343 set opfunc=
10342
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
344 unlet! g:a
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
345 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
346 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
347
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
348 func Test_normal09a_operatorfunc()
10342
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
349 " Test operatorfunc
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
350 call Setup_NewWindow()
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
351 " Add some spaces for counting
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
352 50,60s/$/ /
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
353 unlet! g:opt
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
354 set linebreak
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
355 nmap <buffer><silent> ,, :set opfunc=OpfuncDummy<CR>g@
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
356 50
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
357 norm ,,j
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
358 exe "bd!" g:bufnr
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
359 call assert_true(&linebreak)
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
360 call assert_equal(g:opt, &linebreak)
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
361 set nolinebreak
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
362 norm ,,j
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
363 exe "bd!" g:bufnr
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
364 call assert_false(&linebreak)
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
365 call assert_equal(g:opt, &linebreak)
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
366
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
367 " clean up
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
368 unmap <buffer> ,,
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
369 set opfunc=
19932
2c4d9ca33769 patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19852
diff changeset
370 call assert_fails('normal Vg@', 'E774:')
10342
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
371 bw!
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
372 unlet! g:opt
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
373 endfunc
ae0faad76f9a commit https://github.com/vim/vim/commit/4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5
Christian Brabandt <cb@256bit.org>
parents: 10338
diff changeset
374
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
375 func Test_normal10_expand()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
376 " Test for expand()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
377 10new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
378 call setline(1, ['1', 'ifooar,,cbar'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
379 2
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
380 norm! $
12421
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
381 call assert_equal('cbar', expand('<cword>'))
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
382 call assert_equal('ifooar,,cbar', expand('<cWORD>'))
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
383
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
384 call setline(1, ['prx = list[idx];'])
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
385 1
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
386 let expected = ['', 'prx', 'prx', 'prx',
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
387 \ 'list', 'list', 'list', 'list', 'list', 'list', 'list',
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
388 \ 'idx', 'idx', 'idx', 'idx',
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
389 \ 'list[idx]',
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
390 \ '];',
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
391 \ ]
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
392 for i in range(1, 16)
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
393 exe 'norm ' . i . '|'
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
394 call assert_equal(expected[i], expand('<cexpr>'), 'i == ' . i)
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
395 endfor
da55ea30842c patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Christian Brabandt <cb@256bit.org>
parents: 11339
diff changeset
396
13086
4d2ee1564c97 patch 8.0.1418: no test for expanding backticks
Christian Brabandt <cb@256bit.org>
parents: 12788
diff changeset
397 if executable('echo')
4d2ee1564c97 patch 8.0.1418: no test for expanding backticks
Christian Brabandt <cb@256bit.org>
parents: 12788
diff changeset
398 " Test expand(`...`) i.e. backticks command expansion.
18473
0eeaa9a6e4e7 patch 8.1.2230: MS-Windows: testing external commands can be improved
Bram Moolenaar <Bram@vim.org>
parents: 18291
diff changeset
399 call assert_equal('abcde', expand('`echo abcde`'))
13086
4d2ee1564c97 patch 8.0.1418: no test for expanding backticks
Christian Brabandt <cb@256bit.org>
parents: 12788
diff changeset
400 endif
4d2ee1564c97 patch 8.0.1418: no test for expanding backticks
Christian Brabandt <cb@256bit.org>
parents: 12788
diff changeset
401
4d2ee1564c97 patch 8.0.1418: no test for expanding backticks
Christian Brabandt <cb@256bit.org>
parents: 12788
diff changeset
402 " Test expand(`=...`) i.e. backticks expression expansion
4d2ee1564c97 patch 8.0.1418: no test for expanding backticks
Christian Brabandt <cb@256bit.org>
parents: 12788
diff changeset
403 call assert_equal('5', expand('`=2+3`'))
19724
b3e93a05c3ca patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19625
diff changeset
404 call assert_equal('3.14', expand('`=3.14`'))
13086
4d2ee1564c97 patch 8.0.1418: no test for expanding backticks
Christian Brabandt <cb@256bit.org>
parents: 12788
diff changeset
405
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
406 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
407 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
408 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
409
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
410 func Test_normal11_showcmd()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
411 " test for 'showcmd'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
412 10new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
413 exe "norm! ofoobar\<esc>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
414 call assert_equal(2, line('$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
415 set showcmd
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
416 exe "norm! ofoobar2\<esc>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
417 call assert_equal(3, line('$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
418 exe "norm! VAfoobar3\<esc>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
419 call assert_equal(3, line('$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
420 exe "norm! 0d3\<del>2l"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
421 call assert_equal('obar2foobar3', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
422 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
423 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
424
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
425 " Test for nv_error and normal command errors
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
426 func Test_normal12_nv_error()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
427 10new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
428 call setline(1, range(1,5))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
429 " should not do anything, just beep
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
430 call assert_beeps('exe "norm! <c-k>"')
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
431 call assert_equal(map(range(1,5), 'string(v:val)'), getline(1,'$'))
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
432 call assert_beeps('normal! G2dd')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
433 call assert_beeps("normal! g\<C-A>")
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
434 call assert_beeps("normal! g\<C-X>")
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
435 call assert_beeps("normal! g\<C-B>")
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
436 call assert_beeps("normal! vQ\<Esc>")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
437 call assert_beeps("normal! 2[[")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
438 call assert_beeps("normal! 2]]")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
439 call assert_beeps("normal! 2[]")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
440 call assert_beeps("normal! 2][")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
441 call assert_beeps("normal! 4[z")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
442 call assert_beeps("normal! 4]z")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
443 call assert_beeps("normal! 4[c")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
444 call assert_beeps("normal! 4]c")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
445 call assert_beeps("normal! 200%")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
446 call assert_beeps("normal! %")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
447 call assert_beeps("normal! 2{")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
448 call assert_beeps("normal! 2}")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
449 call assert_beeps("normal! r\<Right>")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
450 call assert_beeps("normal! 8ry")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
451 call assert_beeps('normal! "@')
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
452 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
453 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
454
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
455 func Test_normal13_help()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
456 " Test for F1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
457 call assert_equal(1, winnr())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
458 call feedkeys("\<f1>", 'txi')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
459 call assert_match('help\.txt', bufname('%'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
460 call assert_equal(2, winnr('$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
461 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
462 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
463
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
464 func Test_normal14_page()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
465 " basic test for Ctrl-F and Ctrl-B
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
466 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
467 exe "norm! \<c-f>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
468 call assert_equal('9', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
469 exe "norm! 2\<c-f>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
470 call assert_equal('25', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
471 exe "norm! 2\<c-b>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
472 call assert_equal('18', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
473 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
474 set scrolloff=5
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
475 exe "norm! 2\<c-f>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
476 call assert_equal('21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
477 exe "norm! \<c-b>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
478 call assert_equal('13', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
479 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
480 set scrolloff=99
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
481 exe "norm! \<c-f>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
482 call assert_equal('13', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
483 set scrolloff=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
484 100
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
485 exe "norm! $\<c-b>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
486 call assert_equal('92', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
487 call assert_equal([0, 92, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
488 100
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
489 set nostartofline
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
490 exe "norm! $\<c-b>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
491 call assert_equal('92', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
492 call assert_equal([0, 92, 2, 0, 2147483647], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
493 " cleanup
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
494 set startofline
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
495 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
496 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
497
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
498 func Test_normal14_page_eol()
10102
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
499 10new
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
500 norm oxxxxxxx
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
501 exe "norm 2\<c-f>"
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
502 " check with valgrind that cursor is put back in column 1
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
503 exe "norm 2\<c-b>"
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
504 bw!
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
505 endfunc
b80ad55d62d8 commit https://github.com/vim/vim/commit/bc54f3f3fed4dc3556df8c46cee6739d211b0eb2
Christian Brabandt <cb@256bit.org>
parents: 10092
diff changeset
506
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
507 " Test for errors with z command
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
508 func Test_normal_z_error()
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
509 call assert_beeps('normal! z2p')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
510 call assert_beeps('normal! zp')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
511 endfunc
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
512
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
513 func Test_normal15_z_scroll_vert()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
514 " basic test for z commands that scroll the window
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
515 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
516 100
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
517 norm! >>
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
518 " Test for z<cr>
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
519 exe "norm! z\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
520 call assert_equal(' 100', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
521 call assert_equal(100, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
522 call assert_equal([0, 100, 2, 0, 9], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
523
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
524 " Test for zt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
525 21
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
526 norm! >>0zt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
527 call assert_equal(' 21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
528 call assert_equal(21, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
529 call assert_equal([0, 21, 1, 0, 8], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
530
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
531 " Test for zb
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
532 30
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
533 norm! >>$ztzb
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
534 call assert_equal(' 30', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
535 call assert_equal(30, winsaveview()['topline']+winheight(0)-1)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
536 call assert_equal([0, 30, 3, 0, 2147483647], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
537
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
538 " Test for z-
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
539 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
540 30
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
541 norm! 0z-
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
542 call assert_equal(' 30', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
543 call assert_equal(30, winsaveview()['topline']+winheight(0)-1)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
544 call assert_equal([0, 30, 2, 0, 9], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
545
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
546 " Test for z{height}<cr>
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
547 call assert_equal(10, winheight(0))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
548 exe "norm! z12\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
549 call assert_equal(12, winheight(0))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
550 exe "norm! z10\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
551 call assert_equal(10, winheight(0))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
552
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
553 " Test for z.
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
554 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
555 21
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
556 norm! 0z.
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
557 call assert_equal(' 21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
558 call assert_equal(17, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
559 call assert_equal([0, 21, 2, 0, 9], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
560
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
561 " Test for zz
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
562 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
563 21
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
564 norm! 0zz
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
565 call assert_equal(' 21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
566 call assert_equal(17, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
567 call assert_equal([0, 21, 1, 0, 8], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
568
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
569 " Test for z+
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
570 11
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
571 norm! zt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
572 norm! z+
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
573 call assert_equal(' 21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
574 call assert_equal(21, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
575 call assert_equal([0, 21, 2, 0, 9], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
576
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
577 " Test for [count]z+
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
578 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
579 norm! 21z+
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
580 call assert_equal(' 21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
581 call assert_equal(21, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
582 call assert_equal([0, 21, 2, 0, 9], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
583
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
584 " Test for z^
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
585 norm! 22z+0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
586 norm! z^
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
587 call assert_equal(' 21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
588 call assert_equal(12, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
589 call assert_equal([0, 21, 2, 0, 9], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
590
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
591 " Test for [count]z^
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
592 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
593 norm! 30z^
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
594 call assert_equal(' 21', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
595 call assert_equal(12, winsaveview()['topline'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
596 call assert_equal([0, 21, 2, 0, 9], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
597
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
598 " cleanup
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
599 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
600 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
601
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
602 func Test_normal16_z_scroll_hor()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
603 " basic test for z commands that scroll the window
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
604 10new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
605 15vsp
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
606 set nowrap listchars=
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
607 let lineA='abcdefghijklmnopqrstuvwxyz'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
608 let lineB='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
609 $put =lineA
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
610 $put =lineB
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
611 1d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
612
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
613 " Test for zl and zh with a count
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
614 norm! 0z10l
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
615 call assert_equal([11, 1], [col('.'), wincol()])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
616 norm! z4h
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
617 call assert_equal([11, 5], [col('.'), wincol()])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
618 normal! 2gg
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
619
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
620 " Test for zl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
621 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
622 norm! 5zl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
623 call assert_equal(lineA, getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
624 call assert_equal(6, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
625 call assert_equal(5, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
626 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
627 call assert_equal('f', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
628
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
629 " Test for zh
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
630 norm! 2zh
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
631 call assert_equal(lineA, getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
632 call assert_equal(6, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
633 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
634 call assert_equal('f', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
635 call assert_equal(3, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
636
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
637 " Test for zL
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
638 norm! zL
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
639 call assert_equal(11, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
640 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
641 call assert_equal('k', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
642 call assert_equal(10, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
643 norm! 2zL
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
644 call assert_equal(25, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
645 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
646 call assert_equal('y', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
647 call assert_equal(24, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
648
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
649 " Test for zH
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
650 norm! 2zH
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
651 call assert_equal(25, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
652 call assert_equal(10, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
653 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
654 call assert_equal('y', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
655
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
656 " Test for zs
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
657 norm! $zs
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
658 call assert_equal(26, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
659 call assert_equal(25, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
660 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
661 call assert_equal('z', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
662
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
663 " Test for ze
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
664 norm! ze
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
665 call assert_equal(26, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
666 call assert_equal(11, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
667 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
668 call assert_equal('z', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
669
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
670 " cleanup
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
671 set wrap listchars=eol:$
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
672 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
673 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
674
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
675 func Test_normal17_z_scroll_hor2()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
676 " basic test for z commands that scroll the window
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
677 " using 'sidescrolloff' setting
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
678 10new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
679 20vsp
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
680 set nowrap listchars= sidescrolloff=5
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
681 let lineA='abcdefghijklmnopqrstuvwxyz'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
682 let lineB='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
683 $put =lineA
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
684 $put =lineB
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
685 1d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
686
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
687 " Test for zl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
688 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
689 norm! 5zl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
690 call assert_equal(lineA, getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
691 call assert_equal(11, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
692 call assert_equal(5, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
693 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
694 call assert_equal('k', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
695
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
696 " Test for zh
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
697 norm! 2zh
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
698 call assert_equal(lineA, getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
699 call assert_equal(11, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
700 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
701 call assert_equal('k', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
702 call assert_equal(3, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
703
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
704 " Test for zL
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
705 norm! 0zL
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
706 call assert_equal(16, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
707 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
708 call assert_equal('p', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
709 call assert_equal(10, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
710 norm! 2zL
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
711 call assert_equal(26, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
712 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
713 call assert_equal('z', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
714 call assert_equal(15, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
715
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
716 " Test for zH
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
717 norm! 2zH
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
718 call assert_equal(15, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
719 call assert_equal(0, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
720 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
721 call assert_equal('o', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
722
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
723 " Test for zs
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
724 norm! $zs
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
725 call assert_equal(26, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
726 call assert_equal(20, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
727 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
728 call assert_equal('z', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
729
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
730 " Test for ze
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
731 norm! ze
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
732 call assert_equal(26, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
733 call assert_equal(11, winsaveview()['leftcol'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
734 norm! yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
735 call assert_equal('z', @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
736
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
737 " cleanup
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
738 set wrap listchars=eol:$ sidescrolloff=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
739 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
740 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
741
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
742 " Test for H, M and L commands with folds
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
743 func Test_scroll_cmds()
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
744 15new
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
745 call setline(1, range(1, 100))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
746 exe "normal! 30ggz\<CR>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
747 set foldenable
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
748 33,36fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
749 40,43fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
750 46,49fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
751 let h = winheight(0)
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
752 " Top of the screen = 30
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
753 " Folded lines = 9
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
754 " Bottom of the screen = 30 + h + 9 - 1
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
755 normal! 4L
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
756 call assert_equal(35 + h, line('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
757 normal! 4H
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
758 call assert_equal(33, line('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
759 set foldenable&
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
760 close!
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
761 endfunc
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
762
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
763 " basic tests for foldopen/folddelete
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
764 func Test_normal18_z_fold()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
765 CheckFeature folding
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
766 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
767 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
768 setl foldenable fdm=marker foldlevel=5
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
769
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
770 call assert_beeps('normal! zj')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
771 call assert_beeps('normal! zk')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
772
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
773 " Test for zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
774 " First fold
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
775 norm! 4zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
776 " check that folds have been created
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
777 call assert_equal(['50/*{{{*/', '51', '52', '53/*}}}*/'], getline(50,53))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
778
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
779 " Test for zd
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
780 51
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
781 norm! 2zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
782 call assert_equal(2, foldlevel('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
783 norm! kzd
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
784 call assert_equal(['50', '51/*{{{*/', '52/*}}}*/', '53'], getline(50,53))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
785 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
786 call assert_equal(1, foldlevel('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
787
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
788 " Test for zD
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
789 " also deletes partially selected folds recursively
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
790 51
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
791 norm! zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
792 call assert_equal(2, foldlevel('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
793 norm! kV2jzD
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
794 call assert_equal(['50', '51', '52', '53'], getline(50,53))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
795
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
796 " Test for zE
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
797 85
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
798 norm! 4zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
799 86
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
800 norm! 2zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
801 90
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
802 norm! 4zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
803 call assert_equal(['85/*{{{*/', '86/*{{{*/', '87/*}}}*/', '88/*}}}*/', '89', '90/*{{{*/', '91', '92', '93/*}}}*/'], getline(85,93))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
804 norm! zE
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
805 call assert_equal(['85', '86', '87', '88', '89', '90', '91', '92', '93'], getline(85,93))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
806
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
807 " Test for zn
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
808 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
809 set foldlevel=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
810 norm! 2zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
811 norm! zn
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
812 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
813 call assert_equal('49', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
814 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
815 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
816 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
817 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
818 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
819 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
820 call assert_equal(0, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
821
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
822 " Test for zN
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
823 49
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
824 norm! zN
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
825 call assert_equal('49', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
826 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
827 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
828 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
829 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
830 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
831
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
832 " Test for zi
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
833 norm! zi
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
834 call assert_equal(0, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
835 norm! zi
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
836 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
837 norm! zi
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
838 call assert_equal(0, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
839 norm! zi
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
840 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
841
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
842 " Test for za
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
843 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
844 norm! za
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
845 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
846 call assert_equal('49', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
847 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
848 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
849 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
850 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
851 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
852 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
853 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
854 norm! za
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
855 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
856 call assert_equal('49', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
857 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
858 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
859 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
860 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
861
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
862 49
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
863 norm! 5zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
864 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
865 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
866 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
867 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
868 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
869 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
870 49
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
871 norm! za
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
872 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
873 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
874 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
875 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
876 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
877 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
878 " close fold and set foldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
879 norm! za
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
880 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
881
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
882 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
883 " have to use {count}za to open all folds and make the cursor visible
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
884 norm! 2za
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
885 norm! 2k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
886 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
887 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
888 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
889 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
890 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
891 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
892 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
893 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
894 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
895
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
896 " Test for zA
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
897 49
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
898 set foldlevel=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
899 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
900 norm! zA
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
901 norm! 2k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
902 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
903 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
904 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
905 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
906 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
907 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
908 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
909 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
910 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
911
11327
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
912 " zA on a opened fold when foldenable is not set
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
913 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
914 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
915 norm! zA
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
916 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
917 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
918 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
919 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
920 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
921 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
922 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
923
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
924 " Test for zc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
925 norm! zE
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
926 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
927 norm! 2zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
928 49
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
929 norm! 5zF
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
930 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
931 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
932 " There most likely is a bug somewhere:
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
933 " https://groups.google.com/d/msg/vim_dev/v2EkfJ_KQjI/u-Cvv94uCAAJ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
934 " TODO: Should this only close the inner most fold or both folds?
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
935 norm! zc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
936 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
937 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
938 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
939 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
940 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
941 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
942 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
943 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
944 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
945 norm! Vjzc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
946 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
947 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
948 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
949 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
950 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
951 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
952
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
953 " Test for zC
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
954 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
955 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
956 norm! zCk
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
957 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
958 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
959 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
960 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
961 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
962
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
963 " Test for zx
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
964 " 1) close folds at line 49-54
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
965 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
966 48
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
967 norm! zx
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
968 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
969 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
970 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
971 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
972 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
973
11327
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
974 " 2) do not close fold under cursor
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
975 51
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
976 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
977 norm! zx
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
978 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
979 norm! 3k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
980 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
981 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
982 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
983 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
984 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
985 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
986 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
987 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
988 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
989 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
990 call assert_equal('53', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
991 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
992 call assert_equal('54/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
993 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
994 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
995
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
996 " 3) close one level of folds
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
997 48
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
998 set nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
999 set foldlevel=1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1000 norm! zx
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1001 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1002 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1003 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1004 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1005 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1006 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1007 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1008 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1009 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1010 call assert_equal('53', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1011 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1012 call assert_equal('54/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1013 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1014 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1015
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1016 " Test for zX
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1017 " Close all folds
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1018 set foldlevel=0 nofoldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1019 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1020 norm! zX
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1021 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1022 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1023 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1024 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1025 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1026 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1027 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1028
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1029 " Test for zm
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1030 50
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1031 set nofoldenable foldlevel=2
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1032 norm! zm
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1033 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1034 call assert_equal(1, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1035 norm! zm
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1036 call assert_equal(0, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1037 norm! zm
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1038 call assert_equal(0, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1039 norm! k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1040 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1041 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1042 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1043 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1044 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1045
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1046 " Test for zM
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1047 48
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1048 set nofoldenable foldlevel=99
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1049 norm! zM
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1050 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1051 call assert_equal(0, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1052 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1053 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1054 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1055 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1056 call assert_equal('55', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1057
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1058 " Test for zr
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1059 48
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1060 set nofoldenable foldlevel=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1061 norm! zr
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1062 call assert_equal(0, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1063 call assert_equal(1, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1064 set foldlevel=0 foldenable
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1065 norm! zr
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1066 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1067 call assert_equal(1, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1068 norm! zr
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1069 call assert_equal(2, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1070 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1071 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1072 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1073 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1074 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1075 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1076 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1077 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1078 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1079
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1080 " Test for zR
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1081 48
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1082 set nofoldenable foldlevel=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1083 norm! zR
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1084 call assert_equal(0, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1085 call assert_equal(2, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1086 set foldenable foldlevel=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1087 norm! zR
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1088 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1089 call assert_equal(2, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1090 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1091 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1092 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1093 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1094 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1095 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1096 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1097 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1098 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1099 call append(50, ['a /*{{{*/', 'b /*}}}*/'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1100 48
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1101 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1102 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1103 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1104 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1105 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1106 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1107 call assert_equal('a /*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1108 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1109 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1110 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1111 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1112 48
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1113 norm! zR
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1114 call assert_equal(1, &foldenable)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1115 call assert_equal(3, &foldlevel)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1116 call assert_equal('48', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1117 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1118 call assert_equal('49/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1119 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1120 call assert_equal('50/*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1121 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1122 call assert_equal('a /*{{{*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1123 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1124 call assert_equal('b /*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1125 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1126 call assert_equal('51/*}}}*/', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1127 norm! j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1128 call assert_equal('52', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1129
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1130 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1131 setl nofoldenable fdm=marker foldlevel=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1132 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1133 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1134
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1135 func Test_normal20_exmode()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1136 " Reading from redirected file doesn't work on MS-Windows
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1137 CheckNotMSWindows
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1138 call writefile(['1a', 'foo', 'bar', '.', 'w! Xfile2', 'q!'], 'Xscript')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1139 call writefile(['1', '2'], 'Xfile')
17698
131f1d8c5860 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
1140 call system(GetVimCommand() .. ' -e -s < Xscript Xfile')
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1141 let a=readfile('Xfile2')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1142 call assert_equal(['1', 'foo', 'bar', '2'], a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1143
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1144 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1145 for file in ['Xfile', 'Xfile2', 'Xscript']
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1146 call delete(file)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1147 endfor
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1148 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1149 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1150
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1151 func Test_normal21_nv_hat()
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1152
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1153 " Edit a fresh file and wipe the buffer list so that there is no alternate
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1154 " file present. Next, check for the expected command failures.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1155 edit Xfoo | %bw
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1156 call assert_fails(':buffer #', 'E86')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1157 call assert_fails(':execute "normal! \<C-^>"', 'E23')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1158
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1159 " Test for the expected behavior when switching between two named buffers.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1160 edit Xfoo | edit Xbar
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1161 call feedkeys("\<C-^>", 'tx')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1162 call assert_equal('Xfoo', fnamemodify(bufname('%'), ':t'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1163 call feedkeys("\<C-^>", 'tx')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1164 call assert_equal('Xbar', fnamemodify(bufname('%'), ':t'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1165
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1166 " Test for the expected behavior when only one buffer is named.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1167 enew | let l:nr = bufnr('%')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1168 call feedkeys("\<C-^>", 'tx')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1169 call assert_equal('Xbar', fnamemodify(bufname('%'), ':t'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1170 call feedkeys("\<C-^>", 'tx')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1171 call assert_equal('', bufname('%'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1172 call assert_equal(l:nr, bufnr('%'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1173
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1174 " Test that no action is taken by "<C-^>" when an operator is pending.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1175 edit Xfoo
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1176 call feedkeys("ci\<C-^>", 'tx')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1177 call assert_equal('Xfoo', fnamemodify(bufname('%'), ':t'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1178
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1179 %bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1180 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1181
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1182 func Test_normal22_zet()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1183 " Test for ZZ
10092
d7846e9fbf65 commit https://github.com/vim/vim/commit/0913a1089a07ac7b17abc3a1343dfa7cd25613f4
Christian Brabandt <cb@256bit.org>
parents: 10088
diff changeset
1184 " let shell = &shell
d7846e9fbf65 commit https://github.com/vim/vim/commit/0913a1089a07ac7b17abc3a1343dfa7cd25613f4
Christian Brabandt <cb@256bit.org>
parents: 10088
diff changeset
1185 " let &shell = 'sh'
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1186 call writefile(['1', '2'], 'Xfile')
17698
131f1d8c5860 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
1187 let args = ' -N -i NONE --noplugins -X --not-a-term'
131f1d8c5860 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
1188 call system(GetVimCommand() .. args .. ' -c "%d" -c ":norm! ZZ" Xfile')
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1189 let a = readfile('Xfile')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1190 call assert_equal([], a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1191 " Test for ZQ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1192 call writefile(['1', '2'], 'Xfile')
17698
131f1d8c5860 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
1193 call system(GetVimCommand() . args . ' -c "%d" -c ":norm! ZQ" Xfile')
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1194 let a = readfile('Xfile')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1195 call assert_equal(['1', '2'], a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1196
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1197 " Unsupported Z command
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1198 call assert_beeps('normal! ZW')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1199
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1200 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1201 for file in ['Xfile']
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1202 call delete(file)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1203 endfor
10092
d7846e9fbf65 commit https://github.com/vim/vim/commit/0913a1089a07ac7b17abc3a1343dfa7cd25613f4
Christian Brabandt <cb@256bit.org>
parents: 10088
diff changeset
1204 " let &shell = shell
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1205 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1206
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1207 func Test_normal23_K()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1208 " Test for K command
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1209 new
10330
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1210 call append(0, ['version8.txt', 'man', 'aa%bb', 'cc|dd'])
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1211 let k = &keywordprg
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1212 set keywordprg=:help
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1213 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1214 norm! VK
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1215 call assert_equal('version8.txt', fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1216 call assert_equal('help', &ft)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1217 call assert_match('\*version8.txt\*', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1218 helpclose
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1219 norm! 0K
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1220 call assert_equal('version8.txt', fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1221 call assert_equal('help', &ft)
13963
1174611ad715 Vim 8.1 release
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
1222 call assert_match('\*version8\.\d\*', getline('.'))
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1223 helpclose
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1224
10330
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1225 set keywordprg=:new
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1226 set iskeyword+=%
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1227 set iskeyword+=\|
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1228 2
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1229 norm! K
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1230 call assert_equal('man', fnamemodify(bufname('%'), ':t'))
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1231 bwipe!
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1232 3
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1233 norm! K
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1234 call assert_equal('aa%bb', fnamemodify(bufname('%'), ':t'))
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1235 bwipe!
10338
e8a6a3bbd212 commit https://github.com/vim/vim/commit/eb828d01d9c91791fa1fe217ba651cdc25746d1b
Christian Brabandt <cb@256bit.org>
parents: 10330
diff changeset
1236 if !has('win32')
e8a6a3bbd212 commit https://github.com/vim/vim/commit/eb828d01d9c91791fa1fe217ba651cdc25746d1b
Christian Brabandt <cb@256bit.org>
parents: 10330
diff changeset
1237 4
e8a6a3bbd212 commit https://github.com/vim/vim/commit/eb828d01d9c91791fa1fe217ba651cdc25746d1b
Christian Brabandt <cb@256bit.org>
parents: 10330
diff changeset
1238 norm! K
e8a6a3bbd212 commit https://github.com/vim/vim/commit/eb828d01d9c91791fa1fe217ba651cdc25746d1b
Christian Brabandt <cb@256bit.org>
parents: 10330
diff changeset
1239 call assert_equal('cc|dd', fnamemodify(bufname('%'), ':t'))
e8a6a3bbd212 commit https://github.com/vim/vim/commit/eb828d01d9c91791fa1fe217ba651cdc25746d1b
Christian Brabandt <cb@256bit.org>
parents: 10330
diff changeset
1240 bwipe!
e8a6a3bbd212 commit https://github.com/vim/vim/commit/eb828d01d9c91791fa1fe217ba651cdc25746d1b
Christian Brabandt <cb@256bit.org>
parents: 10330
diff changeset
1241 endif
10330
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1242 set iskeyword-=%
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1243 set iskeyword-=\|
71ca6a16e818 commit https://github.com/vim/vim/commit/426f3754223c8ff8a1bc51d6ba1eba11e8982ebc
Christian Brabandt <cb@256bit.org>
parents: 10166
diff changeset
1244
10092
d7846e9fbf65 commit https://github.com/vim/vim/commit/0913a1089a07ac7b17abc3a1343dfa7cd25613f4
Christian Brabandt <cb@256bit.org>
parents: 10088
diff changeset
1245 " Only expect "man" to work on Unix
d7846e9fbf65 commit https://github.com/vim/vim/commit/0913a1089a07ac7b17abc3a1343dfa7cd25613f4
Christian Brabandt <cb@256bit.org>
parents: 10088
diff changeset
1246 if !has("unix")
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1247 let &keywordprg = k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1248 bw!
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1249 return
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1250 endif
16419
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1251
18736
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18730
diff changeset
1252 let not_gnu_man = has('mac') || has('bsd')
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18730
diff changeset
1253 if not_gnu_man
18730
2faf6c331cb8 patch 8.1.2355: test with "man" fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18475
diff changeset
1254 " In MacOS and BSD, the option for specifying a pager is different
16419
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1255 set keywordprg=man\ -P\ cat
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1256 else
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1257 set keywordprg=man\ --pager=cat
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1258 endif
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1259 " Test for using man
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1260 2
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1261 let a = execute('unsilent norm! K')
18736
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18730
diff changeset
1262 if not_gnu_man
16419
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1263 call assert_match("man -P cat 'man'", a)
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1264 else
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1265 call assert_match("man --pager=cat 'man'", a)
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
1266 endif
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1267
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1268 " Error cases
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1269 call setline(1, '#$#')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1270 call assert_fails('normal! ggK', 'E349:')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1271 call setline(1, '---')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1272 call assert_fails('normal! ggv2lK', 'E349:')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1273 call setline(1, ['abc', 'xyz'])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1274 call assert_fails("normal! gg2lv2h\<C-]>", 'E426:')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1275 call assert_beeps("normal! ggVjK")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1276
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1277 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1278 let &keywordprg = k
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1279 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1280 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1281
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1282 func Test_normal24_rot13()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1283 " Testing for g?? g?g?
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1284 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1285 call append(0, 'abcdefghijklmnopqrstuvwxyzäüö')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1286 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1287 norm! g??
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1288 call assert_equal('nopqrstuvwxyzabcdefghijklmäüö', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1289 norm! g?g?
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1290 call assert_equal('abcdefghijklmnopqrstuvwxyzäüö', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1291
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1292 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1293 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1294 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1295
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1296 func Test_normal25_tag()
18767
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
1297 CheckFeature quickfix
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
1298
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1299 " Testing for CTRL-] g CTRL-] g]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1300 " CTRL-W g] CTRL-W CTRL-] CTRL-W g CTRL-]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1301 h
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1302 " Test for CTRL-]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1303 call search('\<x\>$')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1304 exe "norm! \<c-]>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1305 call assert_equal("change.txt", fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1306 norm! yiW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1307 call assert_equal("*x*", @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1308 exe ":norm \<c-o>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1309
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1310 " Test for g_CTRL-]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1311 call search('\<v_u\>$')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1312 exe "norm! g\<c-]>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1313 call assert_equal("change.txt", fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1314 norm! yiW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1315 call assert_equal("*v_u*", @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1316 exe ":norm \<c-o>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1317
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1318 " Test for g]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1319 call search('\<i_<Esc>$')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1320 let a = execute(":norm! g]")
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1321 call assert_match('i_<Esc>.*insert.txt', a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1322
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1323 if !empty(exepath('cscope')) && has('cscope')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1324 " setting cscopetag changes how g] works
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1325 set cst
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1326 exe "norm! g]"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1327 call assert_equal("insert.txt", fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1328 norm! yiW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1329 call assert_equal("*i_<Esc>*", @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1330 exe ":norm \<c-o>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1331 " Test for CTRL-W g]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1332 exe "norm! \<C-W>g]"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1333 call assert_equal("insert.txt", fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1334 norm! yiW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1335 call assert_equal("*i_<Esc>*", @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1336 call assert_equal(3, winnr('$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1337 helpclose
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1338 set nocst
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1339 endif
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1340
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1341 " Test for CTRL-W g]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1342 let a = execute("norm! \<C-W>g]")
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1343 call assert_match('i_<Esc>.*insert.txt', a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1344
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1345 " Test for CTRL-W CTRL-]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1346 exe "norm! \<C-W>\<C-]>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1347 call assert_equal("insert.txt", fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1348 norm! yiW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1349 call assert_equal("*i_<Esc>*", @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1350 call assert_equal(3, winnr('$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1351 helpclose
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1352
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1353 " Test for CTRL-W g CTRL-]
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1354 exe "norm! \<C-W>g\<C-]>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1355 call assert_equal("insert.txt", fnamemodify(bufname('%'), ':t'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1356 norm! yiW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1357 call assert_equal("*i_<Esc>*", @0)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1358 call assert_equal(3, winnr('$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1359 helpclose
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1360
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1361 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1362 helpclose
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1363 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1364
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1365 func Test_normal26_put()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1366 " Test for ]p ]P [p and [P
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1367 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1368 call append(0, ['while read LINE', 'do', ' ((count++))', ' if [ $? -ne 0 ]; then', " echo 'Error writing file'", ' fi', 'done'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1369 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1370 /Error/y a
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1371 2
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1372 norm! "a]pj"a[p
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1373 call assert_equal(['do', "echo 'Error writing file'", " echo 'Error writing file'", ' ((count++))'], getline(2,5))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1374 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1375 /^\s\{4}/
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1376 exe "norm! \"a]P3Eldt'"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1377 exe "norm! j\"a[P2Eldt'"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1378 call assert_equal([' if [ $? -ne 0 ]; then', " echo 'Error writing'", " echo 'Error'", " echo 'Error writing file'", ' fi'], getline(6,10))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1379
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1380 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1381 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1382 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1383
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1384 func Test_normal27_bracket()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1385 " Test for [' [` ]' ]`
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1386 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1387 1,21s/.\+/ & b/
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1388 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1389 norm! $ma
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1390 5
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1391 norm! $mb
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1392 10
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1393 norm! $mc
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1394 15
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1395 norm! $md
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1396 20
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1397 norm! $me
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1398
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1399 " Test for ['
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1400 9
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1401 norm! 2['
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1402 call assert_equal(' 1 b', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1403 call assert_equal(1, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1404 call assert_equal(3, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1405
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1406 " Test for ]'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1407 norm! ]'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1408 call assert_equal(' 5 b', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1409 call assert_equal(5, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1410 call assert_equal(3, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1411
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1412 " No mark after line 21, cursor moves to first non blank on current line
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1413 21
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1414 norm! $]'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1415 call assert_equal(' 21 b', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1416 call assert_equal(21, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1417 call assert_equal(3, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1418
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1419 " Test for [`
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1420 norm! 2[`
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1421 call assert_equal(' 15 b', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1422 call assert_equal(15, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1423 call assert_equal(8, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1424
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1425 " Test for ]`
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1426 norm! ]`
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1427 call assert_equal(' 20 b', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1428 call assert_equal(20, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1429 call assert_equal(8, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1430
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1431 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1432 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1433 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1434
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1435 " Test for ( and ) sentence movements
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1436 func Test_normal28_parenthesis()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1437 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1438 call append(0, ['This is a test. With some sentences!', '', 'Even with a question? And one more. And no sentence here'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1439
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1440 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1441 norm! d(
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1442 call assert_equal(['This is a test. With some sentences!', '', 'Even with a question? And one more. ', ''], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1443 norm! 2d(
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1444 call assert_equal(['This is a test. With some sentences!', '', ' ', ''], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1445 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1446 norm! 0d)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1447 call assert_equal(['With some sentences!', '', ' ', ''], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1448
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1449 call append('$', ['This is a long sentence', '', 'spanning', 'over several lines. '])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1450 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1451 norm! $d(
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1452 call assert_equal(['With some sentences!', '', ' ', '', 'This is a long sentence', ''], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1453
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1454 " It is an error if a next sentence is not found
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1455 %d
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1456 call setline(1, '.SH')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1457 call assert_beeps('normal )')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1458
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1459 " Jumping to a fold should open the fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1460 call setline(1, ['', '', 'one', 'two', 'three'])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1461 set foldenable
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1462 2,$fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1463 call feedkeys(')', 'xt')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1464 call assert_equal(3, line('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1465 call assert_equal(1, foldlevel('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1466 call assert_equal(-1, foldclosed('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1467 set foldenable&
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1468
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1469 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1470 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1471 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1472
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1473 " Test for { and } paragraph movements
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1474 func Test_normal29_brace()
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1475 let text =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1476 A paragraph begins after each empty line, and also at each of a set of
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1477 paragraph macros, specified by the pairs of characters in the 'paragraphs'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1478 option. The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp", which corresponds to
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1479 the macros ".IP", ".LP", etc. (These are nroff macros, so the dot must be in
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1480 the first column). A section boundary is also a paragraph boundary.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1481 Note that a blank line (only containing white space) is NOT a paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1482 boundary.
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1483
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1484
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1485 Also note that this does not include a '{' or '}' in the first column. When
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1486 the '{' flag is in 'cpoptions' then '{' in the first column is used as a
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1487 paragraph boundary |posix|.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1488 {
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1489 This is no paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1490 unless the '{' is set
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1491 in 'cpoptions'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1492 }
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1493 .IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1494 The nroff macros IP separates a paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1495 That means, it must be a '.'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1496 followed by IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1497 .LPIt does not matter, if afterwards some
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1498 more characters follow.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1499 .SHAlso section boundaries from the nroff
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1500 macros terminate a paragraph. That means
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1501 a character like this:
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1502 .NH
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1503 End of text here
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1504 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1505
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1506 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1507 call append(0, text)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1508 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1509 norm! 0d2}
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1510
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1511 let expected =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1512 .IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1513 The nroff macros IP separates a paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1514 That means, it must be a '.'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1515 followed by IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1516 .LPIt does not matter, if afterwards some
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1517 more characters follow.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1518 .SHAlso section boundaries from the nroff
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1519 macros terminate a paragraph. That means
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1520 a character like this:
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1521 .NH
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1522 End of text here
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1523
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1524 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1525 call assert_equal(expected, getline(1, '$'))
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1526
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1527 norm! 0d}
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1528
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1529 let expected =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1530 .LPIt does not matter, if afterwards some
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1531 more characters follow.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1532 .SHAlso section boundaries from the nroff
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1533 macros terminate a paragraph. That means
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1534 a character like this:
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1535 .NH
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1536 End of text here
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1537
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1538 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1539 call assert_equal(expected, getline(1, '$'))
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1540
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1541 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1542 norm! d{
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1543
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1544 let expected =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1545 .LPIt does not matter, if afterwards some
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1546 more characters follow.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1547 .SHAlso section boundaries from the nroff
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1548 macros terminate a paragraph. That means
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1549 a character like this:
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1550
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1551 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1552 call assert_equal(expected, getline(1, '$'))
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1553
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1554 norm! d{
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1555
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1556 let expected =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1557 .LPIt does not matter, if afterwards some
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1558 more characters follow.
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1559
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1560 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1561 call assert_equal(expected, getline(1, '$'))
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1562
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1563 " Test with { in cpooptions
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1564 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1565 call append(0, text)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1566 set cpo+={
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1567 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1568 norm! 0d2}
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1569
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1570 let expected =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1571 {
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1572 This is no paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1573 unless the '{' is set
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1574 in 'cpoptions'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1575 }
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1576 .IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1577 The nroff macros IP separates a paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1578 That means, it must be a '.'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1579 followed by IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1580 .LPIt does not matter, if afterwards some
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1581 more characters follow.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1582 .SHAlso section boundaries from the nroff
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1583 macros terminate a paragraph. That means
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1584 a character like this:
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1585 .NH
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1586 End of text here
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1587
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1588 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1589 call assert_equal(expected, getline(1, '$'))
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1590
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1591 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1592 norm! d}
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1593
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1594 let expected =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1595 {
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1596 This is no paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1597 unless the '{' is set
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1598 in 'cpoptions'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1599 }
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1600 .IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1601 The nroff macros IP separates a paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1602 That means, it must be a '.'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1603 followed by IP
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1604 .LPIt does not matter, if afterwards some
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1605 more characters follow.
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1606 .SHAlso section boundaries from the nroff
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1607 macros terminate a paragraph. That means
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1608 a character like this:
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1609 .NH
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1610 End of text here
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1611
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1612 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1613 call assert_equal(expected, getline(1, '$'))
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1614
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1615 norm! gg}
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1616 norm! d5}
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1617
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1618 let expected =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1619 {
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1620 This is no paragraph
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1621 unless the '{' is set
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1622 in 'cpoptions'
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 16720
diff changeset
1623 }
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1624
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1625 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16419
diff changeset
1626 call assert_equal(expected, getline(1, '$'))
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1627
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1628 " Jumping to a fold should open the fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1629 %d
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1630 call setline(1, ['', 'one', 'two', ''])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1631 set foldenable
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1632 2,$fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1633 call feedkeys('}', 'xt')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1634 call assert_equal(4, line('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1635 call assert_equal(1, foldlevel('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1636 call assert_equal(-1, foldclosed('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1637 set foldenable&
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1638
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1639 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1640 set cpo-={
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1641 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1642 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1643
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1644 " Test for ~ command
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1645 func Test_normal30_changecase()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1646 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1647 call append(0, 'This is a simple test: äüöß')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1648 norm! 1ggVu
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1649 call assert_equal('this is a simple test: äüöß', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1650 norm! VU
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1651 call assert_equal('THIS IS A SIMPLE TEST: ÄÜÖSS', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1652 norm! guu
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1653 call assert_equal('this is a simple test: äüöss', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1654 norm! gUgU
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1655 call assert_equal('THIS IS A SIMPLE TEST: ÄÜÖSS', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1656 norm! gugu
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1657 call assert_equal('this is a simple test: äüöss', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1658 norm! gUU
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1659 call assert_equal('THIS IS A SIMPLE TEST: ÄÜÖSS', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1660 norm! 010~
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1661 call assert_equal('this is a SIMPLE TEST: ÄÜÖSS', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1662 norm! V~
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1663 call assert_equal('THIS IS A simple test: äüöss', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1664
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1665 " Test for changing case across lines using 'whichwrap'
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1666 call setline(1, ['aaaaaa', 'aaaaaa'])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1667 normal! gg10~
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1668 call assert_equal(['AAAAAA', 'aaaaaa'], getline(1, 2))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1669 set whichwrap+=~
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1670 normal! gg10~
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1671 call assert_equal(['aaaaaa', 'AAAAaa'], getline(1, 2))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1672 set whichwrap&
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1673
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1674 " clean up
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1675 bw!
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1676 endfunc
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1677
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1678 " Turkish ASCII turns to multi-byte. On some systems Turkish locale
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1679 " is available but toupper()/tolower() don't do the right thing.
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1680 func Test_normal_changecase_turkish()
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1681 new
14669
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1682 try
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1683 lang tr_TR.UTF-8
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1684 set casemap=
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1685 let iupper = toupper('i')
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1686 if iupper == "\u0130"
11335
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1687 call setline(1, 'iI')
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1688 1normal gUU
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1689 call assert_equal("\u0130I", getline(1))
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1690 call assert_equal("\u0130I", toupper("iI"))
11333
fef09eb74832 patch 8.0.0552: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11327
diff changeset
1691
11335
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1692 call setline(1, 'iI')
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1693 1normal guu
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1694 call assert_equal("i\u0131", getline(1))
bc8e3fd275be patch 8.0.0553: toupper/tolower test fails on Mac
Christian Brabandt <cb@256bit.org>
parents: 11333
diff changeset
1695 call assert_equal("i\u0131", tolower("iI"))
14669
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1696 elseif iupper == "I"
11337
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1697 call setline(1, 'iI')
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1698 1normal gUU
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1699 call assert_equal("II", getline(1))
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1700 call assert_equal("II", toupper("iI"))
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1701
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1702 call setline(1, 'iI')
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1703 1normal guu
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1704 call assert_equal("ii", getline(1))
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1705 call assert_equal("ii", tolower("iI"))
14669
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1706 else
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1707 call assert_true(false, "expected toupper('i') to be either 'I' or '\u0130'")
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1708 endif
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1709 set casemap&
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1710 call setline(1, 'iI')
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1711 1normal gUU
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1712 call assert_equal("II", getline(1))
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1713 call assert_equal("II", toupper("iI"))
11337
f0fbebf19b80 patch 8.0.0554: toupper and tolower don't work properly for Turkish
Christian Brabandt <cb@256bit.org>
parents: 11335
diff changeset
1714
14669
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1715 call setline(1, 'iI')
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1716 1normal guu
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1717 call assert_equal("ii", getline(1))
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1718 call assert_equal("ii", tolower("iI"))
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1719
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1720 lang en_US.UTF-8
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1721 catch /E197:/
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1722 " can't use Turkish locale
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1723 throw 'Skipped: Turkish locale not available'
63d5ae57a663 patch 8.1.0347: some tests fail on Solaris
Christian Brabandt <cb@256bit.org>
parents: 14627
diff changeset
1724 endtry
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1725 close!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1726 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1727
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1728 " Test for r (replace) command
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1729 func Test_normal31_r_cmd()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1730 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1731 call append(0, 'This is a simple test: abcd')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1732 exe "norm! 1gg$r\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1733 call assert_equal(['This is a simple test: abc', '', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1734 exe "norm! 1gg2wlr\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1735 call assert_equal(['This is a', 'simple test: abc', '', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1736 exe "norm! 2gg0W5r\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1737 call assert_equal(['This is a', 'simple ', ' abc', '', ''], getline('1', '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1738 set autoindent
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1739 call setline(2, ['simple test: abc', ''])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1740 exe "norm! 2gg0W5r\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1741 call assert_equal(['This is a', 'simple ', 'abc', '', '', ''], getline('1', '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1742 exe "norm! 1ggVr\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1743 call assert_equal('^M^M^M^M^M^M^M^M^M', strtrans(getline(1)))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1744 call setline(1, 'This is a')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1745 exe "norm! 1gg05rf"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1746 call assert_equal('fffffis a', getline(1))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1747
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1748 " When replacing characters, copy characters from above and below lines
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1749 " using CTRL-Y and CTRL-E.
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1750 " Different code paths are used for utf-8 and latin1 encodings
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1751 set showmatch
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1752 for enc in ['latin1', 'utf-8']
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1753 enew!
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1754 let &encoding = enc
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1755 call setline(1, [' {a}', 'xxxxxxxxxx', ' [b]'])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1756 exe "norm! 2gg5r\<C-Y>l5r\<C-E>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1757 call assert_equal(' {a}x [b]x', getline(2))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1758 endfor
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1759 set showmatch&
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1760
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1761 " r command should fail in operator pending mode
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1762 call assert_beeps('normal! cr')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1763
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1764 " replace a tab character in visual mode
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1765 %d
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1766 call setline(1, ["a\tb", "c\td", "e\tf"])
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1767 normal gglvjjrx
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1768 call assert_equal(['axx', 'xxx', 'xxf'], getline(1, '$'))
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1769
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1770 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1771 set noautoindent
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1772 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1773 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1774
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1775 " Test for g*, g#
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1776 func Test_normal32_g_cmd1()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1777 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1778 call append(0, ['abc.x_foo', 'x_foobar.abc'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1779 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1780 norm! $g*
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1781 call assert_equal('x_foo', @/)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1782 call assert_equal('x_foobar.abc', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1783 norm! $g#
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1784 call assert_equal('abc', @/)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1785 call assert_equal('abc.x_foo', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1786
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1787 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1788 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1789 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1790
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1791 " Test for g`, g;, g,, g&, gv, gk, gj, gJ, g0, g^, g_, gm, g$, gM, g CTRL-G,
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1792 " gi and gI commands
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1793 func Test_normal33_g_cmd2()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1794 CheckFeature jumplist
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1795 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1796 " Test for g`
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1797 clearjumps
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1798 norm! ma10j
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1799 let a=execute(':jumps')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1800 " empty jumplist
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1801 call assert_equal('>', a[-1:])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1802 norm! g`a
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1803 call assert_equal('>', a[-1:])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1804 call assert_equal(1, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1805 call assert_equal('1', getline('.'))
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1806 call cursor(10, 1)
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1807 norm! g'a
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1808 call assert_equal('>', a[-1:])
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1809 call assert_equal(1, line('.'))
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1810
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1811 " Test for g; and g,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1812 norm! g;
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1813 " there is only one change in the changelist
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1814 " currently, when we setup the window
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1815 call assert_equal(2, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1816 call assert_fails(':norm! g;', 'E662')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1817 call assert_fails(':norm! g,', 'E663')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1818 let &ul=&ul
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1819 call append('$', ['a', 'b', 'c', 'd'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1820 let &ul=&ul
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1821 call append('$', ['Z', 'Y', 'X', 'W'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1822 let a = execute(':changes')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1823 call assert_match('2\s\+0\s\+2', a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1824 call assert_match('101\s\+0\s\+a', a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1825 call assert_match('105\s\+0\s\+Z', a)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1826 norm! 3g;
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1827 call assert_equal(2, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1828 norm! 2g,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1829 call assert_equal(105, line('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1830
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1831 " Test for g& - global substitute
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1832 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1833 call setline(1, range(1,10))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1834 call append('$', ['a', 'b', 'c', 'd'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1835 $s/\w/&&/g
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1836 exe "norm! /[1-8]\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1837 norm! g&
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1838 call assert_equal(['11', '22', '33', '44', '55', '66', '77', '88', '9', '110', 'a', 'b', 'c', 'dd'], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1839
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1840 " Jumping to a fold using gg should open the fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1841 set foldenable
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1842 set foldopen+=jump
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1843 5,8fold
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1844 call feedkeys('6gg', 'xt')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1845 call assert_equal(1, foldlevel('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1846 call assert_equal(-1, foldclosed('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1847 set foldopen-=jump
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1848 set foldenable&
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1849
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1850 " Test for gv
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1851 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1852 call append('$', repeat(['abcdefgh'], 8))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1853 exe "norm! 2gg02l\<c-v>2j2ly"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1854 call assert_equal(['cde', 'cde', 'cde'], getreg(0, 1, 1))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1855 " in visual mode, gv swaps current and last selected region
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1856 exe "norm! G0\<c-v>4k4lgvd"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1857 call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'abcdefgh', 'abcdefgh', 'abcdefgh', 'abcdefgh', 'abcdefgh'], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1858 exe "norm! G0\<c-v>4k4ly"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1859 exe "norm! gvood"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1860 call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'fgh', 'fgh', 'fgh', 'fgh', 'fgh'], getline(1,'$'))
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1861 " gv cannot be used in operator pending mode
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1862 call assert_beeps('normal! cgv')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1863 " gv should beep without a previously selected visual area
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1864 new
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1865 call assert_beeps('normal! gv')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1866 close
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1867
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1868 " Test for gk/gj
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1869 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1870 15vsp
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1871 set wrap listchars= sbr=
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1872 let lineA='abcdefghijklmnopqrstuvwxyz'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1873 let lineB='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
18475
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1874 let lineC='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1875 $put =lineA
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1876 $put =lineB
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1877
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1878 norm! 3gg0dgk
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1879 call assert_equal(['', 'abcdefghijklmno', '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1880 set nu
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1881 norm! 3gg0gjdgj
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1882 call assert_equal(['', 'abcdefghijklmno', '0123456789AMNOPQRSTUVWXYZ'], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1883
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1884 " Test for gJ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1885 norm! 2gggJ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1886 call assert_equal(['', 'abcdefghijklmno0123456789AMNOPQRSTUVWXYZ'], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1887 call assert_equal(16, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1888 " shouldn't do anything
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1889 norm! 10gJ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1890 call assert_equal(1, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1891
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1892 " Test for g0 g^ gm g$
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1893 exe "norm! 2gg0gji "
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1894 call assert_equal(['', 'abcdefghijk lmno0123456789AMNOPQRSTUVWXYZ'], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1895 norm! g0yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1896 call assert_equal(12, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1897 call assert_equal(' ', getreg(0))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1898 norm! g$yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1899 call assert_equal(22, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1900 call assert_equal('3', getreg(0))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1901 norm! gmyl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1902 call assert_equal(17, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1903 call assert_equal('n', getreg(0))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1904 norm! g^yl
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1905 call assert_equal(15, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1906 call assert_equal('l', getreg(0))
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1907 call assert_beeps('normal 5g$')
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1908
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1909 " Test for g_
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1910 call assert_beeps('normal! 100g_')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1911 call setline(2, [' foo ', ' foobar '])
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1912 normal! 2ggg_
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1913 call assert_equal(5, col('.'))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1914 normal! 2g_
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1915 call assert_equal(8, col('.'))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1916
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1917 norm! 2ggdG
18475
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1918 $put =lineC
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1919
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1920 " Test for gM
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1921 norm! gMyl
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1922 call assert_equal(73, col('.'))
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1923 call assert_equal('0', getreg(0))
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1924 " Test for 20gM
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1925 norm! 20gMyl
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1926 call assert_equal(29, col('.'))
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1927 call assert_equal('S', getreg(0))
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1928 " Test for 60gM
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1929 norm! 60gMyl
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1930 call assert_equal(87, col('.'))
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1931 call assert_equal('E', getreg(0))
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1932
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1933 " Test for g Ctrl-G
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1934 set ff=unix
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1935 let a=execute(":norm! g\<c-g>")
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1936 call assert_match('Col 87 of 144; Line 2 of 2; Word 1 of 1; Byte 88 of 146', a)
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1937
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1938 " Test for gI
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1939 norm! gIfoo
18475
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 18473
diff changeset
1940 call assert_equal(['', 'foo0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'], getline(1,'$'))
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1941
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1942 " Test for gi
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1943 wincmd c
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1944 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1945 set tw=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1946 call setline(1, ['foobar', 'new line'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1947 norm! A next word
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1948 $put ='third line'
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1949 norm! gi another word
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1950 call assert_equal(['foobar next word another word', 'new line', 'third line'], getline(1,'$'))
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1951 call setline(1, 'foobar')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1952 normal! Ggifirst line
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1953 call assert_equal('foobarfirst line', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1954 " Test gi in 'virtualedit' mode with cursor after the end of the line
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1955 set virtualedit=all
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1956 call setline(1, 'foo')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1957 exe "normal! Abar\<Right>\<Right>\<Right>\<Right>"
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1958 call setline(1, 'foo')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1959 normal! Ggifirst line
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1960 call assert_equal('foo first line', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1961 set virtualedit&
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1962
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1963 " Test for aboring a g command using CTRL-\ CTRL-G
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1964 exe "normal! g\<C-\>\<C-G>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1965 call assert_equal('foo first line', getline('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1966
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1967 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1968 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
1969 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1970
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
1971 " Test for g CTRL-G
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
1972 func Test_g_ctrl_g()
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1973 new
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1974
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1975 let a = execute(":norm! g\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1976 call assert_equal("\n--No lines in buffer--", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1977
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1978 " Test for CTRL-G (same as :file)
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1979 let a = execute(":norm! \<c-g>")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1980 call assert_equal("\n\n\"[No Name]\" --No lines in buffer--", a)
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
1981
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1982 call setline(1, ['first line', 'second line'])
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1983
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1984 " Test g CTRL-g with dos, mac and unix file type.
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1985 norm! gojll
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1986 set ff=dos
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1987 let a = execute(":norm! g\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1988 call assert_equal("\nCol 3 of 11; Line 2 of 2; Word 3 of 4; Byte 15 of 25", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1989
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1990 set ff=mac
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1991 let a = execute(":norm! g\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1992 call assert_equal("\nCol 3 of 11; Line 2 of 2; Word 3 of 4; Byte 14 of 23", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1993
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1994 set ff=unix
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1995 let a = execute(":norm! g\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1996 call assert_equal("\nCol 3 of 11; Line 2 of 2; Word 3 of 4; Byte 14 of 23", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1997
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1998 " Test g CTRL-g in visual mode (v)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1999 let a = execute(":norm! gojllvlg\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2000 call assert_equal("\nSelected 1 of 2 Lines; 1 of 4 Words; 2 of 23 Bytes", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2001
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2002 " Test g CTRL-g in visual mode (CTRL-V) with end col > start col
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2003 let a = execute(":norm! \<Esc>gojll\<C-V>kllg\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2004 call assert_equal("\nSelected 3 Cols; 2 of 2 Lines; 2 of 4 Words; 6 of 23 Bytes", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2005
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2006 " Test g_CTRL-g in visual mode (CTRL-V) with end col < start col
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2007 let a = execute(":norm! \<Esc>goll\<C-V>jhhg\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2008 call assert_equal("\nSelected 3 Cols; 2 of 2 Lines; 2 of 4 Words; 6 of 23 Bytes", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2009
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2010 " Test g CTRL-g in visual mode (CTRL-V) with end_vcol being MAXCOL
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2011 let a = execute(":norm! \<Esc>gojll\<C-V>k$g\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2012 call assert_equal("\nSelected 2 of 2 Lines; 4 of 4 Words; 17 of 23 Bytes", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2013
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2014 " There should be one byte less with noeol
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2015 set bin noeol
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2016 let a = execute(":norm! \<Esc>gog\<c-g>")
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2017 call assert_equal("\nCol 1 of 10; Line 1 of 2; Word 1 of 4; Char 1 of 23; Byte 1 of 22", a)
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2018 set bin & eol&
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2019
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2020 call setline(1, ['Français', '日本語'])
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2021
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2022 let a = execute(":norm! \<Esc>gojlg\<c-g>")
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2023 call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20", a)
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2024
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2025 let a = execute(":norm! \<Esc>gojvlg\<c-g>")
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2026 call assert_equal("\nSelected 1 of 2 Lines; 1 of 2 Words; 2 of 13 Chars; 6 of 20 Bytes", a)
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2027
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2028 let a = execute(":norm! \<Esc>goll\<c-v>jlg\<c-g>")
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2029 call assert_equal("\nSelected 4 Cols; 2 of 2 Lines; 2 of 2 Words; 6 of 13 Chars; 11 of 20 Bytes", a)
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2030
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2031 set fenc=utf8 bomb
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2032 let a = execute(":norm! \<Esc>gojlg\<c-g>")
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2033 call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+3 for BOM)", a)
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2034
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2035 set fenc=utf16 bomb
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2036 let a = execute(":norm! g\<c-g>")
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2037 call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+2 for BOM)", a)
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2038
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2039 set fenc=utf32 bomb
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2040 let a = execute(":norm! g\<c-g>")
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2041 call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+4 for BOM)", a)
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2042
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2043 set fenc& bomb&
14627
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2044
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2045 set ff&
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2046 bwipe!
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2047 endfunc
335f32c55ac3 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
2048
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2049 " Test for g8
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2050 func Test_normal34_g_cmd3()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2051 new
11327
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2052 let a=execute(':norm! 1G0g8')
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2053 call assert_equal("\nNUL", a)
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2054
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2055 call setline(1, 'abcdefghijklmnopqrstuvwxyzäüö')
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2056 let a=execute(':norm! 1G$g8')
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2057 call assert_equal("\nc3 b6 ", a)
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2058
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2059 call setline(1, "a\u0302")
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2060 let a=execute(':norm! 1G0g8')
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2061 call assert_equal("\n61 + cc 82 ", a)
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2062
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2063 " clean up
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2064 bw!
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2065 endfunc
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2066
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2067 " Test 8g8 which finds invalid utf8 at or after the cursor.
11327
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2068 func Test_normal_8g8()
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2069 new
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2070
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2071 " With invalid byte.
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2072 call setline(1, "___\xff___")
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2073 norm! 1G08g8g
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2074 call assert_equal([0, 1, 4, 0, 1], getcurpos())
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2075
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2076 " With invalid byte before the cursor.
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2077 call setline(1, "___\xff___")
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2078 norm! 1G$h8g8g
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2079 call assert_equal([0, 1, 6, 0, 9], getcurpos())
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2080
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2081 " With truncated sequence.
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2082 call setline(1, "___\xE2\x82___")
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2083 norm! 1G08g8g
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2084 call assert_equal([0, 1, 4, 0, 1], getcurpos())
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2085
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2086 " With overlong sequence.
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2087 call setline(1, "___\xF0\x82\x82\xAC___")
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2088 norm! 1G08g8g
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2089 call assert_equal([0, 1, 4, 0, 1], getcurpos())
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2090
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2091 " With valid utf8.
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2092 call setline(1, "café")
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2093 norm! 1G08g8
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2094 call assert_equal([0, 1, 1, 0, 1], getcurpos())
9e899514e929 patch 8.0.0549: no test for the 8g8 command
Christian Brabandt <cb@256bit.org>
parents: 11275
diff changeset
2095
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2096 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2097 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2098
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2099 " Test for g<
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2100 func Test_normal35_g_cmd4()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2101 " Cannot capture its output,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2102 " probably a bug, therefore, test disabled:
10124
f6942ed9e998 commit https://github.com/vim/vim/commit/31845093b7f1b33e0c7e9e592bef65528674a1f2
Christian Brabandt <cb@256bit.org>
parents: 10104
diff changeset
2103 throw "Skipped: output of g< can't be tested currently"
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2104 echo "a\nb\nc\nd"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2105 let b=execute(':norm! g<')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2106 call assert_true(!empty(b), 'failed `execute(g<)`')
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2107 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2108
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2109 " Test for gp gP go
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2110 func Test_normal36_g_cmd5()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2111 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2112 call append(0, 'abcdefghijklmnopqrstuvwxyz')
10092
d7846e9fbf65 commit https://github.com/vim/vim/commit/0913a1089a07ac7b17abc3a1343dfa7cd25613f4
Christian Brabandt <cb@256bit.org>
parents: 10088
diff changeset
2113 set ff=unix
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2114 " Test for gp gP
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2115 call append(1, range(1,10))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2116 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2117 norm! 1yy
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2118 3
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2119 norm! gp
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2120 call assert_equal([0, 5, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2121 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2122 norm! gP
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2123 call assert_equal([0, 14, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2124
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2125 " Test for go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2126 norm! 26go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2127 call assert_equal([0, 1, 26, 0, 26], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2128 norm! 27go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2129 call assert_equal([0, 1, 26, 0, 26], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2130 norm! 28go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2131 call assert_equal([0, 2, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2132 set ff=dos
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2133 norm! 29go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2134 call assert_equal([0, 2, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2135 set ff=unix
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2136 norm! gg0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2137 norm! 101go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2138 call assert_equal([0, 13, 26, 0, 26], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2139 norm! 103go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2140 call assert_equal([0, 14, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2141 " count > buffer content
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2142 norm! 120go
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2143 call assert_equal([0, 14, 1, 0, 2147483647], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2144 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2145 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2146 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2147
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2148 " Test for gt and gT
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2149 func Test_normal37_g_cmd6()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2150 tabnew 1.txt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2151 tabnew 2.txt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2152 tabnew 3.txt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2153 norm! 1gt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2154 call assert_equal(1, tabpagenr())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2155 norm! 3gt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2156 call assert_equal(3, tabpagenr())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2157 norm! 1gT
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2158 " count gT goes not to the absolute tabpagenumber
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2159 " but, but goes to the count previous tabpagenumber
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2160 call assert_equal(2, tabpagenr())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2161 " wrap around
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2162 norm! 3gT
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2163 call assert_equal(3, tabpagenr())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2164 " gt does not wrap around
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2165 norm! 5gt
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2166 call assert_equal(3, tabpagenr())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2167
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2168 for i in range(3)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2169 tabclose
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2170 endfor
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2171 " clean up
19425
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
2172 call assert_fails(':tabclose', 'E784:')
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2173 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2174
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2175 " Test for <Home> and <C-Home> key
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2176 func Test_normal38_nvhome()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2177 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2178 call setline(1, range(10))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2179 $
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2180 setl et sw=2
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2181 norm! V10>$
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2182 " count is ignored
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2183 exe "norm! 10\<home>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2184 call assert_equal(1, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2185 exe "norm! \<home>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2186 call assert_equal([0, 10, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2187 exe "norm! 5\<c-home>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2188 call assert_equal([0, 5, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2189 exe "norm! \<c-home>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2190 call assert_equal([0, 1, 1, 0, 1], getcurpos())
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2191 exe "norm! G\<c-kHome>"
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2192 call assert_equal([0, 1, 1, 0, 1], getcurpos())
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2193
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2194 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2195 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2196 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2197
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2198 " Test for <End> and <C-End> keys
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2199 func Test_normal_nvend()
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2200 new
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2201 call setline(1, map(range(1, 10), '"line" .. v:val'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2202 exe "normal! \<End>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2203 call assert_equal(5, col('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2204 exe "normal! 4\<End>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2205 call assert_equal([4, 5], [line('.'), col('.')])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2206 exe "normal! \<C-End>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2207 call assert_equal([10, 6], [line('.'), col('.')])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2208 close!
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2209 endfunc
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2210
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2211 " Test for cw cW ce
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2212 func Test_normal39_cw()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2213 " Test for cw and cW on whitespace
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2214 " and cpo+=w setting
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2215 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2216 set tw=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2217 call append(0, 'here are some words')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2218 norm! 1gg0elcwZZZ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2219 call assert_equal('hereZZZare some words', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2220 norm! 1gg0elcWYYY
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2221 call assert_equal('hereZZZareYYYsome words', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2222 set cpo+=w
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2223 call setline(1, 'here are some words')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2224 norm! 1gg0elcwZZZ
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2225 call assert_equal('hereZZZ are some words', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2226 norm! 1gg2elcWYYY
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2227 call assert_equal('hereZZZ areYYY some words', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2228 set cpo-=w
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2229 norm! 2gg0cwfoo
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2230 call assert_equal('foo', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2231
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2232 call setline(1, 'one; two')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2233 call cursor(1, 1)
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2234 call feedkeys('cwvim', 'xt')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2235 call assert_equal('vim; two', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2236 call feedkeys('0cWone', 'xt')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2237 call assert_equal('one two', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2238 "When cursor is at the end of a word 'ce' will change until the end of the
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2239 "next word, but 'cw' will change only one character
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2240 call setline(1, 'one two')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2241 call feedkeys('0ecwce', 'xt')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2242 call assert_equal('once two', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2243 call setline(1, 'one two')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2244 call feedkeys('0ecely', 'xt')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2245 call assert_equal('only', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2246
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2247 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2248 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2249 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2250
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2251 " Test for CTRL-\ commands
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2252 func Test_normal40_ctrl_bsl()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2253 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2254 call append(0, 'here are some words')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2255 exe "norm! 1gg0a\<C-\>\<C-N>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2256 call assert_equal('n', mode())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2257 call assert_equal(1, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2258 call assert_equal('', visualmode())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2259 exe "norm! 1gg0viw\<C-\>\<C-N>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2260 call assert_equal('n', mode())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2261 call assert_equal(4, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2262 exe "norm! 1gg0a\<C-\>\<C-G>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2263 call assert_equal('n', mode())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2264 call assert_equal(1, col('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2265 "imap <buffer> , <c-\><c-n>
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2266 set im
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2267 exe ":norm! \<c-\>\<c-n>dw"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2268 set noim
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2269 call assert_equal('are some words', getline(1))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2270 call assert_false(&insertmode)
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2271 call assert_beeps("normal! \<C-\>\<C-A>", 'xt')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2272
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2273 " Using CTRL-\ CTRL-N in cmd window should close the window
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2274 call feedkeys("q:\<C-\>\<C-N>", 'xt')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2275 call assert_equal('', getcmdwintype())
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2276
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2277 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2278 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2279 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2280
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2281 " Test for <c-r>=, <c-r><c-r>= and <c-r><c-o>= in insert mode
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2282 func Test_normal41_insert_reg()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2283 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2284 set sts=2 sw=2 ts=8 tw=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2285 call append(0, ["aaa\tbbb\tccc", '', '', ''])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2286 let a=getline(1)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2287 norm! 2gg0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2288 exe "norm! a\<c-r>=a\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2289 norm! 3gg0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2290 exe "norm! a\<c-r>\<c-r>=a\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2291 norm! 4gg0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2292 exe "norm! a\<c-r>\<c-o>=a\<cr>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2293 call assert_equal(['aaa bbb ccc', 'aaa bbb ccc', 'aaa bbb ccc', 'aaa bbb ccc', ''], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2294
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2295 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2296 set sts=0 sw=8 ts=8
10124
f6942ed9e998 commit https://github.com/vim/vim/commit/31845093b7f1b33e0c7e9e592bef65528674a1f2
Christian Brabandt <cb@256bit.org>
parents: 10104
diff changeset
2297 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2298 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2299
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2300 " Test for Ctrl-D and Ctrl-U
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2301 func Test_normal42_halfpage()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2302 call Setup_NewWindow()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2303 call assert_equal(5, &scroll)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2304 exe "norm! \<c-d>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2305 call assert_equal('6', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2306 exe "norm! 2\<c-d>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2307 call assert_equal('8', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2308 call assert_equal(2, &scroll)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2309 set scroll=5
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2310 exe "norm! \<c-u>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2311 call assert_equal('3', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2312 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2313 set scrolloff=5
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2314 exe "norm! \<c-d>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2315 call assert_equal('10', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2316 exe "norm! \<c-u>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2317 call assert_equal('5', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2318 1
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2319 set scrolloff=99
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2320 exe "norm! \<c-d>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2321 call assert_equal('10', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2322 set scrolloff=0
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2323 100
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2324 exe "norm! $\<c-u>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2325 call assert_equal('95', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2326 call assert_equal([0, 95, 1, 0, 1], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2327 100
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2328 set nostartofline
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2329 exe "norm! $\<c-u>"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2330 call assert_equal('95', getline('.'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2331 call assert_equal([0, 95, 2, 0, 2147483647], getcurpos())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2332 " cleanup
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2333 set startofline
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2334 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2335 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2336
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2337 " Tests for text object aw
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2338 func Test_normal43_textobject1()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2339 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2340 call append(0, ['foobar,eins,foobar', 'foo,zwei,foo '])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2341 " diw
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2342 norm! 1gg0diw
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2343 call assert_equal([',eins,foobar', 'foo,zwei,foo ', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2344 " daw
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2345 norm! 2ggEdaw
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2346 call assert_equal([',eins,foobar', 'foo,zwei,', ''], getline(1, '$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2347 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2348 call append(0, ["foo\teins\tfoobar", "foo\tzwei\tfoo "])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2349 " diW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2350 norm! 2ggwd2iW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2351 call assert_equal(['foo eins foobar', 'foo foo ', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2352 " daW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2353 norm! 1ggd2aW
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2354 call assert_equal(['foobar', 'foo foo ', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2355
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2356 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2357 call append(0, ["foo\teins\tfoobar", "foo\tzwei\tfoo "])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2358 " aw in visual line mode switches to characterwise mode
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2359 norm! 2gg$Vawd
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2360 call assert_equal(['foo eins foobar', 'foo zwei foo'], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2361 norm! 1gg$Viwd
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2362 call assert_equal(['foo eins ', 'foo zwei foo'], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2363
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2364 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2365 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2366 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2367
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2368 " Test for is and as text objects
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2369 func Test_normal44_textobjects2()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2370 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2371 call append(0, ['This is a test. With some sentences!', '', 'Even with a question? And one more. And no sentence here'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2372 " Test for dis - does not remove trailing whitespace
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2373 norm! 1gg0dis
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2374 call assert_equal([' With some sentences!', '', 'Even with a question? And one more. And no sentence here', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2375 " Test for das - removes leading whitespace
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2376 norm! 3ggf?ldas
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2377 call assert_equal([' With some sentences!', '', 'Even with a question? And no sentence here', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2378 " when used in visual mode, is made characterwise
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2379 norm! 3gg$Visy
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2380 call assert_equal('v', visualmode())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2381 " reset visualmode()
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2382 norm! 3ggVy
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2383 norm! 3gg$Vasy
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2384 call assert_equal('v', visualmode())
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2385 " basic testing for textobjects a< and at
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2386 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2387 call setline(1, ['<div> ','<a href="foobar" class="foo">xyz</a>',' </div>', ' '])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2388 " a<
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2389 norm! 1gg0da<
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2390 call assert_equal([' ', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2391 norm! 1pj
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2392 call assert_equal([' <div>', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2393 " at
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2394 norm! d2at
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2395 call assert_equal([' '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2396 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2397 call setline(1, ['<div> ','<a href="foobar" class="foo">xyz</a>',' </div>', ' '])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2398 " i<
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2399 norm! 1gg0di<
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2400 call assert_equal(['<> ', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2401 norm! 1Pj
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2402 call assert_equal(['<div> ', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2403 norm! d2it
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2404 call assert_equal(['<div></div>',' '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2405 " basic testing for a[ and i[ text object
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2406 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2407 call setline(1, [' ', '[', 'one [two]', 'thre', ']'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2408 norm! 3gg0di[
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2409 call assert_equal([' ', '[', ']'], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2410 call setline(1, [' ', '[', 'one [two]', 'thre', ']'])
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2411 norm! 3gg0ftd2a[
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2412 call assert_equal([' '], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2413 %d
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2414 " Test for i" when cursor is in front of a quoted object
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2415 call append(0, 'foo "bar"')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2416 norm! 1gg0di"
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2417 call assert_equal(['foo ""', ''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2418
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2419 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2420 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2421 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2422
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2423 func Test_normal45_drop()
13270
f3fb8dae30f1 patch 8.0.1509: test for failing drag-n-drop command no longer fails
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
2424 if !has('dnd')
13272
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 13270
diff changeset
2425 " The ~ register does not exist
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 13270
diff changeset
2426 call assert_beeps('norm! "~')
13270
f3fb8dae30f1 patch 8.0.1509: test for failing drag-n-drop command no longer fails
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
2427 return
f3fb8dae30f1 patch 8.0.1509: test for failing drag-n-drop command no longer fails
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
2428 endif
f3fb8dae30f1 patch 8.0.1509: test for failing drag-n-drop command no longer fails
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
2429
f3fb8dae30f1 patch 8.0.1509: test for failing drag-n-drop command no longer fails
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
2430 " basic test for drag-n-drop
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2431 " unfortunately, without a gui, we can't really test much here,
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2432 " so simply test that ~p fails (which uses the drop register)
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2433 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2434 call assert_fails(':norm! "~p', 'E353')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2435 call assert_equal([], getreg('~', 1, 1))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2436 " the ~ register is read only
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2437 call assert_fails(':let @~="1"', 'E354')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2438 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2439 endfunc
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2440
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2441 func Test_normal46_ignore()
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2442 new
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2443 " How to test this?
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2444 " let's just for now test, that the buffer
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2445 " does not change
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2446 call feedkeys("\<c-s>", 't')
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2447 call assert_equal([''], getline(1,'$'))
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2448
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2449 " no valid commands
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2450 exe "norm! \<char-0x100>"
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2451 call assert_equal([''], getline(1,'$'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2452
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2453 exe "norm! ä"
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2454 call assert_equal([''], getline(1,'$'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2455
10088
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2456 " clean up
5337340beea0 commit https://github.com/vim/vim/commit/87bc3f74598ae8c648957e5755000cc6cdbc89ce
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2457 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2458 endfunc
10154
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2459
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2460 func Test_normal47_visual_buf_wipe()
10154
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2461 " This was causing a crash or ml_get error.
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2462 enew!
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2463 call setline(1,'xxx')
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2464 normal $
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2465 new
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2466 call setline(1, range(1,2))
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2467 2
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2468 exe "norm \<C-V>$"
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2469 bw!
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2470 norm yp
4647267906cc commit https://github.com/vim/vim/commit/c4a908e83690844b0d3a46124ba6af7d23485d69
Christian Brabandt <cb@256bit.org>
parents: 10130
diff changeset
2471 set nomodified
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2472 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2473
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2474 func Test_normal47_autocmd()
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2475 " disabled, does not seem to be possible currently
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2476 throw "Skipped: not possible to test cursorhold autocmd while waiting for input in normal_cmd"
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2477 new
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2478 call append(0, repeat('-',20))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2479 au CursorHold * call feedkeys('2l', '')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2480 1
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2481 set updatetime=20
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2482 " should delete 12 chars (d12l)
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2483 call feedkeys('d1', '!')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2484 call assert_equal('--------', getline(1))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2485
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2486 " clean up
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2487 au! CursorHold
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2488 set updatetime=4000
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2489 bw!
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2490 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2491
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2492 func Test_normal48_wincmd()
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2493 new
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2494 exe "norm! \<c-w>c"
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2495 call assert_equal(1, winnr('$'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2496 call assert_fails(":norm! \<c-w>c", "E444")
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2497 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2498
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2499 func Test_normal49_counts()
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2500 new
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2501 call setline(1, 'one two three four five six seven eight nine ten')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2502 1
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2503 norm! 3d2w
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2504 call assert_equal('seven eight nine ten', getline(1))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2505 bw!
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2506 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2507
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2508 func Test_normal50_commandline()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
2509 CheckFeature timers
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
2510 CheckFeature cmdline_hist
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2511 func! DoTimerWork(id)
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2512 call assert_equal('[Command Line]', bufname(''))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2513 " should fail, with E11, but does fail with E23?
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2514 "call feedkeys("\<c-^>", 'tm')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2515
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2516 " should also fail with E11
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2517 call assert_fails(":wincmd p", 'E11')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2518 " return from commandline window
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2519 call feedkeys("\<cr>")
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2520 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2521
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2522 let oldlang=v:lang
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2523 lang C
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2524 set updatetime=20
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2525 call timer_start(100, 'DoTimerWork')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2526 try
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2527 " throws E23, for whatever reason...
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2528 call feedkeys('q:', 'x!')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2529 catch /E23/
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2530 " no-op
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2531 endtry
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2532 " clean up
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2533 set updatetime=4000
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2534 exe "lang" oldlang
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2535 bw!
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2536 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2537
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2538 func Test_normal51_FileChangedRO()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
2539 CheckFeature autocmd
10807
82c43bca568e patch 8.0.0293: some tests have a one or three second wait
Christian Brabandt <cb@256bit.org>
parents: 10579
diff changeset
2540 " Don't sleep after the warning message.
82c43bca568e patch 8.0.0293: some tests have a one or three second wait
Christian Brabandt <cb@256bit.org>
parents: 10579
diff changeset
2541 call test_settime(1)
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2542 call writefile(['foo'], 'Xreadonly.log')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2543 new Xreadonly.log
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2544 setl ro
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2545 au FileChangedRO <buffer> :call feedkeys("\<c-^>", 'tix')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2546 call assert_fails(":norm! Af", 'E788')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2547 call assert_equal(['foo'], getline(1,'$'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2548 call assert_equal('Xreadonly.log', bufname(''))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2549
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2550 " cleanup
10807
82c43bca568e patch 8.0.0293: some tests have a one or three second wait
Christian Brabandt <cb@256bit.org>
parents: 10579
diff changeset
2551 call test_settime(0)
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2552 bw!
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2553 call delete("Xreadonly.log")
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2554 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2555
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2556 func Test_normal52_rl()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
2557 CheckFeature rightleft
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2558 new
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2559 call setline(1, 'abcde fghij klmnopq')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2560 norm! 1gg$
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2561 set rl
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2562 call assert_equal(19, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2563 call feedkeys('l', 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2564 call assert_equal(18, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2565 call feedkeys('h', 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2566 call assert_equal(19, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2567 call feedkeys("\<right>", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2568 call assert_equal(18, col('.'))
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2569 call feedkeys("\<left>", 'tx')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2570 call assert_equal(19, col('.'))
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2571 call feedkeys("\<s-right>", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2572 call assert_equal(13, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2573 call feedkeys("\<c-right>", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2574 call assert_equal(7, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2575 call feedkeys("\<c-left>", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2576 call assert_equal(13, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2577 call feedkeys("\<s-left>", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2578 call assert_equal(19, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2579 call feedkeys("<<", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2580 call assert_equal(' abcde fghij klmnopq',getline(1))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2581 call feedkeys(">>", 'tx')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2582 call assert_equal('abcde fghij klmnopq',getline(1))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2583
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2584 " cleanup
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2585 set norl
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2586 bw!
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2587 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2588
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2589 func Test_normal53_digraph()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
2590 CheckFeature digraphs
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2591 new
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2592 call setline(1, 'abcdefgh|')
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2593 exe "norm! 1gg0f\<c-k>!!"
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2594 call assert_equal(9, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2595 set cpo+=D
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2596 exe "norm! 1gg0f\<c-k>!!"
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2597 call assert_equal(1, col('.'))
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2598
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2599 set cpo-=D
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2600 bw!
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2601 endfunc
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2602
11260
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2603 func Test_normal54_Ctrl_bsl()
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2604 new
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2605 call setline(1, 'abcdefghijklmn')
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2606 exe "norm! df\<c-\>\<c-n>"
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2607 call assert_equal(['abcdefghijklmn'], getline(1,'$'))
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2608 exe "norm! df\<c-\>\<c-g>"
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2609 call assert_equal(['abcdefghijklmn'], getline(1,'$'))
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2610 exe "norm! df\<c-\>m"
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2611 call assert_equal(['abcdefghijklmn'], getline(1,'$'))
15607
2dcaa860e3fc patch 8.1.0811: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
2612
11260
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2613 call setline(2, 'abcdefghijklmnāf')
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2614 norm! 2gg0
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2615 exe "norm! df\<Char-0x101>"
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2616 call assert_equal(['abcdefghijklmn', 'f'], getline(1,'$'))
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2617 norm! 1gg0
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2618 exe "norm! df\<esc>"
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2619 call assert_equal(['abcdefghijklmn', 'f'], getline(1,'$'))
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2620
11260
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2621 " clean up
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2622 bw!
10166
520e0e732b87 commit https://github.com/vim/vim/commit/2931f2a5df0d962032d41060af84d9fd2cb35c9f
Christian Brabandt <cb@256bit.org>
parents: 10154
diff changeset
2623 endfunc
11260
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2624
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2625 func Test_normal_large_count()
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2626 " This may fail with 32bit long, how do we detect that?
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2627 new
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2628 normal o
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2629 normal 6666666666dL
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2630 bwipe!
a7b7b21071c6 patch 8.0.0516: a large count on a normal command causes trouble
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
2631 endfunc
11275
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2632
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2633 func Test_delete_until_paragraph()
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2634 new
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2635 normal grádv}
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2636 call assert_equal('á', getline(1))
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2637 normal grád}
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2638 call assert_equal('', getline(1))
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2639 bwipe!
5c77ca0cf6a5 patch 8.0.0523: dv} deletes part of a multi-byte character.
Christian Brabandt <cb@256bit.org>
parents: 11260
diff changeset
2640 endfunc
12788
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2641
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2642 " Test for the gr (virtual replace) command
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2643 " Test for the bug fixed by 7.4.387
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2644 func Test_gr_command()
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2645 enew!
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2646 let save_cpo = &cpo
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2647 call append(0, ['First line', 'Second line', 'Third line'])
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2648 exe "normal i\<C-G>u"
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2649 call cursor(2, 1)
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2650 set cpo-=X
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2651 normal 4gro
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2652 call assert_equal('oooond line', getline(2))
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2653 undo
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2654 set cpo+=X
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2655 normal 4gro
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2656 call assert_equal('ooooecond line', getline(2))
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2657 let &cpo = save_cpo
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2658 normal! ggvegrx
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2659 call assert_equal('xxxxx line', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2660 exe "normal! gggr\<C-V>122"
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2661 call assert_equal('zxxxx line', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2662 set virtualedit=all
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2663 normal! 15|grl
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2664 call assert_equal('zxxxx line l', getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2665 set virtualedit&
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2666 set nomodifiable
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2667 call assert_fails('normal! grx', 'E21:')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2668 call assert_fails('normal! gRx', 'E21:')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2669 set modifiable&
12788
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2670 enew!
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2671 endfunc
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2672
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2673 " When splitting a window the changelist position is wrong.
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2674 " Test the changelist position after splitting a window.
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2675 " Test for the bug fixed by 7.4.386
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2676 func Test_changelist()
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2677 let save_ul = &ul
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2678 enew!
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2679 call append('$', ['1', '2'])
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2680 exe "normal i\<C-G>u"
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2681 exe "normal Gkylpa\<C-G>u"
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2682 set ul=100
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2683 exe "normal Gylpa\<C-G>u"
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2684 set ul=100
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2685 normal gg
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2686 vsplit
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2687 normal g;
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2688 call assert_equal([3, 2], [line('.'), col('.')])
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2689 normal g;
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2690 call assert_equal([2, 2], [line('.'), col('.')])
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2691 call assert_fails('normal g;', 'E662:')
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2692 new
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2693 call assert_fails('normal g;', 'E664:')
12788
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2694 %bwipe!
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2695 let &ul = save_ul
cb9b2774f21f patch 8.0.1271: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents: 12730
diff changeset
2696 endfunc
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2697
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2698 func Test_nv_hat_count()
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2699 %bwipeout!
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2700 let l:nr = bufnr('%') + 1
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2701 call assert_fails(':execute "normal! ' . l:nr . '\<C-^>"', 'E92')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2702
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2703 edit Xfoo
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2704 let l:foo_nr = bufnr('Xfoo')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2705
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2706 edit Xbar
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2707 let l:bar_nr = bufnr('Xbar')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2708
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2709 " Make sure we are not just using the alternate file.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2710 edit Xbaz
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2711
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2712 call feedkeys(l:foo_nr . "\<C-^>", 'tx')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2713 call assert_equal('Xfoo', fnamemodify(bufname('%'), ':t'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2714
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2715 call feedkeys(l:bar_nr . "\<C-^>", 'tx')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2716 call assert_equal('Xbar', fnamemodify(bufname('%'), ':t'))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2717
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2718 %bwipeout!
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14669
diff changeset
2719 endfunc
16089
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2720
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2721 func Test_message_when_using_ctrl_c()
16095
4673f22da44d patch 8.1.1052: test for CTRL-C message sometimes fails
Bram Moolenaar <Bram@vim.org>
parents: 16089
diff changeset
2722 " Make sure no buffers are changed.
4673f22da44d patch 8.1.1052: test for CTRL-C message sometimes fails
Bram Moolenaar <Bram@vim.org>
parents: 16089
diff changeset
2723 %bwipe!
4673f22da44d patch 8.1.1052: test for CTRL-C message sometimes fails
Bram Moolenaar <Bram@vim.org>
parents: 16089
diff changeset
2724
16089
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2725 exe "normal \<C-C>"
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2726 call assert_match("Type :qa and press <Enter> to exit Vim", Screenline(&lines))
16095
4673f22da44d patch 8.1.1052: test for CTRL-C message sometimes fails
Bram Moolenaar <Bram@vim.org>
parents: 16089
diff changeset
2727
16089
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2728 new
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2729 cal setline(1, 'hi!')
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2730 exe "normal \<C-C>"
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2731 call assert_match("Type :qa! and press <Enter> to abandon all changes and exit Vim", Screenline(&lines))
16095
4673f22da44d patch 8.1.1052: test for CTRL-C message sometimes fails
Bram Moolenaar <Bram@vim.org>
parents: 16089
diff changeset
2732
16089
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2733 bwipe!
4411c38f3d16 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2734 endfunc
16419
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2735
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2736 " Test for '[m', ']m', '[M' and ']M'
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2737 " Jumping to beginning and end of methods in Java-like languages
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2738 func Test_java_motion()
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2739 new
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2740 call assert_beeps('normal! [m')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2741 call assert_beeps('normal! ]m')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2742 call assert_beeps('normal! [M')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2743 call assert_beeps('normal! ]M')
16419
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2744 a
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2745 Piece of Java
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2746 {
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2747 tt m1 {
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2748 t1;
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2749 } e1
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2750
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2751 tt m2 {
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2752 t2;
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2753 } e2
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2754
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2755 tt m3 {
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2756 if (x)
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2757 {
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2758 t3;
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2759 }
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2760 } e3
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2761 }
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2762 .
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2763
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2764 normal gg
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2765
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2766 normal 2]maA
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2767 call assert_equal("\ttt m1 {A", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2768 call assert_equal([3, 9, 16], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2769
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2770 normal j]maB
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2771 call assert_equal("\ttt m2 {B", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2772 call assert_equal([7, 9, 16], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2773
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2774 normal ]maC
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2775 call assert_equal("\ttt m3 {C", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2776 call assert_equal([11, 9, 16], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2777
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2778 normal [maD
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2779 call assert_equal("\ttt m3 {DC", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2780 call assert_equal([11, 9, 16], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2781
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2782 normal k2[maE
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2783 call assert_equal("\ttt m1 {EA", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2784 call assert_equal([3, 9, 16], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2785
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2786 normal 3[maF
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2787 call assert_equal("{F", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2788 call assert_equal([2, 2, 2], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2789
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2790 normal ]MaG
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2791 call assert_equal("\t}G e1", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2792 call assert_equal([5, 3, 10], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2793
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2794 normal j2]MaH
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2795 call assert_equal("\t}H e3", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2796 call assert_equal([16, 3, 10], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2797
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2798 normal ]M]M
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2799 normal aI
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2800 call assert_equal("}I", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2801 call assert_equal([17, 2, 2], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2802
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2803 normal 2[MaJ
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2804 call assert_equal("\t}JH e3", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2805 call assert_equal([16, 3, 10], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2806
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2807 normal k[MaK
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2808 call assert_equal("\t}K e2", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2809 call assert_equal([9, 3, 10], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2810
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2811 normal 3[MaL
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2812 call assert_equal("{LF", getline('.'))
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2813 call assert_equal([2, 2, 2], [line('.'), col('.'), virtcol('.')])
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2814
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2815 close!
aebcd20a8a3f patch 8.1.1214: old style tests
Bram Moolenaar <Bram@vim.org>
parents: 16095
diff changeset
2816 endfunc
17520
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2817
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
2818 " Tests for g cmds
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
2819 func Test_normal_gdollar_cmd()
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
2820 CheckFeature jumplist
17520
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2821 call Setup_NewWindow()
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2822 " Make long lines that will wrap
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2823 %s/$/\=repeat(' foobar', 10)/
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2824 20vsp
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2825 set wrap
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2826 " Test for g$ with count
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2827 norm! gg
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2828 norm! 0vg$y
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2829 call assert_equal(20, col("'>"))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2830 call assert_equal('1 foobar foobar foob', getreg(0))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2831 norm! gg
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2832 norm! 0v4g$y
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2833 call assert_equal(72, col("'>"))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2834 call assert_equal('1 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.."\n", getreg(0))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2835 norm! gg
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2836 norm! 0v6g$y
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2837 call assert_equal(40, col("'>"))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2838 call assert_equal('1 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2839 \ '2 foobar foobar foobar foobar foobar foo', getreg(0))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2840 set nowrap
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2841 " clean up
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2842 norm! gg
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2843 norm! 0vg$y
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2844 call assert_equal(20, col("'>"))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2845 call assert_equal('1 foobar foobar foob', getreg(0))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2846 norm! gg
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2847 norm! 0v4g$y
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2848 call assert_equal(20, col("'>"))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2849 call assert_equal('1 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2850 \ '2 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2851 \ '3 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2852 \ '4 foobar foobar foob', getreg(0))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2853 norm! gg
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2854 norm! 0v6g$y
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2855 call assert_equal(20, col("'>"))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2856 call assert_equal('1 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2857 \ '2 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2858 \ '3 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2859 \ '4 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2860 \ '5 foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar'.. "\n"..
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2861 \ '6 foobar foobar foob', getreg(0))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2862 " Move to last line, also down movement is not possible, should still move
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2863 " the cursor to the last visible char
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2864 norm! G
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2865 norm! 0v6g$y
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2866 call assert_equal(20, col("'>"))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2867 call assert_equal('100 foobar foobar fo', getreg(0))
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2868 bw!
827d29c8f7e8 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2869 endfunc
18154
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2870
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2871 func Test_normal_gk_gj()
18154
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2872 " needs 80 column new window
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2873 new
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2874 vert 80new
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2875 call assert_beeps('normal gk')
18154
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2876 put =[repeat('x',90)..' {{{1', 'x {{{1']
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2877 norm! gk
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2878 " In a 80 column wide terminal the window will be only 78 char
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2879 " (because Vim will leave space for the other window),
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2880 " but if the terminal is larger, it will be 80 chars, so verify the
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2881 " cursor column correctly.
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2882 call assert_equal(winwidth(0)+1, col('.'))
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2883 call assert_equal(winwidth(0)+1, virtcol('.'))
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2884 norm! j
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2885 call assert_equal(6, col('.'))
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2886 call assert_equal(6, virtcol('.'))
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2887 norm! gk
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2888 call assert_equal(95, col('.'))
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2889 call assert_equal(95, virtcol('.'))
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2890 %bw!
18291
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2891
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2892 " needs 80 column new window
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2893 new
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2894 vert 80new
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2895 call assert_beeps('normal gj')
18291
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2896 set number
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2897 set numberwidth=10
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2898 set cpoptions+=n
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2899 put =[repeat('0',90), repeat('1',90)]
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2900 norm! 075l
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2901 call assert_equal(76, col('.'))
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2902 norm! gk
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2903 call assert_equal(1, col('.'))
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2904 norm! gk
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2905 call assert_equal(76, col('.'))
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2906 norm! gk
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2907 call assert_equal(1, col('.'))
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2908 norm! gj
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2909 call assert_equal(76, col('.'))
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2910 norm! gj
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2911 call assert_equal(1, col('.'))
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2912 norm! gj
11f68eb58fda patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Bram Moolenaar <Bram@vim.org>
parents: 18154
diff changeset
2913 call assert_equal(76, col('.'))
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2914 " When 'nowrap' is set, gk and gj behave like k and j
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2915 set nowrap
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2916 normal! gk
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2917 call assert_equal([2, 76], [line('.'), col('.')])
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2918 normal! gj
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2919 call assert_equal([3, 76], [line('.'), col('.')])
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2920 %bw!
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2921 set cpoptions& number& numberwidth& wrap&
18154
5e10ee16f4b4 patch 8.1.2072: "gk" moves to start of line instead of upwards
Bram Moolenaar <Bram@vim.org>
parents: 17698
diff changeset
2922 endfunc
19407
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2923
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2924 " Test for cursor movement with '-' in 'cpoptions'
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2925 func Test_normal_cpo_minus()
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2926 new
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2927 call setline(1, ['foo', 'bar', 'baz'])
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2928 let save_cpo = &cpo
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2929 set cpo+=-
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2930 call assert_beeps('normal 10j')
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2931 call assert_equal(1, line('.'))
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2932 normal G
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2933 call assert_beeps('normal 10k')
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2934 call assert_equal(3, line('.'))
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2935 call assert_fails(10, 'E16:')
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2936 let &cpo = save_cpo
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2937 close!
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
2938 endfunc
19471
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2939
19852
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2940 " Test for displaying dollar when changing text ('$' flag in 'cpoptions')
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2941 func Test_normal_cpo_dollar()
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2942 new
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2943 let g:Line = ''
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2944 func SaveFirstLine()
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2945 let g:Line = Screenline(1)
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2946 return ''
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2947 endfunc
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2948 inoremap <expr> <buffer> <F2> SaveFirstLine()
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2949 call test_override('redraw_flag', 1)
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2950 set cpo+=$
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2951 call setline(1, 'one two three')
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2952 redraw!
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2953 exe "normal c2w\<F2>vim"
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2954 call assert_equal('one tw$ three', g:Line)
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2955 call assert_equal('vim three', getline(1))
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2956 set cpo-=$
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2957 call test_override('ALL', 0)
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2958 delfunc SaveFirstLine
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2959 %bw!
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2960 endfunc
12518b40c161 patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19738
diff changeset
2961
19471
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2962 " Test for using : to run a multi-line Ex command in operator pending mode
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2963 func Test_normal_yank_with_excmd()
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2964 new
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2965 call setline(1, ['foo', 'bar', 'baz'])
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2966 let @a = ''
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2967 call feedkeys("\"ay:if v:true\<CR>normal l\<CR>endif\<CR>", 'xt')
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2968 call assert_equal('f', @a)
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2969 close!
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
2970 endfunc
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2971
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2972 " Test for supplying a count to a normal-mode command across a cursorhold call
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2973 func Test_normal_cursorhold_with_count()
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2974 func s:cHold()
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2975 let g:cHold_Called += 1
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2976 endfunc
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2977 new
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2978 augroup normalcHoldTest
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2979 au!
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2980 au CursorHold <buffer> call s:cHold()
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2981 augroup END
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2982 let g:cHold_Called = 0
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2983 call feedkeys("3\<CursorHold>2ix", 'xt')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2984 call assert_equal(1, g:cHold_Called)
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2985 call assert_equal(repeat('x', 32), getline(1))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2986 augroup normalcHoldTest
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2987 au!
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2988 augroup END
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2989 au! normalcHoldTest
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2990 close!
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2991 delfunc s:cHold
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2992 endfunc
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2993
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2994 " Test for using a count and a command with CTRL-W
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2995 func Test_wincmd_with_count()
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2996 call feedkeys("\<C-W>12n", 'xt')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2997 call assert_equal(12, winheight(0))
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2998 endfunc
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2999
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3000 " Test for 'b', 'B' 'ge' and 'gE' commands
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3001 func Test_horiz_motion()
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3002 new
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3003 normal! gg
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3004 call assert_beeps('normal! b')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3005 call assert_beeps('normal! B')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3006 call assert_beeps('normal! gE')
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3007 call assert_beeps('normal! ge')
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3008 " <S-Backspace> moves one word left and <C-Backspace> moves one WORD left
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3009 call setline(1, 'one ,two ,three')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3010 exe "normal! $\<S-BS>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3011 call assert_equal(11, col('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3012 exe "normal! $\<C-BS>"
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3013 call assert_equal(10, col('.'))
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3014 close!
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3015 endfunc
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3016
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3017 " Test for using a : command in operator pending mode
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3018 func Test_normal_colon_op()
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3019 new
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3020 call setline(1, ['one', 'two'])
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3021 call assert_beeps("normal! Gc:d\<CR>")
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19613
diff changeset
3022 close!
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3023 endfunc
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3024
19969
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3025 " Test for d and D commands
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3026 func Test_normal_delete_cmd()
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3027 new
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3028 " D in an empty line
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3029 call setline(1, '')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3030 normal D
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3031 call assert_equal('', getline(1))
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3032 " D in an empty line in virtualedit mode
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3033 set virtualedit=all
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3034 normal D
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3035 call assert_equal('', getline(1))
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3036 set virtualedit&
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3037 " delete to a readonly register
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3038 call setline(1, ['abcd'])
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3039 call assert_beeps('normal ":d2l')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3040 close!
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3041 endfunc
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3042
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3043 " Test for the 'E' flag in 'cpo' with yank, change, delete, etc. operators
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3044 func Test_empty_region_error()
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3045 new
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3046 call setline(1, '')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3047 set cpo+=E
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3048 " yank an empty line
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3049 call assert_beeps('normal "ayl')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3050 " change an empty line
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3051 call assert_beeps('normal lcTa')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3052 " delete an empty line
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3053 call assert_beeps('normal D')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3054 call assert_beeps('normal dl')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3055 call assert_equal('', getline(1))
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3056 " change case of an empty line
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3057 call assert_beeps('normal gul')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3058 call assert_beeps('normal gUl')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3059 " replace a character
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3060 call assert_beeps('normal vrx')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3061 " increment and decrement
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3062 call assert_beeps('exe "normal v\<C-A>"')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3063 call assert_beeps('exe "normal v\<C-X>"')
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3064 set cpo-=E
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3065 close!
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3066 endfunc
b07672d13ff9 patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
3067
19613
9c15be376631 patch 8.2.0363: some Normal mode commands not tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
3068 " vim: shiftwidth=2 sts=2 expandtab