annotate src/testdir/test_textobjects.vim @ 28980:42e3dfd5b2d6 v8.2.5012

patch 8.2.5012: cannot select one character inside () Commit: https://github.com/vim/vim/commit/53737b5eeeab1f95964f78b055d6094fab559533 Author: LemonBoy <thatlemon@gmail.com> Date: Tue May 24 11:49:31 2022 +0100 patch 8.2.5012: cannot select one character inside () Problem: Cannot select one character inside (). Solution: Do not try to extend the area if it is empty. (closes https://github.com/vim/vim/issues/10472, closes #6616)
author Bram Moolenaar <Bram@vim.org>
date Tue, 24 May 2022 13:00:04 +0200
parents 1ab5add6f4e8
children bc6cf208b1b4
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
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
4 CheckFeature textobjects
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
6 func CpoM(line, useM, expected)
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 new
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 if a:useM
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 set cpoptions+=M
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 else
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 set cpoptions-=M
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 endif
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 call setline(1, a:line)
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 normal! ggfrmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 call assert_equal(getreg('"'), a:expected[0])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 normal! `afbmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 call assert_equal(getreg('"'), a:expected[1])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 normal! `afgmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 call assert_equal(getreg('"'), a:expected[2])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 q!
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
30 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
32 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
33 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
34 endfunc
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
35
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
36 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
37 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
38 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
40 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
41 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
42 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43
28980
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
44 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
45 new
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
46 call setline(1, "(a)")
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
47
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
48 set selection=inclusive
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
49 let @" = ''
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
50 call assert_nobeep('norm! 0faviby')
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
51 call assert_equal('a', @")
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
52
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
53 set selection=exclusive
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
54 let @" = ''
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
55 call assert_nobeep('norm! 0faviby')
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
56 call assert_equal('a', @")
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
57
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
58 set selection&
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
59 bwipe!
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
60 endfunc
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
61
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
62 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
63 new
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
64 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
65 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
66
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
67 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
68 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
69
28980
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
70 let @" = 'dummy'
18644
7bfe68b637be patch 8.1.2314: vi' sometimes does not select anything
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
71 exe "norm! $gevi'y"
7bfe68b637be patch 8.1.2314: vi' sometimes does not select anything
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
72 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
73
28980
42e3dfd5b2d6 patch 8.2.5012: cannot select one character inside ()
Bram Moolenaar <Bram@vim.org>
parents: 28802
diff changeset
74 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
75 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
76 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
77
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
78 set selection&vim
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
79 bw!
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
80 endfunc
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
81
15930
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
82 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
83 new
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
84 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
85 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
86 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
87 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
88 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
89 " 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
90 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
91 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
92 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
93 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
94 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
95 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
96 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
97 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
98 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
99 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
100 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
101 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
102 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
103 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
104 bw!
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
105 endfunc
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
106
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
107 " 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
108 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
109
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
110 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
111 enew!
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
112 exe 'set enc=' .. e
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
113
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
114 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
115 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
116 normal! da"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
117 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
118
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
119 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
120 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
121 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
122 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
123
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
124 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
125 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
126 normal! 02f`da`
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
127 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
128
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
129 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
130 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
131 normal! 0fXdi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
132 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
133
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
134 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
135 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
136 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
137 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
138
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
139 set quoteescape=+*-
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
140 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
141 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
142 normal! di`
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
143 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
144
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
145 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
146 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
147 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
148 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
149
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
150 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
151 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
152 normal! fXdit
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
153 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
154
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
155 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
156 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
157 normal! 0fXdit
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
158 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
159
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
160 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
161 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
162 normal! fXdat
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
163 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
164
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
165 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
166 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
167 normal! 0fXdat
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
168 call assert_equal('--', getline('.'), e)
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
169
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
170 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
171 put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
172 normal! dit
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
173 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
174
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
175 " 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
176 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
177 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
178 normal! 2kvaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
179 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
180
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
181 " 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
182 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
183 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
184 normal! $vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
185 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
186
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
187 " 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
188 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
189 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
190 normal! k$vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
191 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
192
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
193 " 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
194 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
195 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
196 normal! k0vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
197 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
198
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
199 " 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
200 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
201 $put =t
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
202 normal! 2k0vaty
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
203 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
204
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
205 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
206
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
207 " 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
208 %del
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 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
212 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
213
1ab5add6f4e8 patch 8.2.4925: trailing backslash may cause reading past end of line
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
214 bwipe!
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
215 endfor
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
216
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
217 set enc=utf-8
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
218 endfunc
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
219
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
220 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
221 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
222 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
223 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
224 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
225
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 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
227 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
228 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
229
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 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
231 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
232 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
233
26211
485c7c4afeb7 patch 8.2.3637: typos in test files
Bram Moolenaar <Bram@vim.org>
parents: 25725
diff changeset
234 " 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
235 call setline(1, ' ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
236 call assert_beeps('normal $vaty')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
237
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
238 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
239 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
240
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
241 " Tests for match() and matchstr()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
242 func Test_match()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
243 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
244 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
245 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
246 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
247 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
248 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
249 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
250 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
251 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
252 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
253 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
254 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
255 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
256 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
257 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
258 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
259 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
260 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
261 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
262 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
263 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
264 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
265 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
266 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
267 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
268 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
269 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
270 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
271 endfunc
13223
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
272
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
273 " 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
274 func Test_inner_tag()
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
275 new
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
276 norm ixxx
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
277 call feedkeys("v", 'xt')
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
278 insert
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 x
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
281 .
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
282 norm it
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
283 q!
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
284 endfunc
14131
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
285
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
286 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
287 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
288 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
289
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
290 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
291 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
292 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
293 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
294
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
295 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
296
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
297 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
298 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
299 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
300 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
301
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
302 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
303
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
304 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
305 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
306 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
307 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
308
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
309 normal 0
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
310 normal 2yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
311 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
312 normal 3yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
313 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
314 normal 2yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
315 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
316
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
317 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
318 endfunc
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
319
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
320 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
321 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
322 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
323
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
324 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
325 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
326 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
327 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
328
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
329 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
330
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
331 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
332 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
333 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
334 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
335
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
336 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
337 endfunc
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
338
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 14554
diff changeset
339 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
340 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
341 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
342
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
343 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
344 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
345 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
346 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
347
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
348 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
349 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
350 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
351 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
352
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
353 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
354 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
355 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
356 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
357
20895
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
358 " 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
359 %delete _
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
360 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
361 normal gg))
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
362 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
363
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
364 %delete _
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
365 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
366 normal gg))
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
367 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
368
14131
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
369 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
370 endfunc
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
371
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
372 " 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
373 func Test_paragraph()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
374 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
375 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
376 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
377 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
378 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
379
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
380 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
381 call assert_beeps('normal vapapy')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
382
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
383 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
384 call cursor(1, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
385 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
386 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
387
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
388 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
389 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
390 normal yap
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
391 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
392 call assert_beeps('normal 3yap')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
393 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
394
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
395 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
396 call setline(1, [' ', ' ', ' '])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
397 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
398 normal Vipy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
399 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
400 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
401 call assert_beeps("normal Vipip")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
402 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
403
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
404 close!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
405 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
406
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
407 " Tests for text object aw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
408 func Test_textobj_a_word()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
409 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
410 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
411 " diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
412 norm! 1gg0diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
413 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
414 " daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
415 norm! 2ggEdaw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
416 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
417 " 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
418 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
419 call cursor(1, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
420 normal daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
421 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
422 " aw in visual mode
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
423 call cursor(2, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
424 normal! vawx
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
425 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
426 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
427 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
428 " diW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
429 norm! 2ggwd2iW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
430 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
431 " daW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
432 norm! 1ggd2aW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
433 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
434
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
435 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
436 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
437 " 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
438 norm! 2gg$Vawd
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
439 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
440 norm! 1gg$Viwd
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
441 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
442
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
443 " 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
444 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
445 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
446 call assert_equal("\teins", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
447 " 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
448 set selection=inclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
449 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
450 call assert_equal("\teins\t", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
451 set selection&
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
452
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
453 " 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
454 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
455 call setline(1, ' ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
456 call assert_beeps('normal 3lyaw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
457
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
458 " 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
459 call setline(1, 'one two')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
460 call assert_beeps('normal 2lvh2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
461 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
462 call assert_beeps('normal $vh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
463 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
464 call setline(1, ['', 'one two'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
465 call assert_beeps('normal 2G2lvh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
466 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
467
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
468 " 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
469 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
470 call setline(1, 'one a')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
471 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
472 call setline(1, 'one two ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
473 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
474 call assert_beeps('normal 03ly2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
475
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
476 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
477 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
478 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
479
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
480 " 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
481 func Test_textobj_sentence()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
482 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
483 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
484 \ '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
485 " 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
486 norm! 1gg0dis
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
487 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
488 \ '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
489 \ getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
490 " 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
491 norm! 3ggf?ldas
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
492 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
493 \ '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
494 " 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
495 norm! 3gg$Visy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
496 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
497 " reset visualmode()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
498 norm! 3ggVy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
499 norm! 3gg$Vasy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
500 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
501 " 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
502 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
503 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
504 " a<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
505 norm! 1gg0da<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
506 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
507 norm! 1pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
508 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
509 " at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
510 norm! d2at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
511 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
512 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
513 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
514 " i<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
515 norm! 1gg0di<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
516 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
517 norm! 1Pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
518 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
519 norm! d2it
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
520 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
521 " 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
522 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
523 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
524 norm! 3gg0di[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
525 call assert_equal([' ', '[', ']'], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
526 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
527 norm! 3gg0ftd2a[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
528 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
529
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
530 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
531 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
532 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
533
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
534 " Test for quote (', " and `) textobjects
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
535 func Test_textobj_quote()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
536 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
537
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
538 " 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
539 call append(0, 'foo "bar"')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
540 norm! 1gg0di"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
541 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
542
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
543 " 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
544 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
545 " 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
546 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
547 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
548 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
549 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
550
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
551 " 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
552 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
553 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
554 call feedkeys('v4li"y', 'xt')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
555 call assert_equal('"red"', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
556
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
557 " 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
558 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
559 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
560 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
561 call assert_equal('"red" color ', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
562
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
563 " 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
564 call cursor(1, 12)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
565 normal vhi"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
566 call assert_equal('red" ', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
567 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
568
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
569 " 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
570 call cursor(1, 17)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
571 normal v2hi"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
572 call assert_equal('red', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
573 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
574
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
575 " 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
576 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
577 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
578 normal 012lv2li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
579 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
580 set selection&
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
581
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
582 " 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
583 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
584 call cursor(1, 6)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
585 call assert_beeps("normal yi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
586 call assert_beeps("normal 2lyi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
587
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
588 " 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
589 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
590 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
591 call assert_equal("'special' ", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
592 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
593 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
594 call assert_equal(" 'special'", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
595
25725
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
596 " 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
597 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
598 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
599 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
600 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
601 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
602 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
603 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
604 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
605 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
606 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
607 normal $hhyi"
2dd3007f902d patch 8.2.3398: html text objects are not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 25437
diff changeset
608 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
609
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
610 close!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
611 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
612
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
613 " 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
614 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
615 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
616
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 " 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
618 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
619 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
620 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
621 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
622 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
623
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 " 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
625 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
626 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
627 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
628 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
629 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
630 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
631 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
632
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 " 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
634 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
635 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
636 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
637 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
638 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
639 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
640 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
641
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
642 close!
d4a710f06f02 patch 8.2.3255: ci" finds following string but ci< and others don't
Bram Moolenaar <Bram@vim.org>
parents: 22604
diff changeset
643 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
644
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
645 " vim: shiftwidth=2 sts=2 expandtab