summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-01-03 17:39:28 +0100
committerBram Moolenaar <Bram@vim.org>2021-01-03 17:39:28 +0100
commitcec77d4530ae51ee9ffe0ab57fa7a37cced2b181 (patch)
tree9136a02c14cd71b992e8df416f78b644a7c34932
parentfefa6c347e2c7f01ed2b095084f4aa694ff72149 (diff)
downloadvim-git-8.2.2287.tar.gz
patch 8.2.2287: sort test fails when locale is French Canadianv8.2.2287
Problem: Sort test fails when locale is French Canadian. Solution: Expect a different sort order. (Dominique Pellé, closes #7609)
-rw-r--r--src/testdir/test_sort.vim24
-rw-r--r--src/version.c2
2 files changed, 14 insertions, 12 deletions
diff --git a/src/testdir/test_sort.vim b/src/testdir/test_sort.vim
index 42a44528f..47c58594d 100644
--- a/src/testdir/test_sort.vim
+++ b/src/testdir/test_sort.vim
@@ -16,23 +16,24 @@ func Test_sort_strings()
call assert_equal([1, 2, 3], sort([3, 2, 1]))
call assert_equal([13, 28, 3], sort([3, 28, 13]))
- call assert_equal(['A', 'O', 'P', 'a', 'o', 'p', 'Ä', 'Ô', 'ä', 'ô', 'œ', 'œ'],
- \ sort(['A', 'O', 'P', 'a', 'o', 'p', 'Ä', 'Ô', 'ä', 'ô', 'œ', 'œ']))
+ call assert_equal(['A', 'O', 'P', 'a', 'o', 'p', 'Ä', 'Ô', 'ä', 'ô', 'Œ', 'œ'],
+ \ sort(['A', 'O', 'P', 'a', 'o', 'p', 'Ä', 'Ô', 'ä', 'ô', 'œ', 'Œ']))
- call assert_equal(['A', 'a', 'o', 'O', 'p', 'P', 'Ä', 'Ô', 'ä', 'ô', 'œ', 'œ'],
- \ sort(['A', 'a', 'o', 'O', 'œ', 'œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'i'))
+ call assert_equal(['A', 'a', 'o', 'O', 'p', 'P', 'Ä', 'Ô', 'ä', 'ô', 'Œ', 'œ'],
+ \ sort(['A', 'a', 'o', 'O', 'œ', 'Œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'i'))
" This does not appear to work correctly on Mac.
if !has('mac')
- if v:collate =~? '^en_ca.*\.utf-\?8$' && !has('mac')
+ if v:collate =~? '^\(en\|fr\)_ca.utf-\?8$'
" with Canadian English capitals come before lower case.
- call assert_equal(['A', 'a', 'Ä', 'ä', 'O', 'o', 'Ô', 'ô', 'œ', 'œ', 'P', 'p'],
- \ sort(['A', 'a', 'o', 'O', 'œ', 'œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'l'))
+ " 'Œ' is omitted because it can sort before or after 'œ'
+ call assert_equal(['A', 'a', 'Ä', 'ä', 'O', 'o', 'Ô', 'ô', 'œ', 'P', 'p'],
+ \ sort(['A', 'a', 'o', 'O', 'œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'l'))
elseif v:collate =~? '^\(en\|es\|de\|fr\|it\|nl\).*\.utf-\?8$'
" With the following locales, the accentuated letters are ordered
" similarly to the non-accentuated letters...
- call assert_equal(['a', 'A', 'ä', 'Ä', 'o', 'O', 'ô', 'Ô', 'œ', 'œ', 'p', 'P'],
- \ sort(['A', 'a', 'o', 'O', 'œ', 'œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'l'))
+ call assert_equal(['a', 'A', 'ä', 'Ä', 'o', 'O', 'ô', 'Ô', 'œ', 'Œ', 'p', 'P'],
+ \ sort(['A', 'a', 'o', 'O', 'œ', 'Œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'l'))
elseif v:collate =~? '^sv.*utf-\?8$'
" ... whereas with a Swedish locale, the accentuated letters are ordered
" after Z.
@@ -1236,8 +1237,9 @@ func Test_sort_cmd()
" This does not appear to work correctly on Mac.
if !has('mac')
- if v:collate =~? '^en_ca.*\.utf-\?8$'
+ if v:collate =~? '^\(en\|fr\)_ca.utf-\?8$'
" en_CA.utf-8 sorts capitals before lower case
+ " 'Œ' is omitted because it can sort before or after 'œ'
let tests += [
\ {
\ 'name' : 'sort with locale ' .. v:collate,
@@ -1250,7 +1252,6 @@ func Test_sort_cmd()
\ 'È',
\ 'É',
\ 'Ô',
- \ 'Œ',
\ 'Z',
\ 'a',
\ 'e',
@@ -1278,7 +1279,6 @@ func Test_sort_cmd()
\ 'Ô',
\ 'ô',
\ 'œ',
- \ 'Œ',
\ 'Z',
\ 'z'
\ ]
diff --git a/src/version.c b/src/version.c
index aa01a3920..87d3c3dcc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2287,
+/**/
2286,
/**/
2285,