comparison src/testdir/test_regexp_utf8.vim @ 15709:2e2f07561f4b v8.1.0862

patch 8.1.0862: no verbose version of character classes commit https://github.com/vim/vim/commit/221cd9f4dd866503777b2fffa721c1403716ad63 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 31 15:34:40 2019 +0100 patch 8.1.0862: no verbose version of character classes Problem: No verbose version of character classes. Solution: Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi, closes #1373)
author Bram Moolenaar <Bram@vim.org>
date Thu, 31 Jan 2019 15:45:06 +0100
parents 2dcaa860e3fc
children f4ce361bb1e5
comparison
equal deleted inserted replaced
15708:8a6b91646ba7 15709:2e2f07561f4b
49 let returnchar = '' 49 let returnchar = ''
50 let spacechars = '' 50 let spacechars = ''
51 let tabchar = '' 51 let tabchar = ''
52 let upperchars = '' 52 let upperchars = ''
53 let xdigitchars = '' 53 let xdigitchars = ''
54 let identchars = ''
55 let identchars1 = ''
56 let kwordchars = ''
57 let kwordchars1 = ''
58 let fnamechars = ''
59 let fnamechars1 = ''
54 let i = 1 60 let i = 1
55 while i <= 255 61 while i <= 255
56 let c = nr2char(i) 62 let c = nr2char(i)
57 if c =~ '[[:alpha:]]' 63 if c =~ '[[:alpha:]]'
58 let alphachars .= c 64 let alphachars .= c
99 if c =~ '[[:upper:]]' 105 if c =~ '[[:upper:]]'
100 let upperchars .= c 106 let upperchars .= c
101 endif 107 endif
102 if c =~ '[[:xdigit:]]' 108 if c =~ '[[:xdigit:]]'
103 let xdigitchars .= c 109 let xdigitchars .= c
110 endif
111 if c =~ '[[:ident:]]'
112 let identchars .= c
113 endif
114 if c =~ '\i'
115 let identchars1 .= c
116 endif
117 if c =~ '[[:keyword:]]'
118 let kwordchars .= c
119 endif
120 if c =~ '\k'
121 let kwordchars1 .= c
122 endif
123 if c =~ '[[:fname:]]'
124 let fnamechars .= c
125 endif
126 if c =~ '\f'
127 let fnamechars1 .= c
104 endif 128 endif
105 let i += 1 129 let i += 1
106 endwhile 130 endwhile
107 131
108 call assert_equal('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', alphachars) 132 call assert_equal('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', alphachars)
119 call assert_equal('ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ', upperchars) 143 call assert_equal('ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ', upperchars)
120 call assert_equal("\r", returnchar) 144 call assert_equal("\r", returnchar)
121 call assert_equal("\t\n\x0b\f\r ", spacechars) 145 call assert_equal("\t\n\x0b\f\r ", spacechars)
122 call assert_equal("\t", tabchar) 146 call assert_equal("\t", tabchar)
123 call assert_equal('0123456789ABCDEFabcdef', xdigitchars) 147 call assert_equal('0123456789ABCDEFabcdef', xdigitchars)
148
149 if has('win32')
150 let identchars_ok = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ'
151 let kwordchars_ok = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzµÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
152 elseif has('ebcdic')
153 let identchars_ok = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz€ŒŽœž¬®µº¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
154 let kwordchars_ok = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz€ŒŽœž¬®µº¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
155 else
156 let identchars_ok = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzµÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
157 let kwordchars_ok = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzµÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
158 endif
159
160 if has('win32')
161 let fnamechars_ok = '!#$%+,-./0123456789:=@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_abcdefghijklmnopqrstuvwxyz{}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
162 elseif has('amiga')
163 let fnamechars_ok = '$+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
164 elseif has('vms')
165 let fnamechars_ok = '#$%+,-./0123456789:;<>ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_abcdefghijklmnopqrstuvwxyz~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
166 elseif has('ebcdic')
167 let fnamechars_ok = '#$%+,-./=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
168 else
169 let fnamechars_ok = '#$%+,-./0123456789=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'
170 endif
171
172 call assert_equal(identchars_ok, identchars)
173 call assert_equal(kwordchars_ok, kwordchars)
174 call assert_equal(fnamechars_ok, fnamechars)
175
176 call assert_equal(identchars1, identchars)
177 call assert_equal(kwordchars1, kwordchars)
178 call assert_equal(fnamechars1, fnamechars)
124 endfunc 179 endfunc
125 180
126 func Test_classes_re1() 181 func Test_classes_re1()
127 set re=1 182 set re=1
128 call s:classes_test() 183 call s:classes_test()