mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
localedata: Use consistent values for grouping and mon_grouping
Resolves: BZ # 31205 Adapt test cases in test-grouping_iterator.c
This commit is contained in:
@@ -359,6 +359,7 @@ $(addprefix $(objpfx)siglist, $(object-suffixes-noshared)): \
|
||||
|
||||
ifeq ($(run-built-tests),yes)
|
||||
LOCALES := \
|
||||
bn_BD.UTF-8 \
|
||||
de_DE.ISO-8859-1 \
|
||||
de_DE.UTF-8 \
|
||||
en_US.ISO-8859-1 \
|
||||
@@ -366,7 +367,9 @@ LOCALES := \
|
||||
hi_IN.UTF-8 \
|
||||
ja_JP.EUC-JP \
|
||||
ps_AF.UTF-8 \
|
||||
rw_RW.UTF-8 \
|
||||
tg_TJ.UTF-8 \
|
||||
unm_US.UTF-8 \
|
||||
# LOCALES
|
||||
include ../gen-locales.mk
|
||||
|
||||
|
@@ -181,13 +181,13 @@ do_test (void)
|
||||
TEST_COMPARE (it.remaining_in_current_group, 2);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 3);
|
||||
TEST_COMPARE (it.non_repeating_groups, 3); /* Locale duplicates 3. */
|
||||
TEST_COMPARE (it.non_repeating_groups, 0);
|
||||
TEST_COMPARE (it.separators, 2);
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_MONETARY, loc, 8), true);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 2);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 3);
|
||||
TEST_COMPARE (it.non_repeating_groups, 3); /* Locale duplicates 3. */
|
||||
TEST_COMPARE (it.non_repeating_groups, 0);
|
||||
TEST_COMPARE (it.separators, 2);
|
||||
freelocale (loc);
|
||||
|
||||
@@ -202,13 +202,13 @@ do_test (void)
|
||||
TEST_COMPARE (it.remaining_in_current_group, 2);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 3);
|
||||
TEST_COMPARE (it.non_repeating_groups, 3); /* Locale duplicates 3. */
|
||||
TEST_COMPARE (it.non_repeating_groups, 0);
|
||||
TEST_COMPARE (it.separators, 2);
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_MONETARY, loc, 8), true);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 2);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 3);
|
||||
TEST_COMPARE (it.non_repeating_groups, 3); /* Locale duplicates 3. */
|
||||
TEST_COMPARE (it.non_repeating_groups, 0);
|
||||
TEST_COMPARE (it.separators, 2);
|
||||
freelocale (loc);
|
||||
|
||||
@@ -256,6 +256,68 @@ do_test (void)
|
||||
TEST_COMPARE (it.separators, 2);
|
||||
freelocale (loc);
|
||||
|
||||
loc = newlocale (LC_ALL_MASK, "bn_BD.UTF-8", 0);
|
||||
TEST_VERIFY_EXIT (loc != 0);
|
||||
ctype = loc->__locales[LC_CTYPE]->private;
|
||||
TEST_VERIFY (ctype->outdigit_translation_needed);
|
||||
for (int i = 0; i <= 9; ++i)
|
||||
/* Locale uses Bengali digits. */
|
||||
TEST_COMPARE (ctype->outdigit_bytes[i], 3);
|
||||
TEST_COMPARE (ctype->outdigit_bytes_all_equal, 3);
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_NUMERIC, loc, 8), true);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 1);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 2);
|
||||
TEST_COMPARE (it.non_repeating_groups, 3);
|
||||
TEST_COMPARE (it.separators, 3);
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_MONETARY, loc, 8), true);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 1);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 2);
|
||||
TEST_COMPARE (it.non_repeating_groups, 3);
|
||||
TEST_COMPARE (it.separators, 3);
|
||||
freelocale (loc);
|
||||
|
||||
loc = newlocale (LC_ALL_MASK, "unm_US.UTF-8", 0);
|
||||
TEST_VERIFY_EXIT (loc != 0);
|
||||
ctype = loc->__locales[LC_CTYPE]->private;
|
||||
TEST_VERIFY (!ctype->outdigit_translation_needed);
|
||||
for (int i = 0; i <= 9; ++i)
|
||||
TEST_COMPARE (ctype->outdigit_bytes[i], 1);
|
||||
TEST_COMPARE (ctype->outdigit_bytes_all_equal, 1);
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_NUMERIC, loc, 8), true);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 2);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 3);
|
||||
TEST_COMPARE (it.non_repeating_groups, 9);
|
||||
TEST_COMPARE (it.separators, 3);
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_MONETARY, loc, 8), true);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 2);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 3);
|
||||
TEST_COMPARE (it.non_repeating_groups, 0);
|
||||
TEST_COMPARE (it.separators, 2);
|
||||
freelocale (loc);
|
||||
|
||||
loc = newlocale (LC_ALL_MASK, "rw_RW.UTF-8", 0);
|
||||
TEST_VERIFY_EXIT (loc != 0);
|
||||
ctype = loc->__locales[LC_CTYPE]->private;
|
||||
TEST_VERIFY (!ctype->outdigit_translation_needed);
|
||||
for (int i = 0; i <= 9; ++i)
|
||||
TEST_COMPARE (ctype->outdigit_bytes[i], 1);
|
||||
TEST_COMPARE (ctype->outdigit_bytes_all_equal, 1);
|
||||
/* rw_RW has grouping -1 in LC_NUMERIC */
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_NUMERIC, loc, 8), false);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 8);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (__grouping_iterator_init (&it, LC_MONETARY, loc, 8), true);
|
||||
TEST_COMPARE (it.remaining_in_current_group, 2);
|
||||
TEST_COMPARE (it.remaining, 8);
|
||||
TEST_COMPARE (*it.groupings, 3);
|
||||
TEST_COMPARE (it.non_repeating_groups, 0);
|
||||
TEST_COMPARE (it.separators, 2);
|
||||
freelocale (loc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user