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