Mercurial > vim
comparison src/testdir/test_regexp_utf8.vim @ 24351:585695c70392 v8.2.2716
patch 8.2.2716: the equivalent class regexp is missing some characters
Commit: https://github.com/vim/vim/commit/0b94e297afd072c51bf2eed12c7ffe3978d93399
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Apr 5 13:59:53 2021 +0200
patch 8.2.2716: the equivalent class regexp is missing some characters
Problem: The equivalent class regexp is missing some characters.
Solution: Update the list of equivalent characters. (Dominique Pell?,
closes #8029)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 05 Apr 2021 14:00:15 +0200 |
parents | a7cdfc8e4b6e |
children | 1c999a6e9d92 |
comparison
equal
deleted
inserted
replaced
24350:4c571ac0748e | 24351:585695c70392 |
---|---|
1 " Tests for regexp in utf8 encoding | 1 " Tests for regexp in utf8 encoding |
2 | 2 |
3 func s:equivalence_test() | 3 func s:equivalence_test() |
4 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źżžƶẑẕ" | 4 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źżžƶᵶᶎẑẓẕⱬ" |
5 let groups = split(str) | 5 let groups = split(str) |
6 for group1 in groups | 6 for group1 in groups |
7 for c in split(group1, '\zs') | 7 for c in split(group1, '\zs') |
8 " next statement confirms that equivalence class matches every | 8 " next statement confirms that equivalence class matches every |
9 " character in group | 9 " character in group |
10 call assert_match('^[[=' . c . '=]]*$', group1) | 10 call assert_match('^[[=' .. c .. '=]]*$', group1) |
11 for group2 in groups | 11 for group2 in groups |
12 if group2 != group1 | 12 if group2 != group1 |
13 " next statement converts that equivalence class doesn't match | 13 " next statement converts that equivalence class doesn't match |
14 " character in any other group | 14 " character in any other group |
15 call assert_equal(-1, match(group2, '[[=' . c . '=]]')) | 15 call assert_equal(-1, match(group2, '[[=' .. c .. '=]]'), c) |
16 endif | 16 endif |
17 endfor | 17 endfor |
18 endfor | 18 endfor |
19 endfor | 19 endfor |
20 endfunc | 20 endfunc |
194 endfunc | 194 endfunc |
195 | 195 |
196 func Test_reversed_range() | 196 func Test_reversed_range() |
197 for re in range(0, 2) | 197 for re in range(0, 2) |
198 exe 'set re=' . re | 198 exe 'set re=' . re |
199 call assert_fails('call match("abc def", "[c-a]")', 'E944:') | 199 call assert_fails('call match("abc def", "[c-a]")', 'E944:', re) |
200 endfor | 200 endfor |
201 set re=0 | 201 set re=0 |
202 endfunc | 202 endfunc |
203 | 203 |
204 func Test_large_class() | 204 func Test_large_class() |