annotate src/testdir/test_textobjects.vim @ 21552:cbc570e66d11 v8.2.1326

patch 8.2.1326: Vim9: skipping over white space after list Commit: https://github.com/vim/vim/commit/9d489566815d7913afc5dfc2a772bacede3970fb Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jul 30 20:08:50 2020 +0200 patch 8.2.1326: Vim9: skipping over white space after list Problem: Vim9: skipping over white space after list. Solution: Do not skip white space, a following [] would be misinterpreted. (closes #6552) Fix a few side effects.
author Bram Moolenaar <Bram@vim.org>
date Thu, 30 Jul 2020 20:15:05 +0200
parents 56c86b167b68
children 3ac0ef0578ef
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
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
44 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
45 new
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
46 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
47 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
48
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
49 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
50 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
51
18644
7bfe68b637be patch 8.1.2314: vi' sometimes does not select anything
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
52 let @"='dummy'
7bfe68b637be patch 8.1.2314: vi' sometimes does not select anything
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
53 exe "norm! $gevi'y"
7bfe68b637be patch 8.1.2314: vi' sometimes does not select anything
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
54 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
55
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
56 let @"='dummy'
953e83e09e78 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Bram Moolenaar <Bram@vim.org>
parents: 18644
diff changeset
57 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
58 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
59
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
60 set selection&vim
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
61 bw!
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
62 endfunc
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
63
15930
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
64 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
65 new
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
66 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
67 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
68 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
69 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
70 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
71 " 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
72 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
73 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
74 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
75 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
76 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
77 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
78 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
79 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
80 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
81 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
82 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
83 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
84 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
85 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
86 bw!
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
87 endfunc
e580c9d75443 patch 8.1.0971: failure for selecting quoted text object moves cursor
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
88
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
89 " 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
90 func Test_string_html_objects()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
91 enew!
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
92
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
93 let t = '"wo\"rd\\" foo'
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
94 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
95 normal! da"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
96 call assert_equal('foo', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
97
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
98 let t = "'foo' 'bar' 'piep'"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
99 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
100 normal! 0va'a'rx
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
101 call assert_equal("xxxxxxxxxxxx'piep'", getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
102
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
103 let t = "bla bla `quote` blah"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
104 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
105 normal! 02f`da`
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
106 call assert_equal("bla bla blah", getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
107
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
108 let t = 'out " in "noXno"'
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
109 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
110 normal! 0fXdi"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
111 call assert_equal('out " in ""', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
112
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
113 let t = "\"'\" 'blah' rep 'buh'"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
114 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
115 normal! 03f'vi'ry
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
116 call assert_equal("\"'\" 'blah'yyyyy'buh'", getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
117
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
118 set quoteescape=+*-
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
119 let t = "bla `s*`d-`+++`l**` b`la"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
120 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
121 normal! di`
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
122 call assert_equal("bla `` b`la", getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
123
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
124 let t = 'voo "nah" sdf " asdf" sdf " sdf" sd'
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
125 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
126 normal! $F"va"oha"i"rz
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
127 call assert_equal('voo "zzzzzzzzzzzzzzzzzzzzzzzzzzzzsd', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
128
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
129 let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
130 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
131 normal! fXdit
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
132 call assert_equal('-<b>asdf<i></i>asdf</b>-', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
133
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
134 let t = "-<b>asdX<i>a<i />sdf</i>asdf</b>-"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
135 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
136 normal! 0fXdit
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
137 call assert_equal('-<b></b>-', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
138
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
139 let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
140 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
141 normal! fXdat
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
142 call assert_equal('-<b>asdfasdf</b>-', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
143
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
144 let t = "-<b>asdX<i>as<b />df</i>asdf</b>-"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
145 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
146 normal! 0fXdat
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
147 call assert_equal('--', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
148
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
149 let t = "-<b>\ninnertext object\n</b>"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
150 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
151 normal! dit
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
152 call assert_equal('-<b></b>', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
153
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
154 " copy the tag block from leading indentation before the start tag
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
155 let t = " <b>\ntext\n</b>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
156 $put =t
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
157 normal! 2kvaty
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
158 call assert_equal("<b>\ntext\n</b>", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
159
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
160 " copy the tag block from the end tag
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
161 let t = "<title>\nwelcome\n</title>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
162 $put =t
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
163 normal! $vaty
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
164 call assert_equal("<title>\nwelcome\n</title>", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
165
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
166 " copy the outer tag block from a tag without an end tag
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
167 let t = "<html>\n<title>welcome\n</html>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
168 $put =t
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
169 normal! k$vaty
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
170 call assert_equal("<html>\n<title>welcome\n</html>", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
171
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
172 set quoteescape&
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
173 enew!
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
174 endfunc
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
175
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
176 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
177 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
178 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
179 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
180 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
181
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
182 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
183 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
184 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
185
e7f92d1a3fcd patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Christian Brabandt <cb@256bit.org>
parents: 14131
diff changeset
186 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
187 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
188 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
189
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
190 " selecting a tag block in an non-empty blank line should fail
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
191 call setline(1, ' ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
192 call assert_beeps('normal $vaty')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
193
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
194 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
195 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
196
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
197 " Tests for match() and matchstr()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
198 func Test_match()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
199 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
200 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
201 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
202 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
203 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
204 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
205 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
206 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
207 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
208 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
209 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
210 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
211 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
212 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
213 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
214 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
215 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
216 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
217 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
218 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
219 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
220 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
221 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
222 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
223 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
224 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
225 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
226 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
227 endfunc
13223
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
228
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
229 " 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
230 func Test_inner_tag()
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
231 new
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
232 norm ixxx
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
233 call feedkeys("v", 'xt')
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
234 insert
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
235 x
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
236 x
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
237 .
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
238 norm it
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
239 q!
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
240 endfunc
14131
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
241
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
242 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
243 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
244 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
245
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
246 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
247 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
248 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
249 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
250
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
251 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
252
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
253 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
254 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
255 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
256 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
257
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
258 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
259
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
260 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
261 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
262 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
263 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
264
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
265 normal 0
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
266 normal 2yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
267 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
268 normal 3yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
269 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
270 normal 2yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
271 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
272
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
273 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
274 endfunc
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
275
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
276 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
277 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
278 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
279
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
280 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
281 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
282 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
283 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
284
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
285 normal )
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
286
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
287 normal yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
288 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
289 normal yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
290 call assert_equal(' A sentence.', @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
291
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
292 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
293 endfunc
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
294
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 14554
diff changeset
295 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
296 enew!
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
297 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
298
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
299 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
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 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
302 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
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! 16|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! 16|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! 17|yis
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
310 call assert_equal("A '([sentence.])'", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
311 normal! 17|yas
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
312 call assert_equal("A '([sentence.])' ", @")
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
313
20895
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
314 " 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
315 %delete _
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
316 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
317 normal gg))
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
318 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
319
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
320 %delete _
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
321 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
322 normal gg))
56c86b167b68 patch 8.2.0999: moving to next sentence gets stuck on quote
Bram Moolenaar <Bram@vim.org>
parents: 20199
diff changeset
323 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
324
14131
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
325 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
326 endfunc
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
327
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
328 " 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
329 func Test_paragraph()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
330 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
331 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
332 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
333 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
334 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
335
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
336 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
337 call assert_beeps('normal vapapy')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
338
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
339 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
340 call cursor(1, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
341 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
342 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
343
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
344 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
345 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
346 normal yap
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
347 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
348 call assert_beeps('normal 3yap')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
349 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
350
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
351 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
352 call setline(1, [' ', ' ', ' '])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
353 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
354 normal Vipy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
355 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
356 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
357 call assert_beeps("normal Vipip")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
358 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
359
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
360 close!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
361 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
362
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
363 " Tests for text object aw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
364 func Test_textobj_a_word()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
365 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
366 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
367 " diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
368 norm! 1gg0diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
369 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
370 " daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
371 norm! 2ggEdaw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
372 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
373 " 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
374 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
375 call cursor(1, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
376 normal daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
377 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
378 " aw in visual mode
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
379 call cursor(2, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
380 normal! vawx
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
381 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
382 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
383 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
384 " diW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
385 norm! 2ggwd2iW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
386 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
387 " daW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
388 norm! 1ggd2aW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
389 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
390
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
391 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
392 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
393 " 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
394 norm! 2gg$Vawd
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
395 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
396 norm! 1gg$Viwd
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
397 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
398
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
399 " 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
400 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
401 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
402 call assert_equal("\teins", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
403 " 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
404 set selection=inclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
405 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
406 call assert_equal("\teins\t", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
407 set selection&
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
408
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
409 " 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
410 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
411 call setline(1, ' ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
412 call assert_beeps('normal 3lyaw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
413
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
414 " 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
415 call setline(1, 'one two')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
416 call assert_beeps('normal 2lvh2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
417 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
418 call assert_beeps('normal $vh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
419 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
420 call setline(1, ['', 'one two'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
421 call assert_beeps('normal 2G2lvh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
422 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
423
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
424 " 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
425 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
426 call setline(1, 'one a')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
427 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
428 call setline(1, 'one two ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
429 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
430 call assert_beeps('normal 03ly2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
431
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
432 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
433 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
434 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
435
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
436 " 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
437 func Test_textobj_sentence()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
438 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
439 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
440 \ '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
441 " 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
442 norm! 1gg0dis
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
443 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
444 \ '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
445 \ getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
446 " 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
447 norm! 3ggf?ldas
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
448 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
449 \ '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
450 " 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
451 norm! 3gg$Visy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
452 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
453 " reset visualmode()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
454 norm! 3ggVy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
455 norm! 3gg$Vasy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
456 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
457 " 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
458 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
459 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
460 " a<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
461 norm! 1gg0da<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
462 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
463 norm! 1pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
464 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
465 " at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
466 norm! d2at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
467 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
468 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
469 call setline(1, ['<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
470 " i<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
471 norm! 1gg0di<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
472 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
473 norm! 1Pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
474 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
475 norm! d2it
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
476 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
477 " 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
478 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
479 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
480 norm! 3gg0di[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
481 call assert_equal([' ', '[', ']'], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
482 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
483 norm! 3gg0ftd2a[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
484 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
485
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
486 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
487 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
488 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
489
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
490 " Test for quote (', " and `) textobjects
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
491 func Test_textobj_quote()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
492 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
493
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
494 " 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
495 call append(0, 'foo "bar"')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
496 norm! 1gg0di"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
497 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
498
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
499 " 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
500 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
501 " 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
502 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
503 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
504 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
505 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
506
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
507 " 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
508 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
509 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
510 call feedkeys('v4li"y', 'xt')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
511 call assert_equal('"red"', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
512
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
513 " 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
514 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
515 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
516 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
517 call assert_equal('"red" color ', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
518
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
519 " 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
520 call cursor(1, 12)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
521 normal vhi"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
522 call assert_equal('red" ', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
523 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
524
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
525 " 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
526 call cursor(1, 17)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
527 normal v2hi"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
528 call assert_equal('red', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
529 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
530
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
531 " 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
532 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
533 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
534 normal 012lv2li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
535 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
536 set selection&
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 " 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
539 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
540 call cursor(1, 6)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
541 call assert_beeps("normal yi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
542 call assert_beeps("normal 2lyi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
543
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
544 " 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
545 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
546 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
547 call assert_equal("'special' ", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
548 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
549 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
550 call assert_equal(" 'special'", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
551
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
552 close!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
553 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
554
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
555 " vim: shiftwidth=2 sts=2 expandtab