Bram Moolenaar | 22e4215 | 2016-04-03 14:02:02 +0200 | [diff] [blame^] | 1 | " Tests for regexp in latin1 encoding |
| 2 | set encoding=latin1 |
| 3 | scriptencoding latin1 |
| 4 | |
| 5 | func s:equivalence_test() |
| 6 | 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" |
| 7 | let groups = split(str) |
| 8 | for group1 in groups |
| 9 | for c in split(group1, '\zs') |
| 10 | " next statement confirms that equivalence class matches every |
| 11 | " character in group |
| 12 | call assert_match('^[[=' . c . '=]]*$', group1) |
| 13 | for group2 in groups |
| 14 | if group2 != group1 |
| 15 | " next statement converts that equivalence class doesn't match |
| 16 | " a character in any other group |
| 17 | call assert_equal(-1, match(group2, '[[=' . c . '=]]')) |
| 18 | endif |
| 19 | endfor |
| 20 | endfor |
| 21 | endfor |
| 22 | endfunc |
| 23 | |
| 24 | func Test_equivalence_re1() |
| 25 | set re=1 |
| 26 | call s:equivalence_test() |
| 27 | endfunc |
| 28 | |
| 29 | func Test_equivalence_re2() |
| 30 | set re=2 |
| 31 | call s:equivalence_test() |
| 32 | endfunc |