annotate src/testdir/test_textobjects.vim @ 13223:e37327129859 v8.0.1486

patch 8.0.1486: accessing invalid memory with "it" commit https://github.com/vim/vim/commit/82846a00ac0c135946c93c48c1657018a5c96b11 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Feb 9 18:09:54 2018 +0100 patch 8.0.1486: accessing invalid memory with "it" Problem: Accessing invalid memory with "it". (Dominique Pelle) Solution: Avoid going over the end of the line. (Christian Brabandt, closes #2532)
author Christian Brabandt <cb@256bit.org>
date Fri, 09 Feb 2018 18:15:04 +0100
parents 1fad9675d8fd
children ec85acd49b8e
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
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 if !has('textobjects')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 finish
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 endif
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
7 func CpoM(line, useM, expected)
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 new
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 if a:useM
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 set cpoptions+=M
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 else
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 set cpoptions-=M
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 endif
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 call setline(1, a:line)
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 normal! ggfrmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 call assert_equal(getreg('"'), a:expected[0])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 normal! `afbmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 call assert_equal(getreg('"'), a:expected[1])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 call setreg('"', '')
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 normal! `afgmavi)y
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 call assert_equal(getreg('"'), a:expected[2])
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 q!
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
31 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
33 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
34 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
35 endfunc
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
36
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
37 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
38 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
39 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
41 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
42 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
43 endfunc
9642
8cc4dfadfd48 commit https://github.com/vim/vim/commit/00b24be454800f544676aa8850fb4378a568901e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
44
11478
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
45 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
46 new
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
47 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
48 set selection=exclusive
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', @")
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
51 set selection&vim
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
52 bw!
29a781fd3f27 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
53 endfunc
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
54
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
55 " 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
56 func Test_string_html_objects()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
57 enew!
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
58
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
59 let t = '"wo\"rd\\" foo'
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
60 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
61 normal! da"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
62 call assert_equal('foo', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
63
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
64 let t = "'foo' 'bar' 'piep'"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
65 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
66 normal! 0va'a'rx
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
67 call assert_equal("xxxxxxxxxxxx'piep'", getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
68
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
69 let t = "bla bla `quote` blah"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
70 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
71 normal! 02f`da`
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
72 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
73
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
74 let t = 'out " in "noXno"'
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
75 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
76 normal! 0fXdi"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
77 call assert_equal('out " in ""', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
78
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
79 let t = "\"'\" 'blah' rep 'buh'"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
80 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
81 normal! 03f'vi'ry
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
82 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
83
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
84 set quoteescape=+*-
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
85 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
86 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
87 normal! di`
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
88 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
89
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
90 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
91 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
92 normal! $F"va"oha"i"rz
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
93 call assert_equal('voo "zzzzzzzzzzzzzzzzzzzzzzzzzzzzsd', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
94
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
95 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
96 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
97 normal! fXdit
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
98 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
99
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
100 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
101 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
102 normal! 0fXdit
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
103 call assert_equal('-<b></b>-', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
104
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
105 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
106 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
107 normal! fXdat
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
108 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
109
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
110 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
111 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
112 normal! 0fXdat
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
113 call assert_equal('--', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
114
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
115 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
116 put =t
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
117 normal! dit
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
118 call assert_equal('-<b></b>', getline('.'))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
119
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
120 set quoteescape&
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
121 enew!
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
122 endfunc
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 " Tests for match() and matchstr()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
125 func Test_match()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11478
diff changeset
126 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
127 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
128 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
129 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
130 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
131 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
132 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
133 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
134 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
135 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
136 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
137 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
138 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
139 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
140 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
141 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
142 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
143 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
144 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
145 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
146 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
147 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
148 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
149 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
150 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
151 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
152 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
153 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
154 endfunc
13223
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
155
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
156 " 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
157 func Test_inner_tag()
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
158 new
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
159 norm ixxx
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
160 call feedkeys("v", 'xt')
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
161 insert
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
162 x
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
163 x
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
164 .
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
165 norm it
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
166 q!
e37327129859 patch 8.0.1486: accessing invalid memory with "it"
Christian Brabandt <cb@256bit.org>
parents: 12644
diff changeset
167 endfunc