annotate src/testdir/test_textobjects.vim @ 34369:92452a65138e v9.1.0114

patch 9.1.0114: Setting some options may change curswant Commit: https://github.com/vim/vim/commit/fcaed6a70faf73bff3e5405ada556d726024f866 Author: zeertzjq <zeertzjq@outlook.com> Date: Sun Feb 18 09:33:54 2024 +0100 patch 9.1.0114: Setting some options may change curswant Problem: Setting some options changes curswant unnecessarily. Solution: Add a P_HLONLY flag that prevents changing curswant. (zeertzjq) closes: #14044 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 18 Feb 2024 09:45:06 +0100
parents f425f4870873
children ae41b02a7ebd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test for textobjects
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
3 source check.vim
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
5 func CpoM(line, useM, expected)
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 new
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 if a:useM
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 set cpoptions+=M
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 else
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 set cpoptions-=M
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 endif
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 call setline(1, a:line)
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 normal! ggfrmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 call assert_equal(getreg('"'), a:expected[0])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 normal! `afbmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 call assert_equal(getreg('"'), a:expected[1])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 normal! `afgmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 call assert_equal(getreg('"'), a:expected[2])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 q!
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
29 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
31 func Test_inner_block_without_cpo_M()
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 call CpoM('(red \(blue) green)', 0, ['red \(blue', 'red \(blue', ''])
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
33 endfunc
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
34
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
35 func Test_inner_block_with_cpo_M_left_backslash()
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
36 call CpoM('(red \(blue) green)', 1, ['red \(blue) green', 'blue', 'red \(blue) green'])
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
37 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
39 func Test_inner_block_with_cpo_M_right_backslash()
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
40 call CpoM('(red (blue\) green)', 1, ['red (blue\) green', 'blue\', 'red (blue\) green'])
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
41 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42
28980
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
43 func Test_inner_block_single_char()
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
44 new
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
45 call setline(1, "(a)")
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
46
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
47 set selection=inclusive
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
48 let @" = ''
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
49 call assert_nobeep('norm! 0faviby')
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
50 call assert_equal('a', @")
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
51
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
52 set selection=exclusive
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
53 let @" = ''
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
54 call assert_nobeep('norm! 0faviby')
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
55 call assert_equal('a', @")
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
56
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
57 set selection&
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
58 bwipe!
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
59 endfunc
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
60
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
61 func Test_quote_selection_selection_exclusive()
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
62 new
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
63 call setline(1, "a 'bcde' f")
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
64 set selection=exclusive
18677
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
65
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
66 exe "norm! fdvhi'y"
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
67 call assert_equal('bcde', @")
18677
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
68
28980
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
69 let @" = 'dummy'
18644
7bfe68b637be patch 8.1.2314: vi' sometimes does not select anything
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
70 exe "norm! $gevi'y"
7bfe68b637be patch 8.1.2314: vi' sometimes does not select anything
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
71 call assert_equal('bcde', @")
18677
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
72
28980
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
73 let @" = 'dummy'
18677
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
74 exe "norm! 0fbhvi'y"
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
75 call assert_equal('bcde', @")
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
76
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
77 set selection&vim
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
78 bw!
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
79 endfunc
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
80
15930
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
81 func Test_quote_selection_selection_exclusive_abort()
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
82 new
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
83 set selection=exclusive
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
84 call setline(1, "'abzzc'")
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
85 let exp_curs = [0, 1, 6, 0]
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
86 call cursor(1,1)
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
87 exe 'norm! fcdvi"'
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
88 " make sure to end visual mode to have a clear state
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
89 exe "norm! \<esc>"
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
90 call assert_equal(exp_curs, getpos('.'))
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
91 call cursor(1,1)
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
92 exe 'norm! fcvi"'
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
93 exe "norm! \<esc>"
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
94 call assert_equal(exp_curs, getpos('.'))
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
95 call cursor(1,2)
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
96 exe 'norm! vfcoi"'
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
97 exe "norm! \<esc>"
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
98 let exp_curs = [0, 1, 2, 0]
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
99 let exp_visu = [0, 1, 7, 0]
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
100 call assert_equal(exp_curs, getpos('.'))
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
101 call assert_equal(exp_visu, getpos("'>"))
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
102 set selection&vim
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
103 bw!
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
104 endfunc
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
105
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
106 " Tests for string and html text objects
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
107 func Test_string_html_objects()
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
108
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
109 for e in ['utf-8', 'latin1', 'cp932']
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
110 enew!
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
111 exe 'set enc=' .. e
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
112
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
113 let t = '"wo\"rd\\" foo'
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
114 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
115 normal! da"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
116 call assert_equal('foo', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
117
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
118 let t = "'foo' 'bar' 'piep'"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
119 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
120 normal! 0va'a'rx
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
121 call assert_equal("xxxxxxxxxxxx'piep'", getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
122
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
123 let t = "bla bla `quote` blah"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
124 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
125 normal! 02f`da`
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
126 call assert_equal("bla bla blah", getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
127
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
128 let t = 'out " in "noXno"'
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
129 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
130 normal! 0fXdi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
131 call assert_equal('out " in ""', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
132
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
133 let t = "\"'\" 'blah' rep 'buh'"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
134 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
135 normal! 03f'vi'ry
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
136 call assert_equal("\"'\" 'blah'yyyyy'buh'", getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
137
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
138 set quoteescape=+*-
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
139 let t = "bla `s*`d-`+++`l**` b`la"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
140 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
141 normal! di`
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
142 call assert_equal("bla `` b`la", getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
143
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
144 let t = 'voo "nah" sdf " asdf" sdf " sdf" sd'
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
145 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
146 normal! $F"va"oha"i"rz
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
147 call assert_equal('voo "zzzzzzzzzzzzzzzzzzzzzzzzzzzzsd', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
148
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
149 let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
150 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
151 normal! fXdit
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
152 call assert_equal('-<b>asdf<i></i>asdf</b>-', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
153
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
154 let t = "-<b>asdX<i>a<i />sdf</i>asdf</b>-"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
155 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
156 normal! 0fXdit
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
157 call assert_equal('-<b></b>-', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
158
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
159 let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
160 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
161 normal! fXdat
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
162 call assert_equal('-<b>asdfasdf</b>-', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
163
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
164 let t = "-<b>asdX<i>as<b />df</i>asdf</b>-"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
165 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
166 normal! 0fXdat
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
167 call assert_equal('--', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
168
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
169 let t = "-<b>\ninnertext object\n</b>"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
170 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
171 normal! dit
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
172 call assert_equal('-<b></b>', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
173
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
174 " copy the tag block from leading indentation before the start tag
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
175 let t = " <b>\ntext\n</b>"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
176 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
177 normal! 2kvaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
178 call assert_equal("<b>\ntext\n</b>", @", e)
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
179
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
180 " copy the tag block from the end tag
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
181 let t = "<title>\nwelcome\n</title>"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
182 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
183 normal! $vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
184 call assert_equal("<title>\nwelcome\n</title>", @", e)
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
185
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
186 " copy the outer tag block from a tag without an end tag
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
187 let t = "<html>\n<title>welcome\n</html>"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
188 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
189 normal! k$vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
190 call assert_equal("<html>\n<title>welcome\n</html>", @", e)
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
191
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
192 " nested tag that has < in a different line from >
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
193 let t = "<div><div\n></div></div>"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
194 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
195 normal! k0vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
196 call assert_equal("<div><div\n></div></div>", @", e)
22604
3ac0ef0578ef patch 8.2.1850: "vat" does not select tags correctly over line break
Bram Moolenaar <Bram@vim.org>
parents: 21552
diff changeset
197
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
198 " nested tag with attribute that has < in a different line from >
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
199 let t = "<div><div\nattr=\"attr\"\n></div></div>"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
200 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
201 normal! 2k0vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
202 call assert_equal("<div><div\nattr=\"attr\"\n></div></div>", @", e)
22604
3ac0ef0578ef patch 8.2.1850: "vat" does not select tags correctly over line break
Bram Moolenaar <Bram@vim.org>
parents: 21552
diff changeset
203
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
204 set quoteescape&
28802
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
205
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
206 " this was going beyond the end of the line
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
207 %del
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
208 sil! norm i"\
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
209 sil! norm i"\
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
210 sil! norm i"\
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
211 call assert_equal('"\', getline(1))
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
212
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
213 bwipe!
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
214 endfor
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
215
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
216 set enc=utf-8
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
217 endfunc
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
218
14554
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
219 func Test_empty_html_tag()
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
220 new
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
221 call setline(1, '<div></div>')
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
222 normal 0citxxx
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
223 call assert_equal('<div>xxx</div>', getline(1))
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
224
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
225 call setline(1, '<div></div>')
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
226 normal 0f<cityyy
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
227 call assert_equal('<div>yyy</div>', getline(1))
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
228
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
229 call setline(1, '<div></div>')
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
230 normal 0f<vitsaaa
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
231 call assert_equal('aaa', getline(1))
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
232
26211
485c7c4afeb7 patch 8.2.3637: typos in test files
Bram Moolenaar <Bram@vim.org>
parents: 25725
diff changeset
233 " selecting a tag block in a non-empty blank line should fail
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
234 call setline(1, ' ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
235 call assert_beeps('normal $vaty')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
236
14554
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
237 bwipe!
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
238 endfunc
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
239
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
240 " Tests for match() and matchstr()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
241 func Test_match()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
242 call assert_equal("b", matchstr("abcd", ".", 0, 2))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
243 call assert_equal("bc", matchstr("abcd", "..", 0, 2))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
244 call assert_equal("c", matchstr("abcd", ".", 2, 0))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
245 call assert_equal("a", matchstr("abcd", ".", 0, -1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
246 call assert_equal(-1, match("abcd", ".", 0, 5))
21552
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
247 call assert_equal(0, match("abcd", ".", 0, -1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
248 call assert_equal(0, match('abc', '.', 0, 1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
249 call assert_equal(1, match('abc', '.', 0, 2))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
250 call assert_equal(2, match('abc', '.', 0, 3))
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
251 call assert_equal(-1, match('abc', '.', 0, 4))
21552
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
252 call assert_equal(1, match('abc', '.', 1, 1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
253 call assert_equal(2, match('abc', '.', 2, 1))
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
254 call assert_equal(-1, match('abc', '.', 3, 1))
21552
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
255 call assert_equal(3, match('abc', '$', 0, 1))
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
256 call assert_equal(-1, match('abc', '$', 0, 2))
21552
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
257 call assert_equal(3, match('abc', '$', 1, 1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
258 call assert_equal(3, match('abc', '$', 2, 1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
259 call assert_equal(3, match('abc', '$', 3, 1))
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
260 call assert_equal(-1, match('abc', '$', 4, 1))
21552
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
261 call assert_equal(0, match('abc', '\zs', 0, 1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
262 call assert_equal(1, match('abc', '\zs', 0, 2))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
263 call assert_equal(2, match('abc', '\zs', 0, 3))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
264 call assert_equal(3, match('abc', '\zs', 0, 4))
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
265 call assert_equal(-1, match('abc', '\zs', 0, 5))
21552
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
266 call assert_equal(1, match('abc', '\zs', 1, 1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
267 call assert_equal(2, match('abc', '\zs', 2, 1))
cbc570e66d11 patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents: 20895
diff changeset
268 call assert_equal(3, match('abc', '\zs', 3, 1))
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
269 call assert_equal(-1, match('abc', '\zs', 4, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
270 endfunc
13223
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
271
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
272 " This was causing an illegal memory access
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
273 func Test_inner_tag()
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
274 new
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
275 norm ixxx
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
276 call feedkeys("v", 'xt')
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
277 insert
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
278 x
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
279 x
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
280 .
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
281 norm it
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
282 q!
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
283 endfunc
14131
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
284
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
285 func Test_sentence()
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
286 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
287 call setline(1, 'A sentence. A sentence? A sentence!')
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
288
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
289 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
290 call assert_equal('A sentence.', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
291 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
292 call assert_equal('A sentence. ', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
293
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
294 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
295
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
296 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
297 call assert_equal('A sentence?', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
298 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
299 call assert_equal('A sentence? ', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
300
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
301 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
302
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
303 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
304 call assert_equal('A sentence!', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
305 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
306 call assert_equal(' A sentence!', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
307
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
308 normal 0
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
309 normal 2yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
310 call assert_equal('A sentence. ', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
311 normal 3yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
312 call assert_equal('A sentence. A sentence?', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
313 normal 2yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
314 call assert_equal('A sentence. A sentence? ', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
315
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
316 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
317 endfunc
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
318
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
319 func Test_sentence_with_quotes()
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
320 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
321 call setline(1, 'A "sentence." A sentence.')
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
322
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
323 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
324 call assert_equal('A "sentence."', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
325 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
326 call assert_equal('A "sentence." ', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
327
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
328 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
329
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
330 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
331 call assert_equal('A sentence.', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
332 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
333 call assert_equal(' A sentence.', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
334
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
335 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
336 endfunc
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
337
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 14554
diff changeset
338 func Test_sentence_with_cursor_on_delimiter()
14131
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
339 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
340 call setline(1, "A '([sentence.])' A sentence.")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
341
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
342 normal! 15|yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
343 call assert_equal("A '([sentence.])'", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
344 normal! 15|yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
345 call assert_equal("A '([sentence.])' ", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
346
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
347 normal! 16|yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
348 call assert_equal("A '([sentence.])'", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
349 normal! 16|yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
350 call assert_equal("A '([sentence.])' ", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
351
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
352 normal! 17|yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
353 call assert_equal("A '([sentence.])'", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
354 normal! 17|yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
355 call assert_equal("A '([sentence.])' ", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
356
20895
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
357 " don't get stuck on a quote at the start of a sentence
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
358 %delete _
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
359 call setline(1, ['A sentence.', '"A sentence"?', 'A sentence!'])
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
360 normal gg))
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
361 call assert_equal(3, getcurpos()[1])
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
362
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
363 %delete _
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
364 call setline(1, ['A sentence.', "'A sentence'?", 'A sentence!'])
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
365 normal gg))
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
366 call assert_equal(3, getcurpos()[1])
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
367
14131
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
368 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
369 endfunc
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
370
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
371 " Test for the paragraph (ap) text object
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
372 func Test_paragraph()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
373 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
374 call setline(1, ['First line.', 'Second line.', 'Third line.'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
375 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
376 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
377 call assert_equal("First line.\nSecond line.\nThird line.\n", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
378
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
379 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
380 call assert_beeps('normal vapapy')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
381
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
382 call setline(1, ['First line.', 'Second line.', ' ', ''])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
383 call cursor(1, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
384 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
385 call assert_equal("First line.\nSecond line.\n \n\n", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
386
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
387 call setline(1, ['', '', '', 'First line.', 'Second line.'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
388 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
389 normal yap
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
390 call assert_equal("\n\n\nFirst line.\nSecond line.\n", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
391 call assert_beeps('normal 3yap')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
392 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
393
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
394 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
395 call setline(1, [' ', ' ', ' '])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
396 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
397 normal Vipy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
398 call assert_equal(" \n \n \n", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
399 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
400 call assert_beeps("normal Vipip")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
401 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
402
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
403 bw!
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
404 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
405
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
406 " Tests for text object aw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
407 func Test_textobj_a_word()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
408 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
409 call append(0, ['foobar,eins,foobar', 'foo,zwei,foo '])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
410 " diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
411 norm! 1gg0diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
412 call assert_equal([',eins,foobar', 'foo,zwei,foo ', ''], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
413 " daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
414 norm! 2ggEdaw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
415 call assert_equal([',eins,foobar', 'foo,zwei,', ''], getline(1, '$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
416 " daw the last word in a line
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
417 call setline(1, ['foo bar', 'foo bar', ''])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
418 call cursor(1, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
419 normal daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
420 call assert_equal('foo', getline(1))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
421 " aw in visual mode
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
422 call cursor(2, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
423 normal! vawx
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
424 call assert_equal('foo', getline(2))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
425 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
426 call append(0, ["foo\teins\tfoobar", "foo\tzwei\tfoo "])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
427 " diW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
428 norm! 2ggwd2iW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
429 call assert_equal(['foo eins foobar', 'foo foo ', ''], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
430 " daW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
431 norm! 1ggd2aW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
432 call assert_equal(['foobar', 'foo foo ', ''], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
433
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
434 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
435 call append(0, ["foo\teins\tfoobar", "foo\tzwei\tfoo "])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
436 " aw in visual line mode switches to characterwise mode
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
437 norm! 2gg$Vawd
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
438 call assert_equal(['foo eins foobar', 'foo zwei foo'], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
439 norm! 1gg$Viwd
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
440 call assert_equal(['foo eins ', 'foo zwei foo'], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
441
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
442 " visually selecting a tab before a word with 'selection' set to 'exclusive'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
443 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
444 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
445 call assert_equal("\teins", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
446 " visually selecting a tab before a word with 'selection' set to 'inclusive'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
447 set selection=inclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
448 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
449 call assert_equal("\teins\t", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
450 set selection&
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
451
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
452 " selecting a word with no non-space characters in a buffer fails
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
453 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
454 call setline(1, ' ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
455 call assert_beeps('normal 3lyaw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
456
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
457 " visually selecting words backwards with no more words to select
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
458 call setline(1, 'one two')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
459 call assert_beeps('normal 2lvh2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
460 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
461 call assert_beeps('normal $vh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
462 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
463 call setline(1, ['', 'one two'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
464 call assert_beeps('normal 2G2lvh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
465 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
466
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
467 " selecting words forward with no more words to select
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
468 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
469 call setline(1, 'one a')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
470 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
471 call setline(1, 'one two ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
472 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
473 call assert_beeps('normal 03ly2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
474
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
475 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
476 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
477 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
478
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
479 " Test for is and as text objects
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
480 func Test_textobj_sentence()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
481 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
482 call append(0, ['This is a test. With some sentences!', '',
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
483 \ 'Even with a question? And one more. And no sentence here'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
484 " Test for dis - does not remove trailing whitespace
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
485 norm! 1gg0dis
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
486 call assert_equal([' With some sentences!', '',
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
487 \ 'Even with a question? And one more. And no sentence here', ''],
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
488 \ getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
489 " Test for das - removes leading whitespace
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
490 norm! 3ggf?ldas
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
491 call assert_equal([' With some sentences!', '',
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
492 \ 'Even with a question? And no sentence here', ''], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
493 " when used in visual mode, is made characterwise
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
494 norm! 3gg$Visy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
495 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
496 " reset visualmode()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
497 norm! 3ggVy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
498 norm! 3gg$Vasy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
499 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
500 " basic testing for textobjects a< and at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
501 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
502 call setline(1, ['<div> ','<a href="foobar" class="foo">xyz</a>',' </div>', ' '])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
503 " a<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
504 norm! 1gg0da<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
505 call assert_equal([' ', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
506 norm! 1pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
507 call assert_equal([' <div>', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
508 " at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
509 norm! d2at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
510 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
511 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
512 call setline(1, ['<div> ','<a href="foobar" class="foo">xyz</a>',' </div>', ' '])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
513 " i<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
514 norm! 1gg0di<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
515 call assert_equal(['<> ', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
516 norm! 1Pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
517 call assert_equal(['<div> ', '<a href="foobar" class="foo">xyz</a>', ' </div>', ' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
518 norm! d2it
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
519 call assert_equal(['<div></div>',' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
520 " basic testing for a[ and i[ text object
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
521 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
522 call setline(1, [' ', '[', 'one [two]', 'thre', ']'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
523 norm! 3gg0di[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
524 call assert_equal([' ', '[', ']'], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
525 call setline(1, [' ', '[', 'one [two]', 'thre', ']'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
526 norm! 3gg0ftd2a[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
527 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
528
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
529 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
530 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
531 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
532
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
533 " Test for quote (', " and `) textobjects
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
534 func Test_textobj_quote()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
535 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
536
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
537 " Test for i" when cursor is in front of a quoted object
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
538 call append(0, 'foo "bar"')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
539 norm! 1gg0di"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
540 call assert_equal(['foo ""', ''], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
541
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
542 " Test for visually selecting an inner quote
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
543 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
544 " extend visual selection from one quote to the next
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
545 call setline(1, 'color "red" color "blue"')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
546 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
547 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
548 call assert_equal('"red" color "blue', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
549
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
550 " try to extend visual selection from one quote to a non-existing quote
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
551 call setline(1, 'color "red" color blue')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
552 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
553 call feedkeys('v4li"y', 'xt')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
554 call assert_equal('"red"', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
555
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
556 " try to extend visual selection from one quote to a next partial quote
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
557 call setline(1, 'color "red" color "blue')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
558 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
559 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
560 call assert_equal('"red" color ', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
561
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
562 " select a quote backwards in visual mode
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
563 call cursor(1, 12)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
564 normal vhi"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
565 call assert_equal('red" ', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
566 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
567
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
568 " select a quote backwards in visual mode from outside the quote
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
569 call cursor(1, 17)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
570 normal v2hi"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
571 call assert_equal('red', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
572 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
573
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
574 " visually selecting a quote with 'selection' set to 'exclusive'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
575 call setline(1, 'He said "How are you?"')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
576 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
577 normal 012lv2li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
578 call assert_equal('How are you?', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
579 set selection&
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
580
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
581 " try copy a quote object with a single quote in the line
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
582 call setline(1, "Smith's car")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
583 call cursor(1, 6)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
584 call assert_beeps("normal yi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
585 call assert_beeps("normal 2lyi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
586
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
587 " selecting space before and after a quoted string
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
588 call setline(1, "some 'special' string")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
589 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
590 call assert_equal("'special' ", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
591 call setline(1, "some 'special'string")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
592 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
593 call assert_equal(" 'special'", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
594
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
595 " quoted string with odd or even number of backslashes.
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
596 call setline(1, 'char *s = "foo\"bar"')
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
597 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
598 call assert_equal('foo\"bar', @")
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
599 call setline(1, 'char *s = "foo\\"bar"')
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
600 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
601 call assert_equal('bar', @")
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
602 call setline(1, 'char *s = "foo\\\"bar"')
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
603 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
604 call assert_equal('foo\\\"bar', @")
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
605 call setline(1, 'char *s = "foo\\\\"bar"')
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
606 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
607 call assert_equal('bar', @")
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
608
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
609 bw!
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
610 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
611
25437
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
612 " Test for i(, i<, etc. when cursor is in front of a block
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
613 func Test_textobj_find_paren_forward()
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
614 new
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
615
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
616 " i< and a> when cursor is in front of a block
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
617 call setline(1, '#include <foo.h>')
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
618 normal 0yi<
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
619 call assert_equal('foo.h', @")
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
620 normal 0ya>
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
621 call assert_equal('<foo.h>', @")
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
622
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
623 " 2i(, 3i( in front of a block enters second/third nested '('
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
624 call setline(1, 'foo (bar (baz (quux)))')
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
625 normal 0yi)
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
626 call assert_equal('bar (baz (quux))', @")
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
627 normal 02yi)
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
628 call assert_equal('baz (quux)', @")
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
629 normal 03yi)
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
630 call assert_equal('quux', @")
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
631
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
632 " 3i( in front of a block doesn't enter third but un-nested '('
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
633 call setline(1, 'foo (bar (baz) (quux))')
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
634 normal 03di)
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
635 call assert_equal('foo (bar (baz) (quux))', getline(1))
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
636 normal 02di)
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
637 call assert_equal('foo (bar () (quux))', getline(1))
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
638 normal 0di)
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
639 call assert_equal('foo ()', getline(1))
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
640
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
641 bw!
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
642 endfunc
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
643
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
644 func Test_inner_block_empty_paren()
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
645 new
34090
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
646 call setline(1, ["(text)()", "", "(text)(", ")", "", "()()", "", "text()"])
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
647
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
648 " Example 1
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
649 call cursor(1, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
650 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
651 call assert_beeps(':call feedkeys("0f(viby","xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
652 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
653 call assert_equal('(', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
654
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
655 " Example 2
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
656 call cursor(3, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
657 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
658 call assert_beeps('call feedkeys("0f(viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
659 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
660 call assert_equal('(', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
661
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
662 " Example 3
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
663 call cursor(6, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
664 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
665 call assert_beeps('call feedkeys("0f(viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
666 call assert_equal(3, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
667 call assert_equal('(', @")
34090
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
668
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
669 " Change empty inner block
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
670 call cursor(8, 1)
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
671 call feedkeys("0cibtext", "xt")
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
672 call assert_equal("text(text)", getline('.'))
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
673
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
674 bwipe!
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
675 endfunc
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
676
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
677 func Test_inner_block_empty_bracket()
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
678 new
34090
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
679 call setline(1, ["[text][]", "", "[text][", "]", "", "[][]", "", "text[]"])
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
680
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
681 " Example 1
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
682 call cursor(1, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
683 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
684 call assert_beeps(':call feedkeys("0f[viby","xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
685 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
686 call assert_equal('[', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
687
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
688 " Example 2
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
689 call cursor(3, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
690 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
691 call assert_beeps('call feedkeys("0f[viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
692 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
693 call assert_equal('[', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
694
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
695 " Example 3
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
696 call cursor(6, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
697 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
698 call assert_beeps('call feedkeys("0f[viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
699 call assert_equal(3, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
700 call assert_equal('[', @")
34090
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
701
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
702 " Change empty inner block
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
703 call cursor(8, 1)
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
704 call feedkeys("0ci[text", "xt")
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
705 call assert_equal("text[text]", getline('.'))
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
706
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
707 bwipe!
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
708 endfunc
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
709
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
710 func Test_inner_block_empty_brace()
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
711 new
34090
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
712 call setline(1, ["{text}{}", "", "{text}{", "}", "", "{}{}", "", "text{}"])
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
713
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
714 " Example 1
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
715 call cursor(1, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
716 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
717 call assert_beeps(':call feedkeys("0f{viby","xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
718 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
719 call assert_equal('{', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
720
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
721 " Example 2
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
722 call cursor(3, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
723 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
724 call assert_beeps('call feedkeys("0f{viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
725 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
726 call assert_equal('{', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
727
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
728 " Example 3
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
729 call cursor(6, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
730 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
731 call assert_beeps('call feedkeys("0f{viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
732 call assert_equal(3, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
733 call assert_equal('{', @")
34090
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
734
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
735 " Change empty inner block
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
736 call cursor(8, 1)
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
737 call feedkeys("0ciBtext", "xt")
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
738 call assert_equal("text{text}", getline('.'))
f425f4870873 patch 9.1.0012: regression with empty inner blocks introduced
Christian Brabandt <cb@256bit.org>
parents: 34076
diff changeset
739
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
740 bwipe!
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
741 endfunc
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
742
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
743 func Test_inner_block_empty_lessthan()
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
744 new
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
745 call setline(1, ["<text><>", "", "<text><", ">", "", "<><>"])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
746
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
747 " Example 1
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
748 call cursor(1, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
749 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
750 call assert_beeps(':call feedkeys("0f<viby","xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
751 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
752 call assert_equal('<', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
753
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
754 " Example 2
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
755 call cursor(3, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
756 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
757 call assert_beeps('call feedkeys("0f<viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
758 call assert_equal(7, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
759 call assert_equal('<', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
760
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
761 " Example 3
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
762 call cursor(6, 1)
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
763 let @" = ''
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
764 call assert_beeps('call feedkeys("0f<viby", "xt")')
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
765 call assert_equal(3, getpos('.')[2])
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
766 call assert_equal('<', @")
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 29765
diff changeset
767 bwipe!
25437
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
768 endfunc
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
769
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
770 " vim: shiftwidth=2 sts=2 expandtab