Mercurial > vim
annotate src/testdir/test_textobjects.vim @ 21303:7c50dfe302f8 v8.2.1202
patch 8.2.1202: Vim9: crash when calling a closure from a builtin function
Commit: https://github.com/vim/vim/commit/08f7a41b0a280e5901eb4ee4bbfe682113863492
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jul 13 20:41:08 2020 +0200
patch 8.2.1202: Vim9: crash when calling a closure from a builtin function
Problem: Vim9: crash when calling a closure from a builtin function.
Solution: Use the current execution context. (closes https://github.com/vim/vim/issues/6441)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 13 Jul 2020 20:45:04 +0200 |
parents | 56c86b167b68 |
children | cbc570e66d11 |
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 |
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 |