Mercurial > vim
annotate src/testdir/test_regexp_latin.vim @ 22860:53acb89ec9f2 v8.2.1977
patch 8.2.1977: Vim9: error for using a string in a condition is confusing
Commit: https://github.com/vim/vim/commit/ea2d407f9c144bb634c59017944e4930ed7f80a2
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Nov 12 12:08:51 2020 +0100
patch 8.2.1977: Vim9: error for using a string in a condition is confusing
Problem: Vim9: error for using a string in a condition is confusing.
Solution: Give a more specific error. Also adjust the compile time type
checking for || and &&.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 12 Nov 2020 12:15:04 +0100 |
parents | 08940efa6b4e |
children | 90b16a0022e5 |
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 |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2 |
8825
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 set encoding=latin1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 scriptencoding latin1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 |
19249
2a017e9dc6da
patch 8.2.0183: tests fail when the float feature is disabled
Bram Moolenaar <Bram@vim.org>
parents:
18898
diff
changeset
|
6 source check.vim |
2a017e9dc6da
patch 8.2.0183: tests fail when the float feature is disabled
Bram Moolenaar <Bram@vim.org>
parents:
18898
diff
changeset
|
7 |
8825
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 func s:equivalence_test() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 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
|
10 let groups = split(str) |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 for group1 in groups |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 for c in split(group1, '\zs') |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 " 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
|
14 " character in group |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 call assert_match('^[[=' . c . '=]]*$', group1) |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 for group2 in groups |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 if group2 != group1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 " 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
|
19 " a character in any other group |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 call assert_equal(-1, match(group2, '[[=' . c . '=]]')) |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 endif |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 endfor |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 endfor |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 endfor |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 endfunc |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 func Test_equivalence_re1() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 set re=1 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 call s:equivalence_test() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 endfunc |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 func Test_equivalence_re2() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 set re=2 |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 call s:equivalence_test() |
318eaa6fa973
commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 endfunc |
9890
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
36 |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
37 func Test_recursive_substitute() |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
38 new |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
39 s/^/\=execute("s#^##gn") |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
40 " 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
|
41 call setwinvar(1, 'myvar', 1) |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
42 bwipe! |
064effd222a3
commit https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Christian Brabandt <cb@256bit.org>
parents:
8825
diff
changeset
|
43 endfunc |
10168
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
44 |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
45 func Test_nested_backrefs() |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
46 " Check example in change.txt. |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
47 new |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
48 for re in range(0, 2) |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
49 exe 'set re=' . re |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
50 call setline(1, 'aa ab x') |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
51 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
|
52 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
|
53 |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
54 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
|
55 endfor |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
56 bwipe! |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
57 set re=0 |
3c37899baa8d
commit https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
58 endfunc |
10170
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
59 |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
60 func Test_eow_with_optional() |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
61 let expected = ['abc def', 'abc', 'def', '', '', '', '', '', '', ''] |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
62 for re in range(0, 2) |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
63 exe 'set re=' . re |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
64 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
|
65 call assert_equal(expected, actual) |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
66 endfor |
4acacf4081ce
commit https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
Christian Brabandt <cb@256bit.org>
parents:
10168
diff
changeset
|
67 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
|
68 |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
69 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
|
70 new |
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 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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 bwipe! |
14b6b79d685b
patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents:
10170
diff
changeset
|
77 endfunc |
15486
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
78 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
79 func Test_multi_failure() |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
80 set re=1 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
81 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
|
82 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
|
83 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
|
84 set re=2 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
85 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
|
86 call assert_fails('/a*\+', 'E871:') |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
19969
diff
changeset
|
87 call assert_fails('/a\{a}', 'E554:') |
15486
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
88 set re=0 |
b143545e3354
patch 8.1.0751: some regexp errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
11525
diff
changeset
|
89 endfunc |
15796
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
90 |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
91 func Test_recursive_addstate() |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
92 " 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
|
93 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
|
94 call assert_equal(0, lnum) |
481452f6687c
patch 8.1.0905: complicated regexp causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
15486
diff
changeset
|
95 endfunc |
15806
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
96 |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
97 func Test_out_of_memory() |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
98 new |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
99 s/^/,n |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
100 " This will be slow... |
6a4e9d9f1d66
patch 8.1.0910: crash with tricky search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15796
diff
changeset
|
101 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
|
102 endfunc |
15854
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
103 |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
104 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
|
105 new |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
106 " 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
|
107 s/^/[[= |
4ac1c185b0b8
patch 8.1.0934: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15806
diff
changeset
|
108 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
|
109 s/.*/[[. |
9cd9bf2897de
patch 8.1.0937: invalid memory access in search pattern
Bram Moolenaar <Bram@vim.org>
parents:
15856
diff
changeset
|
110 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
|
111 endfunc |
15856
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
112 |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
113 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
|
114 set noincsearch |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
115 set re=1 |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
116 new |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
117 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
|
118 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
|
119 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
|
120 new |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
121 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
|
122 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
|
123 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
|
124 bwipe! |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
125 bwipe! |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
126 set re=0 |
e44b7caaf373
patch 8.1.0935: old regexp engine may use invalid buffer
Bram Moolenaar <Bram@vim.org>
parents:
15854
diff
changeset
|
127 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
|
128 |
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 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
|
130 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
|
131 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
|
132 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
|
133 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
|
134 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
|
135 endfunc |
15904
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
136 |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
137 func Test_pattern_compile_speed() |
19249
2a017e9dc6da
patch 8.2.0183: tests fail when the float feature is disabled
Bram Moolenaar <Bram@vim.org>
parents:
18898
diff
changeset
|
138 CheckOption spellcapcheck |
2a017e9dc6da
patch 8.2.0183: tests fail when the float feature is disabled
Bram Moolenaar <Bram@vim.org>
parents:
18898
diff
changeset
|
139 CheckFunction reltimefloat |
2a017e9dc6da
patch 8.2.0183: tests fail when the float feature is disabled
Bram Moolenaar <Bram@vim.org>
parents:
18898
diff
changeset
|
140 |
15904
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
141 let start = reltime() |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
142 " 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
|
143 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
|
144 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
|
145 set spc= |
fec4416adb80
patch 8.1.0958: compiling weird regexp pattern is very slow
Bram Moolenaar <Bram@vim.org>
parents:
15876
diff
changeset
|
146 endfunc |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
147 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
148 " 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
|
149 func Test_regexp_single_line_pat() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
150 " tl is a List of Lists with: |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
151 " regexp engines to test |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
152 " 0 - test with 'regexpengine' values 0 and 1 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
153 " 1 - test with 'regexpengine' values 0 and 2 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
154 " 2 - test with 'regexpengine' values 0, 1 and 2 |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
155 " regexp pattern |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
156 " text to test the pattern on |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
157 " expected match (optional) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
158 " expected submatch 1 (optional) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
159 " expected submatch 2 (optional) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
160 " etc. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
161 " 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
|
162 let tl = [] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
163 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
164 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 call add(tl, [2, 'c*', 'abdef', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
173 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
|
174 call add(tl, [2, 'bc\+', 'abdef']) " no match |
19969
b07672d13ff9
patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
175 " match escape character in a string |
b07672d13ff9
patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
176 call add(tl, [2, '.\e.', "one\<Esc>two", "e\<Esc>t"]) |
b07672d13ff9
patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
177 " match backspace character in a string |
b07672d13ff9
patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
178 call add(tl, [2, '.\b.', "one\<C-H>two", "e\<C-H>t"]) |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
179 " match newline character in a string |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
180 call add(tl, [2, 'o\nb', "foo\nbar", "o\nb"]) |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
181 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
182 " operator \| |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
183 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
|
184 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
185 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
|
186 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
|
187 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
|
188 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
189 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
|
190 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
191 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
|
192 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
|
193 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
|
194 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
|
195 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
|
196 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
|
197 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
198 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
|
199 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
|
200 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
|
201 |
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){1}', 'ab', 'ab', '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){1}', 'dabc', 'ab', 'ab']) |
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){1}', 'acb']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
205 |
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){0,2}', 'acb', "", ""]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
207 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
|
208 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
|
209 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
|
210 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
|
211 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
|
212 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
213 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
|
214 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
|
215 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
|
216 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
|
217 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
|
218 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
|
219 |
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{1}){1}', 'a', 'a', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
221 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
|
222 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
|
223 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
|
224 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
|
225 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
|
226 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
|
227 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
|
228 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
|
229 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
|
230 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
|
231 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
|
232 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
|
233 |
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+){2}', 'dadaac', 'aa', 'a']) |
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{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
236 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
237 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
|
238 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
|
239 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
|
240 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
|
241 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
|
242 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
|
243 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
|
244 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
|
245 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
|
246 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
|
247 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
|
248 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
|
249 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
|
250 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
|
251 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
252 call add(tl, [2, 'a*', 'cc', '']) |
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*)+', 'cc', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
254 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
|
255 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
|
256 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
|
257 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
|
258 call add(tl, [2, '\v(a*)+', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
259 call add(tl, [2, '\v((a*)+)+', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
260 call add(tl, [2, '\v((ab)*)+', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
261 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
|
262 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
|
263 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
264 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
|
265 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
|
266 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
|
267 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
|
268 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
|
269 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
|
270 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
|
271 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
|
272 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
|
273 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
|
274 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
|
275 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
|
276 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
|
277 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
|
278 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
279 " submatches |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
280 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
|
281 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
|
282 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
|
283 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
|
284 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
|
285 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
286 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
|
287 call add(tl, [2, 'x', 'abcdef']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
288 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
289 " |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
290 " Simple tests |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
291 " |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
292 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
293 " Search single groups |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
294 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
|
295 call add(tl, [2, 'ab', 'baced']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
296 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
|
297 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
298 " Search multi-modifiers |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
299 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
|
300 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
|
301 " empty match is good |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
302 call add(tl, [2, 'x*', 'abcdoij', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
303 " no match here |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
304 call add(tl, [2, 'x\+', 'abcdoin']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
305 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
|
306 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
|
307 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
|
308 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
|
309 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
|
310 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
|
311 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
|
312 " empty match is good |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
313 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
|
314 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
|
315 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
316 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
|
317 " same thing as 'a?' |
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,1}', 'asiubid axxxaaa', 'a']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
319 " same thing as 'a\{0,1}' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
320 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
|
321 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
|
322 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
|
323 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
|
324 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
|
325 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
|
326 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
|
327 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
|
328 " same thing as 'a*' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
329 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
|
330 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
|
331 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
|
332 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
|
333 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
|
334 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
|
335 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
|
336 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
|
337 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
|
338 " 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
|
339 call add(tl, [2, '^*\{4,}$', '***']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
340 call add(tl, [2, '^*\{4,}$', '****', '****']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
341 call add(tl, [2, '^*\{4,}$', '*****', '*****']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
342 " same thing as 'a*' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
343 call add(tl, [2, 'a\{}', 'bbbcddiuhfcd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
344 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
|
345 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
346 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
|
347 " anti-greedy version of 'a?' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
348 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
|
349 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
|
350 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
|
351 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
|
352 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
|
353 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
|
354 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
|
355 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
|
356 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
|
357 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
|
358 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
|
359 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
|
360 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
|
361 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
|
362 " anti-greedy version of 'a*' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
363 call add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
364 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
|
365 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
366 " Test groups of characters and submatches |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
367 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
|
368 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
|
369 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
|
370 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
|
371 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
|
372 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
|
373 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
|
374 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
|
375 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
|
376 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
|
377 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
|
378 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
|
379 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
380 " Test greedy-ness and lazy-ness |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
381 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
|
382 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
|
383 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
|
384 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
|
385 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
|
386 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
|
387 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
|
388 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
|
389 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
|
390 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
|
391 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
|
392 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
|
393 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
394 " Test Character classes |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
395 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
|
396 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
397 " Test collections and character range [] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
398 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
|
399 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
|
400 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
|
401 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
|
402 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
|
403 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
|
404 call add(tl, [2, '[^abc]\+','abcabcabc']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
405 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
|
406 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
|
407 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
|
408 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
|
409 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
|
410 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
|
411 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
|
412 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
|
413 call add(tl, [2, '[-a]', '-', '-']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
414 call add(tl, [2, '[a-]', '-', '-']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
415 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
|
416 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
|
417 " filename regexp |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
418 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
|
419 " special chars |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
420 call add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
421 " collation elem |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
422 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
|
423 " middle of regexp |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
424 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
|
425 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
|
426 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
|
427 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
|
428 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
|
429 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
|
430 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
|
431 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
|
432 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
433 " 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
|
434 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
|
435 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
|
436 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
|
437 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
|
438 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
|
439 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
|
440 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
|
441 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
|
442 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
443 " Test recognition of character classes |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
444 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
|
445 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
|
446 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
|
447 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
|
448 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
|
449 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
|
450 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
|
451 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
|
452 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
|
453 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
|
454 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
|
455 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
|
456 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
|
457 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
|
458 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
|
459 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
|
460 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
|
461 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
|
462 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
|
463 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
|
464 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
|
465 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
|
466 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
|
467 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
468 " Tests for \z features |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
469 " match ends at \ze |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
470 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
|
471 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
|
472 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
|
473 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
|
474 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
|
475 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
|
476 " match starts at \zs |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
477 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
|
478 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
|
479 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
|
480 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
|
481 call add(tl, [2, '\>\zs.', 'aword. ', '.']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
482 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
|
483 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
484 " Tests for \@= and \& features |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
485 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
|
486 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
|
487 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
|
488 " 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
|
489 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
|
490 " will never match |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
491 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
|
492 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
|
493 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
|
494 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
|
495 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
|
496 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
|
497 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
|
498 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
|
499 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
|
500 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
|
501 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
|
502 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
|
503 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
|
504 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
|
505 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
|
506 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
|
507 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
|
508 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
|
509 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
|
510 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
|
511 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
|
512 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
513 " Combining different tests and features |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
514 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
|
515 call add(tl, [2, '', 'abcd', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
516 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
|
517 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
|
518 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
|
519 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
|
520 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
521 " \%u and friends |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
522 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
|
523 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
|
524 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
|
525 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
|
526 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
|
527 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
|
528 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
529 "" \%[abc] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
530 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
|
531 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
|
532 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
|
533 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
|
534 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
|
535 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
|
536 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
|
537 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
|
538 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
|
539 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
|
540 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
|
541 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
|
542 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
|
543 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
|
544 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
545 " Alternatives, must use first longest match |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
546 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
|
547 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
|
548 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
|
549 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
550 " Back references |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
551 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
|
552 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
|
553 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
|
554 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
|
555 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
|
556 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
|
557 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
|
558 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
|
559 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
|
560 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
|
561 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
|
562 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
563 " Look-behind with limit |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
564 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
|
565 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
|
566 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
|
567 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
|
568 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
|
569 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
|
570 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
|
571 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
572 " 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
|
573 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
|
574 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
|
575 call add(tl, [2, '\(foo\)\@<=\>', 'foobar']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
576 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
|
577 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
|
578 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
579 " complicated look-behind match |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
580 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
|
581 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
|
582 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
583 "" \@> |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
584 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
|
585 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
|
586 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
|
587 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
|
588 " 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
|
589 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
|
590 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
591 " "\_" prepended negated collection matches EOL |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
592 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
|
593 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
|
594 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
595 " Requiring lots of states. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
596 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
|
597 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
598 " Skip adding state twice |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
599 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
|
600 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
601 " Test \%V atom |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
602 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
|
603 |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
604 " Test for ignoring case and matching repeated characters |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
605 call add(tl, [2, '\cb\+', 'aAbBbBcC', 'bBbB']) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
606 |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
607 " Run the tests |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
608 for t in tl |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
609 let re = t[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
610 let pat = t[1] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
611 let text = t[2] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
612 let matchidx = 3 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
613 for engine in [0, 1, 2] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
614 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
|
615 continue |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
616 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
617 let ®expengine = engine |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
618 try |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
619 let l = matchlist(text, pat) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
620 catch |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
621 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
|
622 \ . '\", text: \"' . text . '\", caused an exception: \"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
623 \ . v:exception . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
624 endtry |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
625 " check the match itself |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
626 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
|
627 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
|
628 \ . '\", text: \"' . text . '\", did not match, expected: \"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
629 \ . t[matchidx] . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
630 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
|
631 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
|
632 \ . '\", text: \"' . text . '\", match: \"' . l[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
633 \ . '\", expected no match') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
634 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
|
635 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
|
636 \ . '\", text: \"' . text . '\", match: \"' . l[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
637 \ . '\", expected: \"' . t[matchidx] . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
638 else |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
639 " Test passed |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
640 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
641 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
642 " check all the nine submatches |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
643 if len(l) > 0 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
644 for i in range(1, 9) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
645 if len(t) <= matchidx + i |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
646 let e = '' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
647 else |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
648 let e = t[matchidx + i] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
649 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
650 if l[i] != e |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
651 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
|
652 \ . '\", text: \"' . text . '\", submatch ' . i . ': \"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
653 \ . l[i] . '\", expected: \"' . e . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
654 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
655 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
656 unlet i |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
657 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
658 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
659 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
660 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
661 unlet t tl e l |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
662 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
663 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
664 " 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
|
665 func Test_regexp_multiline_pat() |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
666 " tl is a List of Lists with: |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
667 " regexp engines to test |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
668 " 0 - test with 'regexpengine' values 0 and 1 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
669 " 1 - test with 'regexpengine' values 0 and 2 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
670 " 2 - test with 'regexpengine' values 0, 1 and 2 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
671 " regexp pattern |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
672 " List with text to test the pattern on |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
673 " List with the expected match |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
674 let tl = [] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
675 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
676 " back references |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
677 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
|
678 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
|
679 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
680 " line breaks |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
681 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
|
682 |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
683 " Any single character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
684 call add(tl, [2, '\_.\+', ['a', 'b', 'c'], ['XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
685 " Any identifier or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
686 call add(tl, [2, '\_i\+', ['a', 'b', ';', '2'], ['XX;XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
687 " Any identifier but excluding digits or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
688 call add(tl, [2, '\_I\+', ['a', 'b', ';', '2'], ['XX;XX2XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
689 " Any keyword or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
690 call add(tl, [2, '\_k\+', ['a', 'b', '=', '2'], ['XX=XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
691 " Any keyword but excluding digits or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
692 call add(tl, [2, '\_K\+', ['a', 'b', '=', '2'], ['XX=XX2XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
693 " Any filename character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
694 call add(tl, [2, '\_f\+', ['a', 'b', '.', '5'], ['XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
695 " Any filename character but excluding digits or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
696 call add(tl, [2, '\_F\+', ['a', 'b', '.', '5'], ['XX5XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
697 " Any printable character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
698 call add(tl, [2, '\_p\+', ['a', 'b', '=', '4'], ['XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
699 " Any printable character excluding digits or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
700 call add(tl, [2, '\_P\+', ['a', 'b', '=', '4'], ['XX4XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
701 " Any whitespace character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
702 call add(tl, [2, '\_s\+', [' ', ' ', 'a', 'b'], ['XXaXXbXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
703 " Any non-whitespace character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
704 call add(tl, [2, '\_S\+', [' ', ' ', 'a', 'b'], [' XX XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
705 " Any decimal digit or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
706 call add(tl, [2, '\_d\+', ['1', 'a', '2', 'b', '3'], ['XXaXXbXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
707 " Any non-decimal digit or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
708 call add(tl, [2, '\_D\+', ['1', 'a', '2', 'b', '3'], ['1XX2XX3XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
709 " Any hexadecimal digit or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
710 call add(tl, [2, '\_x\+', ['1', 'a', 'g', '9', '8'], ['XXgXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
711 " Any non-hexadecimal digit or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
712 call add(tl, [2, '\_X\+', ['1', 'a', 'g', '9', '8'], ['1XXaXX9XX8XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
713 " Any octal digit or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
714 call add(tl, [2, '\_o\+', ['0', '7', '8', '9', '0'], ['XX8XX9XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
715 " Any non-octal digit or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
716 call add(tl, [2, '\_O\+', ['0', '7', '8', '9', '0'], ['0XX7XX0XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
717 " Any word character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
718 call add(tl, [2, '\_w\+', ['A', 'B', '=', 'C', 'D'], ['XX=XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
719 " Any non-word character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
720 call add(tl, [2, '\_W\+', ['A', 'B', '=', 'C', 'D'], ['AXXBXXCXXDXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
721 " Any head-of-word character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
722 call add(tl, [2, '\_h\+', ['a', '1', 'b', '2', 'c'], ['XX1XX2XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
723 " Any non-head-of-word character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
724 call add(tl, [2, '\_H\+', ['a', '1', 'b', '2', 'c'], ['aXXbXXcXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
725 " Any alphabetic character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
726 call add(tl, [2, '\_a\+', ['a', '1', 'b', '2', 'c'], ['XX1XX2XX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
727 " Any non-alphabetic character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
728 call add(tl, [2, '\_A\+', ['a', '1', 'b', '2', 'c'], ['aXXbXXcXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
729 " Any lowercase character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
730 call add(tl, [2, '\_l\+', ['a', 'A', 'b', 'B'], ['XXAXXBXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
731 " Any non-lowercase character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
732 call add(tl, [2, '\_L\+', ['a', 'A', 'b', 'B'], ['aXXbXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
733 " Any uppercase character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
734 call add(tl, [2, '\_u\+', ['a', 'A', 'b', 'B'], ['aXXbXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
735 " Any non-uppercase character or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
736 call add(tl, [2, '\_U\+', ['a', 'A', 'b', 'B'], ['XXAXXBXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
737 " Collection or end-of-line |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
738 call add(tl, [2, '\_[a-z]\+', ['a', 'A', 'b', 'B'], ['XXAXXBXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
739 " start of line anywhere in the text |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
740 call add(tl, [2, 'one\zs\_s*\_^\zetwo', |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
741 \ ['', 'one', ' two', 'one', '', 'two'], |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
742 \ ['', 'one', ' two', 'oneXXtwo']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
743 " end of line anywhere in the text |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
744 call add(tl, [2, 'one\zs\_$\_s*two', |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
745 \ ['', 'one', ' two', 'one', '', 'two'], ['', 'oneXX', 'oneXX']]) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
746 |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
747 " 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
|
748 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
|
749 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
750 " 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
|
751 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
|
752 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
753 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
|
754 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
755 " Run the multi-line tests |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
756 for t in tl |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
757 let re = t[0] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
758 let pat = t[1] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
759 let before = t[2] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
760 let after = t[3] |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
761 for engine in [0, 1, 2] |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
762 if engine == 2 && re == 0 || engine == 1 && re == 1 |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
763 continue |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
764 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
765 let ®expengine = engine |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
766 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
767 call setline(1, before) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
768 exe '%s/' . pat . '/XX/' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
769 let result = getline(1, '$') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
770 q! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
771 if result != after |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
772 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
|
773 \ . string(before) . '\", expected: \"' . string(after) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
774 \ . '\", got: \"' . string(result) . '\"') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
775 else |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
776 " Test passed |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
777 endif |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
778 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
779 endfor |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
780 unlet t tl |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
781 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
782 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
783 " 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
|
784 " matchstr() with \ze in between. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
785 func Test_matchstr_with_ze() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
786 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
787 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
|
788 \ '<T="">Ac 7</Title>']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
789 call cursor(1, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
790 set re=0 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
791 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
792 .+1,.+2s/""/\='"' . matchstr(getline("."), '\d\+\ze<') . '"' |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
793 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
|
794 \ '<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
|
795 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
796 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
797 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
798 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
799 " 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
|
800 func Test_lookbehind_across_line() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
801 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
802 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
|
803 \ 'xxxstart2', 'asdfasd<yy', 'xxstart3']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
804 call cursor(1, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
805 call search('\(<\_[xy]\+\)\@3<=start') |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
806 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
|
807 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
808 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
809 |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
810 " Test for the \%V atom (match inside the visual area) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
811 func Regex_Match_Visual_Area() |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
812 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
|
813 \ 'oooxofor foroxooo', 'oooxofor foroxooo']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
814 call cursor(1, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
815 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
|
816 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
|
817 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
|
818 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
|
819 \ 'oooxOfOr fOrOxooo', 'oooxOfOr fOrOxooo', ''], getline(1, '$')) |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
820 %d |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
821 endfunc |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
822 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
823 " Check matching Visual area |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
824 func Test_matching_visual_area() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
825 new |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
826 set regexpengine=1 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
827 call Regex_Match_Visual_Area() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
828 set regexpengine=2 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
829 call Regex_Match_Visual_Area() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
830 set regexpengine& |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
831 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
832 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
833 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
834 " Check matching marks |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
835 func Regex_Mark() |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
836 call append(0, ['', '', '', 'Marks:', 'asdfSasdfsadfEasdf', 'asdfSas', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
837 \ 'dfsadfEasdf', '', '', '', '', '']) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
838 call cursor(4, 1) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
839 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
|
840 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
|
841 call assert_equal(['', '', '', 'Marks:', 'asdfhereasdf', 'asdfagainasdf', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
842 \ '', '', '', '', '', ''], getline(1, '$')) |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
843 %d |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
844 endfunc |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
845 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
846 func Test_matching_marks() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
847 new |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
848 set regexpengine=1 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
849 call Regex_Mark() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
850 set regexpengine=2 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
851 call Regex_Mark() |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
852 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
853 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
854 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
855 " Check patterns matching cursor position. |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
856 func s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
857 new |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
858 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
|
859 \ "\t\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
860 \ ' 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
|
861 call setpos('.', [0, 1, 0, 0]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
862 s/\%>3c.//g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
863 call setpos('.', [0, 2, 4, 0]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
864 s/\%#.*$//g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
865 call setpos('.', [0, 3, 0, 0]) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
866 s/\%<3c./_/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
867 %s/\%4l\%>5c./_/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
868 %s/\%6l\%>25v./_/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
869 %s/\%>6l\%3c./!/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
870 %s/\%>7l\%12c./?/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
871 %s/\%>7l\%<9l\%>5v\%<8v./#/g |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
872 $s/\%(|\u.*\)\@<=[^|\t]\+$//ge |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
873 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
|
874 \ ' f__', 'ab!babababababfoo', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
875 \ 'ba!ab##abab?bafoo', '**!*****_', |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
876 \ ' ! 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
|
877 \ getline(1, '$')) |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
878 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
879 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
880 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
881 func Test_matching_curpos() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
882 set re=0 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
883 call s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
884 set re=1 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
885 call s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
886 set re=2 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
887 call s:curpos_test() |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
888 set re& |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
889 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
890 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
891 " Test for matching the start and end of a buffer |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
892 func Regex_start_end_buffer() |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
893 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
|
894 /\%^ |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
895 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
|
896 exe "normal 50%/\\%^..\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
897 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
|
898 exe "normal 50%/\\%$\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
899 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
|
900 exe "normal 6gg/..\\%$\<CR>" |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
901 call assert_equal([0, 20, 7, 0], getpos('.')) |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
902 %d |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
903 endfunc |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
904 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
905 func Test_start_end_of_buffer_match() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
906 new |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
907 set regexpengine=1 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
908 call Regex_start_end_buffer() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
909 set regexpengine=2 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
910 call Regex_start_end_buffer() |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
911 bwipe! |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
912 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
913 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
914 " Check for detecting error |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
915 func Test_regexp_error() |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
916 call assert_fails("call matchlist('x x', '\\%#=1 \\zs*')", 'E888:') |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
917 call assert_fails("call matchlist('x x', '\\%#=1 \\ze*')", 'E888:') |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
918 call assert_fails("call matchlist('x x', '\\%#=2 \\zs*')", 'E888:') |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
919 call assert_fails("call matchlist('x x', '\\%#=2 \\ze*')", 'E888:') |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
920 call assert_fails('exe "normal /\\%#=1\\%[x\\%[x]]\<CR>"', 'E369:') |
19969
b07672d13ff9
patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
921 call assert_fails("call matchstr('abcd', '\\%o841\\%o142')", 'E678:') |
b07672d13ff9
patch 8.2.0540: regexp and other code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19958
diff
changeset
|
922 call assert_equal('', matchstr('abcd', '\%o181\%o142')) |
19958
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
923 endfunc |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
924 |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
925 " Test for using the last substitute string pattern (~) |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
926 func Test_regexp_last_subst_string() |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
927 new |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
928 s/bar/baz/e |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
929 call assert_equal(matchstr("foo\nbaz\nbar", "\\%#=1\~"), "baz") |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
930 call assert_equal(matchstr("foo\nbaz\nbar", "\\%#=2\~"), "baz") |
0b42b5e50344
patch 8.2.0535: regexp patterns not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
931 close! |
18898
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
932 endfunc |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
933 |
ad9e9e92ad55
patch 8.2.0010: test64 is old style
Bram Moolenaar <Bram@vim.org>
parents:
15904
diff
changeset
|
934 " vim: shiftwidth=2 sts=2 expandtab |