annotate src/testdir/test_textobjects.vim @ 20460:c15dd3da4f47 v8.2.0784

patch 8.2.0784: libvterm code lags behind the upstream version Commit: https://github.com/vim/vim/commit/94d729cbe8f0f788d9d7539f733cff395e73b228 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 17 21:50:16 2020 +0200 patch 8.2.0784: libvterm code lags behind the upstream version Problem: Libvterm code lags behind the upstream version. Solution: Include revisions 730 - 733.
author Bram Moolenaar <Bram@vim.org>
date Sun, 17 May 2020 22:00:04 +0200
parents a4bd28e2cf1d
children 56c86b167b68
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))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
204 call assert_equal(0 , match("abcd", ".", 0, -1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
205 call assert_equal(0 , match('abc', '.', 0, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
206 call assert_equal(1 , match('abc', '.', 0, 2))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
207 call assert_equal(2 , match('abc', '.', 0, 3))
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))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
209 call assert_equal(1 , match('abc', '.', 1, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
210 call assert_equal(2 , match('abc', '.', 2, 1))
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))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
212 call assert_equal(3 , match('abc', '$', 0, 1))
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))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
214 call assert_equal(3 , match('abc', '$', 1, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
215 call assert_equal(3 , match('abc', '$', 2, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
216 call assert_equal(3 , match('abc', '$', 3, 1))
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))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
218 call assert_equal(0 , match('abc', '\zs', 0, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
219 call assert_equal(1 , match('abc', '\zs', 0, 2))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
220 call assert_equal(2 , match('abc', '\zs', 0, 3))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
221 call assert_equal(3 , match('abc', '\zs', 0, 4))
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))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
223 call assert_equal(1 , match('abc', '\zs', 1, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
224 call assert_equal(2 , match('abc', '\zs', 2, 1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
225 call assert_equal(3 , match('abc', '\zs', 3, 1))
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
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
314 %delete _
ec85acd49b8e patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Christian Brabandt <cb@256bit.org>
parents: 13223
diff changeset
315 endfunc
20199
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
316
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
317 " 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
318 func Test_paragraph()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
319 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
320 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
321 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
322 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
323 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
324
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
325 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
326 call assert_beeps('normal vapapy')
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 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
329 call cursor(1, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
330 normal vapy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
331 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
332
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
333 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
334 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
335 normal yap
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
336 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
337 call assert_beeps('normal 3yap')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
338 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
339
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
340 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
341 call setline(1, [' ', ' ', ' '])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
342 call cursor(2, 1)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
343 normal Vipy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
344 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
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 call assert_beeps("normal Vipip")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
347 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
348
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
349 close!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
350 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
351
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
352 " Tests for text object aw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
353 func Test_textobj_a_word()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
354 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
355 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
356 " diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
357 norm! 1gg0diw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
358 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
359 " daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
360 norm! 2ggEdaw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
361 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
362 " 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
363 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
364 call cursor(1, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
365 normal daw
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
366 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
367 " aw in visual mode
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
368 call cursor(2, 5)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
369 normal! vawx
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
370 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
371 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
372 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
373 " diW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
374 norm! 2ggwd2iW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
375 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
376 " daW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
377 norm! 1ggd2aW
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
378 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
379
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
380 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
381 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
382 " 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
383 norm! 2gg$Vawd
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
384 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
385 norm! 1gg$Viwd
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 ', 'foo zwei foo'], getline(1,'$'))
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 " 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
389 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
390 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
391 call assert_equal("\teins", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
392 " 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
393 set selection=inclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
394 normal gg3lvlawy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
395 call assert_equal("\teins\t", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
396 set selection&
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
397
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
398 " 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
399 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
400 call setline(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 3lyaw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
402
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
403 " 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
404 call setline(1, 'one two')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
405 call assert_beeps('normal 2lvh2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
406 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
407 call assert_beeps('normal $vh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
408 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
409 call setline(1, ['', 'one two'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
410 call assert_beeps('normal 2G2lvh3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
411 exe "normal \<C-C>"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
412
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
413 " 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
414 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
415 call setline(1, 'one a')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
416 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
417 call setline(1, 'one two ')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
418 call assert_beeps('normal 0y3aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
419 call assert_beeps('normal 03ly2aw')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
420
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
421 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
422 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
423 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
424
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
425 " 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
426 func Test_textobj_sentence()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
427 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
428 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
429 \ '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
430 " 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
431 norm! 1gg0dis
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
432 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
433 \ '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
434 \ getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
435 " 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
436 norm! 3ggf?ldas
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
437 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
438 \ '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
439 " 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
440 norm! 3gg$Visy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
441 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
442 " reset visualmode()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
443 norm! 3ggVy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
444 norm! 3gg$Vasy
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
445 call assert_equal('v', visualmode())
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
446 " 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
447 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
448 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
449 " a<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
450 norm! 1gg0da<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
451 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
452 norm! 1pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
453 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
454 " at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
455 norm! d2at
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
456 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
457 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
458 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
459 " i<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
460 norm! 1gg0di<
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
461 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
462 norm! 1Pj
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
463 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
464 norm! d2it
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
465 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
466 " 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
467 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
468 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
469 norm! 3gg0di[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
470 call assert_equal([' ', '[', ']'], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
471 call setline(1, [' ', '[', 'one [two]', 'thre', ']'])
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
472 norm! 3gg0ftd2a[
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
473 call assert_equal([' '], getline(1,'$'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
474
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
475 " clean up
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
476 bw!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
477 endfunc
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
478
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
479 " Test for quote (', " and `) textobjects
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
480 func Test_textobj_quote()
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
481 new
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
482
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
483 " 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
484 call append(0, 'foo "bar"')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
485 norm! 1gg0di"
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
486 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
487
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
488 " 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
489 %d
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
490 " 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
491 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
492 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
493 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
494 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
495
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
496 " 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
497 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
498 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
499 call feedkeys('v4li"y', 'xt')
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
500 call assert_equal('"red"', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
501
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
502 " 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
503 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
504 call cursor(1, 7)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
505 normal v4li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
506 call assert_equal('"red" color ', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
507
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
508 " 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
509 call cursor(1, 12)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
510 normal vhi"y
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 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
513
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
514 " 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
515 call cursor(1, 17)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
516 normal v2hi"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', @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
518 call assert_equal(8, col('.'))
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
519
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
520 " 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
521 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
522 set selection=exclusive
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
523 normal 012lv2li"y
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
524 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
525 set selection&
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
526
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
527 " 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
528 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
529 call cursor(1, 6)
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
530 call assert_beeps("normal yi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
531 call assert_beeps("normal 2lyi'")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
532
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
533 " 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
534 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
535 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
536 call assert_equal("'special' ", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
537 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
538 normal 0ya'
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
539 call assert_equal(" 'special'", @")
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
540
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
541 close!
a4bd28e2cf1d patch 8.2.0655: search code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 18677
diff changeset
542 endfunc
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 " vim: shiftwidth=2 sts=2 expandtab