Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | Tests for regexp with multi-byte encoding and various magic settings. |
Bram Moolenaar | 89cb5e0 | 2004-07-19 20:55:54 +0000 | [diff] [blame] | 2 | Test matchstr() with a count and multi-byte chars. |
Bram Moolenaar | e6a2fa6 | 2013-09-19 17:00:20 +0200 | [diff] [blame] | 3 | See test99 for exactly the same test with re=2. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4 | |
| 5 | STARTTEST |
| 6 | :so mbyte.vim |
| 7 | :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo |
Bram Moolenaar | e6a2fa6 | 2013-09-19 17:00:20 +0200 | [diff] [blame] | 8 | :set re=1 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 9 | /^1 |
| 10 | /a*b\{2}c\+/e |
| 11 | x/\Md\*e\{2}f\+/e |
| 12 | x:set nomagic |
| 13 | /g\*h\{2}i\+/e |
| 14 | x/\mj*k\{2}l\+/e |
| 15 | x/\vm*n{2}o+/e |
| 16 | x/\V^aa$ |
| 17 | x:set magic |
| 18 | /\v(a)(b)\2\1\1/e |
| 19 | x/\V[ab]\(\[xy]\)\1 |
| 20 | x:" Now search for multi-byte without composing char |
| 21 | /ม |
| 22 | x:" Now search for multi-byte with composing char |
| 23 | /ม๠|
| 24 | x:" find word by change of word class |
| 25 | /ã¡\<ã«ã¨\>㯠|
Bram Moolenaar | c0197e2 | 2004-09-13 20:26:32 +0000 | [diff] [blame] | 26 | x:" Test \%u, [\u] and friends |
Bram Moolenaar | d82a2a9 | 2015-04-21 14:02:35 +0200 | [diff] [blame] | 27 | :" c |
Bram Moolenaar | c0197e2 | 2004-09-13 20:26:32 +0000 | [diff] [blame] | 28 | /\%u20ac |
Bram Moolenaar | d82a2a9 | 2015-04-21 14:02:35 +0200 | [diff] [blame] | 29 | x:" d |
| 30 | /[\u4f7f\u5929]\+ |
| 31 | x:" e |
| 32 | /\%U12345678 |
| 33 | x:" f |
| 34 | /[\U1234abcd\u1234\uabcd] |
| 35 | x:" g |
| 36 | /\%d21879b |
Bram Moolenaar | d82a2a9 | 2015-04-21 14:02:35 +0200 | [diff] [blame] | 37 | x:" j Test backwards search from a multi-byte char |
Bram Moolenaar | 55b7b7e | 2013-01-23 16:43:11 +0100 | [diff] [blame] | 38 | /x |
| 39 | x?. |
Bram Moolenaar | d82a2a9 | 2015-04-21 14:02:35 +0200 | [diff] [blame] | 40 | x:" k |
| 41 | :let @w=':%s#comb[i]nations#ÅÌá¹£ÌmÌ¥ÌαÌÌÌ#g' |
Bram Moolenaar | 229f8db | 2013-05-06 05:50:28 +0200 | [diff] [blame] | 42 | :@w |
Bram Moolenaar | 96c664a | 2015-12-31 16:21:52 +0100 | [diff] [blame] | 43 | :" |
| 44 | :" l Test what 7.3.192 fixed |
| 45 | /^l |
| 46 | :s/ \?/ /g |
Bram Moolenaar | 229f8db | 2013-05-06 05:50:28 +0200 | [diff] [blame] | 47 | :?^1?,$w! test.out |
Bram Moolenaar | 89cb5e0 | 2004-07-19 20:55:54 +0000 | [diff] [blame] | 48 | :e! test.out |
| 49 | G:put =matchstr(\"××××\", \".\", 0, 2) " × |
| 50 | :put =matchstr(\"××××\", \"..\", 0, 2) " ×× |
| 51 | :put =matchstr(\"××××\", \".\", 0, 0) " × |
| 52 | :put =matchstr(\"××××\", \".\", 4, -1) " × |
Bram Moolenaar | 4653911 | 2015-02-17 15:43:57 +0100 | [diff] [blame] | 53 | :new |
| 54 | :$put =['dog(a', 'cat('] |
| 55 | /(/e+ |
| 56 | "ayn:bd! |
| 57 | :$put ='' |
| 58 | G"ap |
Bram Moolenaar | 89cb5e0 | 2004-07-19 20:55:54 +0000 | [diff] [blame] | 59 | :w! |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 60 | :qa! |
| 61 | ENDTEST |
| 62 | |
| 63 | 1 a aa abb abbccc |
| 64 | 2 d dd dee deefff |
| 65 | 3 g gg ghh ghhiii |
| 66 | 4 j jj jkk jkklll |
| 67 | 5 m mm mnn mnnooo |
| 68 | 6 x ^aa$ x |
| 69 | 7 (a)(b) abbaa |
| 70 | 8 axx [ab]xx |
| 71 | 9 หมà¹x à¸à¸¡x |
| 72 | a à¸à¸¡x หมà¹x |
| 73 | b ã¡ã«ã¨ã¯ |
Bram Moolenaar | c0197e2 | 2004-09-13 20:26:32 +0000 | [diff] [blame] | 74 | c x ¬â¬x |
| 75 | d 天使x |
| 76 | e ü
¸y |
| 77 | f ü¯z |
| 78 | g aå·bb |
Bram Moolenaar | 55b7b7e | 2013-01-23 16:43:11 +0100 | [diff] [blame] | 79 | j 0123â¤x |
Bram Moolenaar | 229f8db | 2013-05-06 05:50:28 +0200 | [diff] [blame] | 80 | k combinations |
Bram Moolenaar | 96c664a | 2015-12-31 16:21:52 +0100 | [diff] [blame] | 81 | l äö üαÌÌÌ |