summaryrefslogtreecommitdiff
path: root/localedata
diff options
context:
space:
mode:
Diffstat (limited to 'localedata')
-rw-r--r--localedata/tests/trans.def3
-rw-r--r--localedata/tst-mbswcs3.c19
-rw-r--r--localedata/tst-trans.c17
-rwxr-xr-xlocaledata/tst-trans.sh4
4 files changed, 22 insertions, 21 deletions
diff --git a/localedata/tests/trans.def b/localedata/tests/trans.def
index 2f2ac61b96..8bda88b7cb 100644
--- a/localedata/tests/trans.def
+++ b/localedata/tests/trans.def
@@ -110,6 +110,9 @@ toupper (<a>,<A>);/
charconv test
test (<A>,<B>);(<B>,<C>)
+
+outdigit <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>
+
END LC_CTYPE
LC_COLLATE
diff --git a/localedata/tst-mbswcs3.c b/localedata/tst-mbswcs3.c
index b9846ee8ac..a5929f85c4 100644
--- a/localedata/tst-mbswcs3.c
+++ b/localedata/tst-mbswcs3.c
@@ -74,22 +74,3 @@ main (void)
return result;
}
-
-/* Expected output:
-
-wcsrtombs(dst,&src,1,&state) -> 1, src = srcbuf+1, dst = buf+1
-wcsrtombs(dst,&src,1,&state) -> 1, src = srcbuf+2, dst = buf+2
-wcsrtombs(dst,&src,3,&state) -> 3, src = srcbuf+3, dst = buf+5
-wcsrtombs(dst,&src,1,&state) -> 1, src = srcbuf+3, dst = buf+6
-
-*/
-
-/* Output of a non-restarting implementation:
-
-wcsrtombs(dst,&src,1,&state) -> 1, src = srcbuf+1, dst = buf+1
-wcsrtombs(dst,&src,1,&state) -> 0, src = srcbuf+1, dst = buf+1
-wcsrtombs(dst,&src,3,&state) -> 3, src = srcbuf+2, dst = buf+4
-wcsrtombs(dst,&src,1,&state) -> 0, src = srcbuf+2, dst = buf+4
-wrong results
-
-*/
diff --git a/localedata/tst-trans.c b/localedata/tst-trans.c
index 8bc64ce069..a84ee20e72 100644
--- a/localedata/tst-trans.c
+++ b/localedata/tst-trans.c
@@ -20,14 +20,18 @@
#include <locale.h>
#include <stdio.h>
+#include <wchar.h>
#include <wctype.h>
int
main (void)
{
+ char buf[30];
+ wchar_t wbuf[30];
wctrans_t t;
wint_t wch;
int errors = 0;
+ int len;
setlocale (LC_ALL, "");
@@ -48,5 +52,18 @@ main (void)
if (wch != L'C')
errors = 1;
+ /* Test the output digit handling. */
+ swprintf (wbuf, sizeof (wbuf) / sizeof (wbuf[0]), L"%Id", 0x499602D2);
+ errors |= wcscmp (wbuf, L"bcdefghija") != 0;
+ len = wcslen (wbuf);
+ errors |= len != 10;
+ printf ("len = %d, wbuf = L\"%ls\"\n", len, wbuf);
+
+ snprintf (buf, sizeof buf, "%Id", 0x499602D2);
+ errors |= strcmp (buf, "bcdefghija") != 0;
+ len = strlen (buf);
+ errors |= len != 10;
+ printf ("len = %d, buf = \"%s\"\n", len, buf);
+
return errors;
}
diff --git a/localedata/tst-trans.sh b/localedata/tst-trans.sh
index c4fe934133..c17525dd18 100755
--- a/localedata/tst-trans.sh
+++ b/localedata/tst-trans.sh
@@ -29,8 +29,8 @@ ${common_objpfx}localedata/tt_TT ||
exit 1
# Run the test program.
-LOCPATH=${common_objpfx}localedata LC_ALL=tt_TT \
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
+LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
+LC_ALL=tt_TT ${common_objpfx}elf/ld.so --library-path $common_objpfx \
${common_objpfx}localedata/tst-trans > ${common_objpfx}localedata/tst-trans.out
exit $?