Mercurial > vim
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() |