Mercurial > vim
annotate src/testdir/test_regexp_latin.vim @ 18966:6bd715870e32 v8.2.0044
patch 8.2.0044: expression type is used inconsistently
Commit: https://github.com/vim/vim/commit/07a3db89b8953bd0964895badb3b662f7514bc10
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 25 18:14:14 2019 +0100
patch 8.2.0044: expression type is used inconsistently
Problem: Expression type is used inconsistently.
Solution: Add "ETYPE_IS" and "ETYPE_ISNOT" as separate enum values. Rename
"TYPE_" to "ETYPE_" to avoid confusion.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 25 Dec 2019 18:15:04 +0100 |
parents | ad9e9e92ad55 |
children | 2a017e9dc6da |
rev | line source |
---|---|
8825
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Tests for regexp in latin1 encoding |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 set encoding=latin1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 scriptencoding latin1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 func s:equivalence_test() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 let str = "AÀÁÂÃÄÅ B C D EÈÉÊË F G H IÌÍÎÏ J K L M NÑ OÒÓÔÕÖØ P Q R S T UÙÚÛÜ V W X YÝ Z aàáâãäå b c d eèéêë f g h iìíîï j k l m nñ oòóôõöø p q r s t uùúûü v w x yýÿ z" |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 let groups = split(str) |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 for group1 in groups |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 for c in split(group1, '\zs') |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 " next statement confirms that equivalence class matches every |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 " character in group |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_match('^[[=' . c . '=]]*$', group1) |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 for group2 in groups |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 if group2 != group1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 " next statement converts that equivalence class doesn't match |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 " a character in any other group |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 call assert_equal(-1, match(group2, '[[=' . c . '=]]')) |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 endif |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 endfor |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 endfor |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 endfor |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 endfunc |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 func Test_equivalence_re1() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 set re=1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 call s:equivalence_test() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 endfunc |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 func Test_equivalence_re2() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 set re=2 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 call s:equivalence_test() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 endfunc |
9890
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
33 |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
34 func Test_recursive_substitute() |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
35 new |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
36 s/^/\=execute("s#^##gn") |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
37 " check we are now not in the sandbox |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
38 call setwinvar(1, 'myvar', 1) |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
39 bwipe! |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
40 endfunc |
10168
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
41 |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
42 func Test_nested_backrefs() |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
43 " Check example in change.txt. |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
44 new |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
45 for re in range(0, 2) |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
46 exe 'set re=' . re |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
47 call setline(1, 'aa ab x') |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
48 1s/\(\(a[a-d] \)*\)\(x\)/-\1- -\2- -\3-/ |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
49 call assert_equal('-aa ab - -ab - -x-', getline(1)) |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
50 |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
51 call assert_equal('-aa ab - -ab - -x-', substitute('aa ab x', '\(\(a[a-d] \)*\)\(x\)', '-\1- -\2- -\3-', '')) |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
52 endfor |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
53 bwipe! |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
54 set re=0 |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
55 endfunc |
10170
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
56 |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
57 func Test_eow_with_optional() |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
58 let expected = ['abc def', 'abc', 'def', '', '', '', '', '', '', ''] |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
59 for re in range(0, 2) |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
60 exe 'set re=' . re |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
61 let actual = matchlist('abc def', '\(abc\>\)\?\s*\(def\)') |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
62 call assert_equal(expected, actual) |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
63 endfor |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
64 endfunc |
11525
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
65 |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
66 func Test_backref() |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
67 new |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
68 call setline(1, ['one', 'two', 'three', 'four', 'five']) |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
69 call assert_equal(3, search('\%#=1\(e\)\1')) |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
70 call assert_equal(3, search('\%#=2\(e\)\1')) |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
71 call assert_fails('call search("\\%#=1\\(e\\1\\)")', 'E65:') |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
72 call assert_fails('call search("\\%#=2\\(e\\1\\)")', 'E65:') |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
73 bwipe! |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
74 endfunc |
15486
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
75 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
76 func Test_multi_failure() |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
77 set re=1 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
78 call assert_fails('/a**', 'E61:') |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
79 call assert_fails('/a*\+', 'E62:') |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
80 call assert_fails('/a\{a}', 'E554:') |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
81 set re=2 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
82 call assert_fails('/a**', 'E871:') |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
83 call assert_fails('/a*\+', 'E871:') |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
84 call assert_fails('/a\{a}', 'E870:') |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
85 set re=0 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
86 endfunc |
15796
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
87 |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
88 func Test_recursive_addstate() |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
89 " This will call addstate() recursively until it runs into the limit. |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
90 let lnum = search('\v((){328}){389}') |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
91 call assert_equal(0, lnum) |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
92 endfunc |
15806
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
93 |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
94 func Test_out_of_memory() |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
95 new |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
96 s/^/,n |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
97 " This will be slow... |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
98 call assert_fails('call search("\\v((n||<)+);")', 'E363:') |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
99 endfunc |
15854
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
100 |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
101 func Test_get_equi_class() |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
102 new |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
103 " Incomplete equivalence class caused invalid memory access |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
104 s/^/[[= |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
105 call assert_equal(1, search(getline(1))) |
15860
9cd9bf2897de
patch 8.1.0937: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15856
diff
changeset
|
106 s/.*/[[. |
9cd9bf2897de
patch 8.1.0937: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15856
diff
changeset
|
107 call assert_equal(1, search(getline(1))) |
15854
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
108 endfunc |
15856
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
109 |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
110 func Test_rex_init() |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
111 set noincsearch |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
112 set re=1 |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
113 new |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
114 setlocal iskeyword=a-z |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
115 call setline(1, ['abc', 'ABC']) |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
116 call assert_equal(1, search('[[:keyword:]]')) |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
117 new |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
118 setlocal iskeyword=A-Z |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
119 call setline(1, ['abc', 'ABC']) |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
120 call assert_equal(2, search('[[:keyword:]]')) |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
121 bwipe! |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
122 bwipe! |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
123 set re=0 |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
124 endfunc |
15876
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
125 |
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
126 func Test_range_with_newline() |
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
127 new |
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
128 call setline(1, "a") |
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
129 call assert_equal(0, search("[ -*\\n- ]")) |
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
130 call assert_equal(0, search("[ -*\\t-\\n]")) |
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
131 bwipe! |
0c49755f460e
patch 8.1.0945: internal error when using pattern with NL in the range
Bram Moolenaar <Bram@vim.org>
parents:
15860
diff
changeset
|
132 endfunc |
15904
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
133 |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
134 func Test_pattern_compile_speed() |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
135 if !exists('+spellcapcheck') || !has('reltime') |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
136 return |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
137 endif |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
138 let start = reltime() |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
139 " this used to be very slow, not it should be about a second |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
140 set spc=\\v(((((Nxxxxxxx&&xxxx){179})+)+)+){179} |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
141 call assert_inrange(0.01, 10.0, reltimefloat(reltime(start))) |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
142 set spc= |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
143 endfunc |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
144 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
145 " Tests for regexp patterns without multi-byte support. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
146 func Test_regexp_single_line_pat() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
147 " tl is a List of Lists with: |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
148 " regexp engine |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
149 " regexp pattern |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
150 " text to test the pattern on |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
151 " expected match (optional) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
152 " expected submatch 1 (optional) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
153 " expected submatch 2 (optional) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
154 " etc. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
155 " When there is no match use only the first two items. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
156 let tl = [] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
157 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
158 call add(tl, [2, 'ab', 'aab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
159 call add(tl, [2, 'b', 'abcdef', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
160 call add(tl, [2, 'bc*', 'abccccdef', 'bcccc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
161 call add(tl, [2, 'bc\{-}', 'abccccdef', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
162 call add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
163 call add(tl, [2, 'bc*', 'abbdef', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
164 call add(tl, [2, 'c*', 'ccc', 'ccc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
165 call add(tl, [2, 'bc*', 'abdef', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
166 call add(tl, [2, 'c*', 'abdef', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
167 call add(tl, [2, 'bc\+', 'abccccdef', 'bcccc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
168 call add(tl, [2, 'bc\+', 'abdef']) " no match |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
169 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
170 " operator \| |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
171 call add(tl, [2, 'a\|ab', 'cabd', 'a']) " alternation is ordered |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
172 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
173 call add(tl, [2, 'c\?', 'ccb', 'c']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
174 call add(tl, [2, 'bc\?', 'abd', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
175 call add(tl, [2, 'bc\?', 'abccd', 'bc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
176 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
177 call add(tl, [2, '\va{1}', 'ab', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
178 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
179 call add(tl, [2, '\va{2}', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
180 call add(tl, [2, '\va{2}', 'caad', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
181 call add(tl, [2, '\va{2}', 'aba']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
182 call add(tl, [2, '\va{2}', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
183 call add(tl, [2, '\va{2}', 'abaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
184 call add(tl, [2, '\va{2}', 'aaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
185 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
186 call add(tl, [2, '\vb{1}', 'abca', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
187 call add(tl, [2, '\vba{2}', 'abaa', 'baa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
188 call add(tl, [2, '\vba{3}', 'aabaac']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
189 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
190 call add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
191 call add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
192 call add(tl, [2, '\v(ab){1}', 'acb']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
193 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
194 call add(tl, [2, '\v(ab){0,2}', 'acb', "", ""]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
195 call add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
196 call add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
197 call add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
198 call add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
199 call add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
200 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
201 call add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
202 call add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
203 call add(tl, [2, '\v(ab){2}', 'abac']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
204 call add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
205 call add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
206 call add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
207 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
208 call add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
209 call add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
210 call add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
211 call add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
212 call add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
213 call add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
214 call add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
215 call add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
216 call add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
217 call add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
218 call add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
219 call add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
220 call add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
221 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
222 call add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
223 call add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
224 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
225 call add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
226 call add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
227 call add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
228 call add(tl, [2, '\v(a{1,3}){3}', 'daac']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
229 call add(tl, [2, '\v(a{1,2}){2}', 'dac']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
230 call add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
231 call add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
232 call add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
233 call add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
234 call add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
235 call add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
236 call add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
237 call add(tl, [2, '\v(abc){2}', 'abcabd', ]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
238 call add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
239 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
240 call add(tl, [2, 'a*', 'cc', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
241 call add(tl, [2, '\v(a*)+', 'cc', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
242 call add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
243 call add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
244 call add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
245 call add(tl, [2, '\v(a{0,2})+', 'cc', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
246 call add(tl, [2, '\v(a*)+', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
247 call add(tl, [2, '\v((a*)+)+', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
248 call add(tl, [2, '\v((ab)*)+', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
249 call add(tl, [2, '\va{1,3}', 'aab', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
250 call add(tl, [2, '\va{2,3}', 'abaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
251 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
252 call add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
253 call add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
254 call add(tl, [2, '\va{2}|b{2}', 'abab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
255 call add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
256 call add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
257 call add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
258 call add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
259 call add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
260 call add(tl, [2, '\va*a{2}', 'a', ]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
261 call add(tl, [2, '\va*a{2}', 'aa', 'aa' ]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
262 call add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
263 call add(tl, [2, '\va*a{2}', 'bbbabcc', ]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
264 call add(tl, [2, '\va*b*|a*c*', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
265 call add(tl, [2, '\va{1}b{1}|a{1}b{1}', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
266 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
267 " submatches |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
268 call add(tl, [2, '\v(a)', 'ab', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
269 call add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
270 call add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
271 call add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
272 call add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
273 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
274 call add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
275 call add(tl, [2, 'x', 'abcdef']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
276 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
277 " |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
278 " Simple tests |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
279 " |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
280 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
281 " Search single groups |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
282 call add(tl, [2, 'ab', 'aab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
283 call add(tl, [2, 'ab', 'baced']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
284 call add(tl, [2, 'ab', ' ab ', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
285 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
286 " Search multi-modifiers |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
287 call add(tl, [2, 'x*', 'xcd', 'x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
288 call add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
289 " empty match is good |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
290 call add(tl, [2, 'x*', 'abcdoij', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
291 " no match here |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
292 call add(tl, [2, 'x\+', 'abcdoin']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
293 call add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
294 call add(tl, [2, 'x\+', 'xxxxx', 'xxxxx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
295 call add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
296 call add(tl, [2, 'x\=', 'x sdfoij', 'x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
297 call add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
298 call add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
299 call add(tl, [2, 'x\?', 'x sdfoij', 'x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
300 " empty match is good |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
301 call add(tl, [2, 'x\?', 'abc sfoij', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
302 call add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
303 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
304 call add(tl, [2, 'a\{0,0}', 'abcdfdoij', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
305 " same thing as 'a?' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
306 call add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
307 " same thing as 'a\{0,1}' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
308 call add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
309 call add(tl, [2, 'a\{3,6}', 'aa siofuh']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
310 call add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
311 call add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
312 call add(tl, [2, 'a\{0}', 'asoiuj', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
313 call add(tl, [2, 'a\{2}', 'aaaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
314 call add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj nasfvius afg aaaa sfiuhuhiushf', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
315 call add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
316 " same thing as 'a*' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
317 call add(tl, [2, 'a\{0,}', 'oij sdigfusnf', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
318 call add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
319 call add(tl, [2, 'a\{2,}', 'sdfiougjdsafg']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
320 call add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
321 call add(tl, [2, 'a\{5,}', 'xxaaaaxxx ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
322 call add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
323 call add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
324 call add(tl, [2, 'a\{,5}', 'abcd', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
325 call add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
326 " leading star as normal char when \{} follows |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
327 call add(tl, [2, '^*\{4,}$', '***']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
328 call add(tl, [2, '^*\{4,}$', '****', '****']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
329 call add(tl, [2, '^*\{4,}$', '*****', '*****']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
330 " same thing as 'a*' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
331 call add(tl, [2, 'a\{}', 'bbbcddiuhfcd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
332 call add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
333 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
334 call add(tl, [2, 'a\{-0,0}', 'abcdfdoij', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
335 " anti-greedy version of 'a?' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
336 call add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
337 call add(tl, [2, 'a\{-3,6}', 'aa siofuh']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
338 call add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
339 call add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
340 call add(tl, [2, 'a\{-0}', 'asoiuj', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
341 call add(tl, [2, 'a\{-2}', 'aaaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
342 call add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
343 call add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
344 call add(tl, [2, 'a\{-0,}', 'aaaaa aa', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
345 call add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
346 call add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
347 call add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
348 call add(tl, [2, 'a\{-,5}', 'abcd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
349 call add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
350 " anti-greedy version of 'a*' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
351 call add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
352 call add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
353 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
354 " Test groups of characters and submatches |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
355 call add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
356 call add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
357 call add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
358 call add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
359 call add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupiiiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
360 call add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obelix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
361 call add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', 'yyxxzz', 'yyxxzz', 'yyxxzz']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
362 call add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
363 call add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
364 call add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
365 call add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
366 call add(tl, [2, '\p*', 'aá ', 'aá ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
367 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
368 " Test greedy-ness and lazy-ness |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
369 call add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
370 call add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
371 call add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
372 call add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
373 call add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa','xayzxayz']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
374 call add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzxayzxa','']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
375 call add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
376 call add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
377 call add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
378 call add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
379 call add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
380 call add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
381 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
382 " Test Character classes |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
383 call add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
384 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
385 " Test collections and character range [] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
386 call add(tl, [2, '\v[a]', 'abcd', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
387 call add(tl, [2, 'a[bcd]', 'abcd', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
388 call add(tl, [2, 'a[b-d]', 'acbd', 'ac']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
389 call add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
390 call add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijklmnopqrstuvwxyz']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
391 call add(tl, [2, '[[:alpha:]\+]', '6x8','x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
392 call add(tl, [2, '[^abc]\+','abcabcabc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
393 call add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
394 call add(tl, [2, '[^abc]\+','ddddddda','ddddddd']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
395 call add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
396 call add(tl, [2, '[a-f]*','iiiiiiii','']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
397 call add(tl, [2, '[a-f]*','abcdefgh','abcdef']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
398 call add(tl, [2, '[^a-f]\+','abcdefgh','gh']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
399 call add(tl, [2, '[a-c]\{-3,6}','abcabc','abc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
400 call add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
401 call add(tl, [2, '[-a]', '-', '-']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
402 call add(tl, [2, '[a-]', '-', '-']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
403 call add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
404 call add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
405 " filename regexp |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
406 call add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
407 " special chars |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
408 call add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
409 " collation elem |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
410 call add(tl, [2, '[[.a.]]\+', 'aa', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
411 " middle of regexp |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
412 call add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
413 call add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
414 call add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
415 call add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
416 call add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
417 call add(tl, [2, '\_f', " \na ", "\n"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
418 call add(tl, [2, '\_f\+', " \na ", "\na"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
419 call add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
420 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
421 " Test start/end of line, start/end of file |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
422 call add(tl, [2, '^a.', "a_\nb ", "a_"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
423 call add(tl, [2, '^a.', "b a \na_"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
424 call add(tl, [2, '.a$', " a\n "]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
425 call add(tl, [2, '.a$', " a b\n_a", "_a"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
426 call add(tl, [2, '\%^a.', "a a\na", "a "]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
427 call add(tl, [2, '\%^a', " a \na "]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
428 call add(tl, [2, '.a\%$', " a\n "]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
429 call add(tl, [2, '.a\%$', " a\n_a", "_a"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
430 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
431 " Test recognition of character classes |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
432 call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
433 call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
434 call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
435 call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
436 call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
437 call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
438 call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
439 call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
440 call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
441 call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
442 call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
443 call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
444 call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
445 call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
446 call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
447 call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
448 call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
449 call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
450 call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
451 call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
452 call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
453 call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
454 call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
455 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
456 " Tests for \z features |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
457 " match ends at \ze |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
458 call add(tl, [2, 'xx \ze test', 'xx ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
459 call add(tl, [2, 'abc\zeend', 'oij abcend', 'abc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
460 call add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
461 call add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
462 call add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
463 call add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
464 " match starts at \zs |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
465 call add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
466 call add(tl, [2, 'aa \zsax', ' ax']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
467 call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
468 call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
469 call add(tl, [2, '\>\zs.', 'aword. ', '.']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
470 call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
471 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
472 " Tests for \@= and \& features |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
473 call add(tl, [2, 'abc\@=', 'abc', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
474 call add(tl, [2, 'abc\@=cd', 'abcd', 'abcd']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
475 call add(tl, [2, 'abc\@=', 'ababc', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
476 " will never match, no matter the input text |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
477 call add(tl, [2, 'abcd\@=e', 'abcd']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
478 " will never match |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
479 call add(tl, [2, 'abcd\@=e', 'any text in here ... ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
480 call add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
481 call add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
482 call add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', 'John is Bobs friend']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
483 call add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
484 call add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
485 call add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
486 call add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep', 'test1']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
487 call add(tl, [2, 'foo\(bar\)\@!', 'foobar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
488 call add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
489 call add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
490 call add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
491 call add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
492 call add(tl, [2, '\(foo\)\@!...bar', 'foobar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
493 call add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
494 call add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
495 call add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
496 call add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
497 call add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:', 's']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
498 call add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
499 call add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
500 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
501 " Combining different tests and features |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
502 call add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
503 call add(tl, [2, '', 'abcd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
504 call add(tl, [2, '\v(())', 'any possible text', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
505 call add(tl, [2, '\v%(ab(xyz)c)', ' abxyzc ', 'abxyzc', 'xyz']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
506 call add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
507 call add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
508 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
509 " \%u and friends |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
510 call add(tl, [2, '\%d32', 'yes no', ' ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
511 call add(tl, [2, '\%o40', 'yes no', ' ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
512 call add(tl, [2, '\%x20', 'yes no', ' ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
513 call add(tl, [2, '\%u0020', 'yes no', ' ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
514 call add(tl, [2, '\%U00000020', 'yes no', ' ']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
515 call add(tl, [2, '\%d0', "yes\x0ano", "\x0a"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
516 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
517 "" \%[abc] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
518 call add(tl, [2, 'foo\%[bar]', 'fobar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
519 call add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
520 call add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
521 call add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
522 call add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
523 call add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
524 call add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
525 call add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
526 call add(tl, [2, '\%[bar]x', 'barxx', 'barx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
527 call add(tl, [2, '\%[bar]x', 'bxx', 'bx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
528 call add(tl, [2, '\%[bar]x', 'xxx', 'x']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
529 call add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
530 call add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
531 call add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
532 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
533 " Alternatives, must use first longest match |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
534 call add(tl, [2, 'goo\|go', 'google', 'goo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
535 call add(tl, [2, '\<goo\|\<go', 'google', 'goo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
536 call add(tl, [2, '\<goo\|go', 'google', 'goo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
537 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
538 " Back references |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
539 call add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
540 call add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
541 call add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7\8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e', 'f', 'g', 'h', 'i']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
542 call add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
543 call add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
544 call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo.com', 'bat']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
545 call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
546 call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo.bat', 'bat', 'bat']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
547 call add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '${0}', '0']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
548 call add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
549 call add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
550 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
551 " Look-behind with limit |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
552 call add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
553 call add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
554 call add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
555 call add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
556 call add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
557 call add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
558 call add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
559 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
560 " look-behind match in front of a zero-width item |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
561 call add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
562 call add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '1970']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
563 call add(tl, [2, '\(foo\)\@<=\>', 'foobar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
564 call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
565 call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
566 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
567 " complicated look-behind match |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
568 call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
569 call add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
570 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
571 "" \@> |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
572 call add(tl, [2, '\(a*\)\@>a', 'aaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
573 call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
574 call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
575 call add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
576 " TODO: BT engine does not restore submatch after failure |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
577 call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
578 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
579 " "\_" prepended negated collection matches EOL |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
580 call add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
581 call add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
582 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
583 " Requiring lots of states. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
584 call add(tl, [2, '[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}', " 12345678-1234-1234-1234-123456789012 ", "12345678-1234-1234-1234-123456789012", "1234-"]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
585 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
586 " Skip adding state twice |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
587 call add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO", "#if", ' FOO']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
588 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
589 " Test \%V atom |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
590 call add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamtausgabe [Salleck] Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtausgabe', 'Gesamt']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
591 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
592 " Run the tests |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
593 for t in tl |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
594 let re = t[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
595 let pat = t[1] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
596 let text = t[2] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
597 let matchidx = 3 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
598 for engine in [0, 1, 2] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
599 if engine == 2 && re == 0 || engine == 1 && re == 1 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
600 continue |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
601 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
602 let ®expengine = engine |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
603 try |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
604 let l = matchlist(text, pat) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
605 catch |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
606 call assert_report('Error ' . engine . ': pat: \"' . pat |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
607 \ . '\", text: \"' . text . '\", caused an exception: \"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
608 \ . v:exception . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
609 endtry |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
610 " check the match itself |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
611 if len(l) == 0 && len(t) > matchidx |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
612 call assert_report('Error ' . engine . ': pat: \"' . pat |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
613 \ . '\", text: \"' . text . '\", did not match, expected: \"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
614 \ . t[matchidx] . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
615 elseif len(l) > 0 && len(t) == matchidx |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
616 call assert_report('Error ' . engine . ': pat: \"' . pat |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
617 \ . '\", text: \"' . text . '\", match: \"' . l[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
618 \ . '\", expected no match') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
619 elseif len(t) > matchidx && l[0] != t[matchidx] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
620 call assert_report('Error ' . engine . ': pat: \"' . pat |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
621 \ . '\", text: \"' . text . '\", match: \"' . l[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
622 \ . '\", expected: \"' . t[matchidx] . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
623 else |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
624 " Test passed |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
625 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
626 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
627 " check all the nine submatches |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
628 if len(l) > 0 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
629 for i in range(1, 9) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
630 if len(t) <= matchidx + i |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
631 let e = '' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
632 else |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
633 let e = t[matchidx + i] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
634 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
635 if l[i] != e |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
636 call assert_report('Error ' . engine . ': pat: \"' . pat |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
637 \ . '\", text: \"' . text . '\", submatch ' . i . ': \"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
638 \ . l[i] . '\", expected: \"' . e . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
639 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
640 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
641 unlet i |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
642 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
643 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
644 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
645 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
646 unlet t tl e l |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
647 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
648 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
649 " Tests for multi-line regexp patterns without multi-byte support. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
650 func Test_regexp_multiline_pat() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
651 let tl = [] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
652 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
653 " back references |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
654 call add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
655 call add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt'], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
656 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
657 " line breaks |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
658 call add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def', 'XXjk', 'lmn']]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
659 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
660 " Check that \_[0-9] matching EOL does not break a following \> |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
661 call add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'localnet/192.168.0.1', ''], ['', 'localnet/XX', '']]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
662 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
663 " Check a pattern with a line break and ^ and $ |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
664 call add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
665 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
666 call add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
667 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
668 " Run the multi-line tests |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
669 for t in tl |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
670 let re = t[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
671 let pat = t[1] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
672 let before = t[2] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
673 let after = t[3] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
674 for engine in [0, 1, 2] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
675 if engine == 2 && re == 0 || engine == 1 && re ==1 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
676 continue |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
677 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
678 let ®expengine = engine |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
679 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
680 call setline(1, before) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
681 exe '%s/' . pat . '/XX/' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
682 let result = getline(1, '$') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
683 q! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
684 if result != after |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
685 call assert_report('Error: pat: \"' . pat . '\", text: \"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
686 \ . string(before) . '\", expected: \"' . string(after) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
687 \ . '\", got: \"' . string(result) . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
688 else |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
689 " Test passed |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
690 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
691 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
692 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
693 unlet t tl |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
694 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
695 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
696 " Check that using a pattern on two lines doesn't get messed up by using |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
697 " matchstr() with \ze in between. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
698 func Test_matchstr_with_ze() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
699 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
700 call append(0, ['Substitute here:', '<T="">Ta 5</Title>', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
701 \ '<T="">Ac 7</Title>']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
702 call cursor(1, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
703 set re=0 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
704 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
705 .+1,.+2s/""/\='"' . matchstr(getline("."), '\d\+\ze<') . '"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
706 call assert_equal(['Substitute here:', '<T="5">Ta 5</Title>', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
707 \ '<T="7">Ac 7</Title>', ''], getline(1, '$')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
708 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
709 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
710 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
711 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
712 " Check a pattern with a look beind crossing a line boundary |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
713 func Test_lookbehind_across_line() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
714 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
715 call append(0, ['Behind:', 'asdfasd<yyy', 'xxstart1', 'asdfasd<yy', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
716 \ 'xxxstart2', 'asdfasd<yy', 'xxstart3']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
717 call cursor(1, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
718 call search('\(<\_[xy]\+\)\@3<=start') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
719 call assert_equal([0, 7, 3, 0], getpos('.')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
720 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
721 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
722 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
723 " Check matching Visual area |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
724 func Test_matching_visual_area() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
725 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
726 call append(0, ['Visual:', 'thexe the thexethe', 'andaxand andaxand', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
727 \ 'oooxofor foroxooo', 'oooxofor foroxooo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
728 call cursor(1, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
729 exe "normal jfxvfx:s/\\%Ve/E/g\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
730 exe "normal jV:s/\\%Va/A/g\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
731 exe "normal jfx\<C-V>fxj:s/\\%Vo/O/g\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
732 call assert_equal(['Visual:', 'thexE thE thExethe', 'AndAxAnd AndAxAnd', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
733 \ 'oooxOfOr fOrOxooo', 'oooxOfOr fOrOxooo', ''], getline(1, '$')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
734 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
735 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
736 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
737 " Check matching marks |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
738 func Test_matching_marks() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
739 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
740 call append(0, ['', '', '', 'Marks:', 'asdfSasdfsadfEasdf', 'asdfSas', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
741 \ 'dfsadfEasdf', '', '', '', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
742 call cursor(4, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
743 exe "normal jfSmsfEme:.-4,.+6s/.\\%>'s.*\\%<'e../here/\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
744 exe "normal jfSmsj0fEme:.-4,.+6s/.\\%>'s\\_.*\\%<'e../again/\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
745 call assert_equal(['', '', '', 'Marks:', 'asdfhereasdf', 'asdfagainasdf', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
746 \ '', '', '', '', '', ''], getline(1, '$')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
747 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
748 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
749 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
750 " Check patterns matching cursor position. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
751 func s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
752 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
753 call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
754 \ "\t\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
755 \ ' xxxxxxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
756 call setpos('.', [0, 1, 0, 0]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
757 s/\%>3c.//g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
758 call setpos('.', [0, 2, 4, 0]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
759 s/\%#.*$//g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
760 call setpos('.', [0, 3, 0, 0]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
761 s/\%<3c./_/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
762 %s/\%4l\%>5c./_/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
763 %s/\%6l\%>25v./_/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
764 %s/\%>6l\%3c./!/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
765 %s/\%>7l\%12c./?/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
766 %s/\%>7l\%<9l\%>5v\%<8v./#/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
767 $s/\%(|\u.*\)\@<=[^|\t]\+$//ge |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
768 call assert_equal(['ffo', 'bob', '__ooooo', 'koooo__', 'moooooo', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
769 \ ' f__', 'ab!babababababfoo', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
770 \ 'ba!ab##abab?bafoo', '**!*****_', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
771 \ ' ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx'], |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
772 \ getline(1, '$')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
773 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
774 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
775 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
776 func Test_matching_curpos() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
777 set re=0 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
778 call s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
779 set re=1 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
780 call s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
781 set re=2 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
782 call s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
783 set re& |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
784 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
785 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
786 " Test for matching the start and end of a buffer |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
787 func Test_start_end_of_buffer_match() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
788 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
789 call setline(1, repeat(['vim edit'], 20)) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
790 /\%^ |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
791 call assert_equal([0, 1, 1, 0], getpos('.')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
792 exe "normal 50%/\\%^..\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
793 call assert_equal([0, 1, 1, 0], getpos('.')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
794 exe "normal 50%/\\%$\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
795 call assert_equal([0, 20, 8, 0], getpos('.')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
796 exe "normal 6gg/..\\%$\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
797 call assert_equal([0, 20, 7, 0], getpos('.')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
798 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
799 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
800 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
801 " Check for detecting error |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
802 func Test_regexp_error() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
803 set regexpengine=2 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
804 call assert_fails("call matchlist('x x', ' \\ze*')", 'E888:') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
805 call assert_fails("call matchlist('x x', ' \\zs*')", 'E888:') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
806 set re& |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
807 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
808 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
809 " vim: shiftwidth=2 sts=2 expandtab |