annotate src/testdir/test_regexp_utf8.vim @ 15062:3a94f7918980 v8.1.0542

patch 8.1.0542: shiftwidth() does not take 'vartabstop' into account commit https://github.com/vim/vim/commit/f951416a8396a54bbbe21de1a8b16716428549f2 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 22 03:08:29 2018 +0100 patch 8.1.0542: shiftwidth() does not take 'vartabstop' into account Problem: shiftwidth() does not take 'vartabstop' into account. Solution: Use the cursor position or a position explicitly passed. Also make >> and << work better with 'vartabstop'. (Christian Brabandt)
author Bram Moolenaar <Bram@vim.org>
date Thu, 22 Nov 2018 03:15:10 +0100
parents 99ce30ac4226
children 2dcaa860e3fc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 utf8 encoding
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2 if !has('multi_byte')
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 finish
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 endif
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 func s:equivalence_test()
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 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ñńņňʼ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
8 let groups = split(str)
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 for group1 in groups
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 for c in split(group1, '\zs')
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 " 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
12 " character in group
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 call assert_match('^[[=' . c . '=]]*$', group1)
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 for group2 in groups
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 if group2 != group1
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 " 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
17 " character in any other group
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 call assert_equal(-1, match(group2, '[[=' . c . '=]]'))
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 endif
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 endfor
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 endfor
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 endfor
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 endfunc
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 func Test_equivalence_re1()
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 set re=1
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 call s:equivalence_test()
9896
7b39615c0db1 commit https://github.com/vim/vim/commit/6bff02eb530aa29aafa2cb5627399837be7a5dd5
Christian Brabandt <cb@256bit.org>
parents: 9618
diff changeset
28 set re=0
8825
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 endfunc
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 func Test_equivalence_re2()
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 set re=2
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 call s:equivalence_test()
9896
7b39615c0db1 commit https://github.com/vim/vim/commit/6bff02eb530aa29aafa2cb5627399837be7a5dd5
Christian Brabandt <cb@256bit.org>
parents: 9618
diff changeset
34 set re=0
8825
318eaa6fa973 commit https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
35 endfunc
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
36
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
37 func s:classes_test()
8999
f414db42d167 commit https://github.com/vim/vim/commit/490465bda6ab66f78041709cc02f48a25486a3e5
Christian Brabandt <cb@256bit.org>
parents: 8995
diff changeset
38 set isprint=@,161-255
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
39 call assert_equal('Motörhead', matchstr('Motörhead', '[[:print:]]\+'))
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
40
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
41 let alnumchars = ''
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
42 let alphachars = ''
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
43 let backspacechar = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
44 let blankchars = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
45 let cntrlchars = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
46 let digitchars = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
47 let escapechar = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
48 let graphchars = ''
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
49 let lowerchars = ''
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
50 let printchars = ''
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
51 let punctchars = ''
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
52 let returnchar = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
53 let spacechars = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
54 let tabchar = ''
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
55 let upperchars = ''
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
56 let xdigitchars = ''
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
57 let i = 1
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
58 while i <= 255
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
59 let c = nr2char(i)
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
60 if c =~ '[[:alpha:]]'
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
61 let alphachars .= c
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
62 endif
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
63 if c =~ '[[:alnum:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
64 let alnumchars .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
65 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
66 if c =~ '[[:backspace:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
67 let backspacechar .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
68 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
69 if c =~ '[[:blank:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
70 let blankchars .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
71 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
72 if c =~ '[[:cntrl:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
73 let cntrlchars .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
74 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
75 if c =~ '[[:digit:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
76 let digitchars .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
77 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
78 if c =~ '[[:escape:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
79 let escapechar .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
80 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
81 if c =~ '[[:graph:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
82 let graphchars .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
83 endif
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
84 if c =~ '[[:lower:]]'
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
85 let lowerchars .= c
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
86 endif
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
87 if c =~ '[[:print:]]'
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
88 let printchars .= c
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
89 endif
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
90 if c =~ '[[:punct:]]'
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
91 let punctchars .= c
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
92 endif
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
93 if c =~ '[[:return:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
94 let returnchar .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
95 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
96 if c =~ '[[:space:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
97 let spacechars .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
98 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
99 if c =~ '[[:tab:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
100 let tabchar .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
101 endif
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
102 if c =~ '[[:upper:]]'
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
103 let upperchars .= c
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
104 endif
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
105 if c =~ '[[:xdigit:]]'
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
106 let xdigitchars .= c
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
107 endif
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
108 let i += 1
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
109 endwhile
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
110
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
111 call assert_equal('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', alphachars)
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
112 call assert_equal('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', alnumchars)
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
113 call assert_equal("\b", backspacechar)
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
114 call assert_equal("\t ", blankchars)
11287
e800e8149a5b patch 8.0.0529: line in test commented out
Christian Brabandt <cb@256bit.org>
parents: 11267
diff changeset
115 call assert_equal("\x01\x02\x03\x04\x05\x06\x07\b\t\n\x0b\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\e\x1c\x1d\x1e\x1f\x7f", cntrlchars)
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
116 call assert_equal("0123456789", digitchars)
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
117 call assert_equal("\<Esc>", escapechar)
11287
e800e8149a5b patch 8.0.0529: line in test commented out
Christian Brabandt <cb@256bit.org>
parents: 11267
diff changeset
118 call assert_equal('!"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~', graphchars)
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
119 call assert_equal('abcdefghijklmnopqrstuvwxyzµßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ', lowerchars)
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
120 call assert_equal(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ', printchars)
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
121 call assert_equal('!"#$%&''()*+,-./:;<=>?@[\]^_`{|}~', punctchars)
11267
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
122 call assert_equal('ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ', upperchars)
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
123 call assert_equal("\r", returnchar)
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
124 call assert_equal("\t\n\x0b\f\r ", spacechars)
588de97b40e7 patch 8.0.0519: character classes are not well tested
Christian Brabandt <cb@256bit.org>
parents: 9898
diff changeset
125 call assert_equal("\t", tabchar)
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
126 call assert_equal('0123456789ABCDEFabcdef', xdigitchars)
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
127 endfunc
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
128
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
129 func Test_classes_re1()
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
130 set re=1
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
131 call s:classes_test()
9896
7b39615c0db1 commit https://github.com/vim/vim/commit/6bff02eb530aa29aafa2cb5627399837be7a5dd5
Christian Brabandt <cb@256bit.org>
parents: 9618
diff changeset
132 set re=0
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
133 endfunc
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
134
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
135 func Test_classes_re2()
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
136 set re=2
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
137 call s:classes_test()
9896
7b39615c0db1 commit https://github.com/vim/vim/commit/6bff02eb530aa29aafa2cb5627399837be7a5dd5
Christian Brabandt <cb@256bit.org>
parents: 9618
diff changeset
138 set re=0
8995
3cf6704d6efc commit https://github.com/vim/vim/commit/af98a49dd0ef1661b4998f118151fddbf6e4df75
Christian Brabandt <cb@256bit.org>
parents: 8825
diff changeset
139 endfunc
11480
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
140
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
141 func Test_reversed_range()
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
142 for re in range(0, 2)
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
143 exe 'set re=' . re
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
144 call assert_fails('call match("abc def", "[c-a]")', 'E944:')
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
145 endfor
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
146 set re=0
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
147 endfunc
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
148
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
149 func Test_large_class()
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
150 set re=1
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
151 call assert_fails('call match("abc def", "[\u3000-\u4000]")', 'E945:')
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
152 set re=2
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
153 call assert_equal(0, 'abc def' =~# '[\u3000-\u4000]')
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
154 call assert_equal(1, "\u3042" =~# '[\u3000-\u4000]')
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
155 set re=0
99ce30ac4226 patch 8.0.0623: error for invalid regexp is not very informative
Christian Brabandt <cb@256bit.org>
parents: 11287
diff changeset
156 endfunc