(main): Also test strftime with uselocale.

This commit is contained in:
Ulrich Drepper 2002-08-31 20:15:31 +00:00
parent a0fc81e171
commit 281058289a

View file

@ -10,10 +10,12 @@ int
main (void)
{
locale_t l;
locale_t old;
struct tm tm;
char buf[1000];
wchar_t wbuf[1000];
int result = 0;
size_t n;
l = newlocale (LC_ALL_MASK, "de_DE.ISO-8859-1", NULL);
if (l == NULL)
@ -81,5 +83,44 @@ main (void)
setlocale (LC_ALL, "C");
}
old = uselocale (l);
n = strftime (buf, sizeof (buf), "%e %^B %Y", &tm);
/* Switch back. */
(void) uselocale (old);
if (n == 0)
{
puts ("strftime after first uselocale failed");
result = 1;
}
else if (strcmp (buf, " 1 M\xc4RZ 2002") != 0)
{
printf ("strftime in non-C locale: expected \"%s\", got \"%s\"\n",
" 1 M\xc4RZ 2002", buf);
result = 1;
}
else
{
setlocale (LC_ALL, "de_DE.ISO-8859-1");
printf ("got \"%s\"\n", buf);
setlocale (LC_ALL, "C");
}
if (strftime (buf, sizeof (buf), "%e %^B %Y", &tm) == 0)
{
puts ("strftime after second uselocale failed");
result = 1;
}
else if (strcmp (buf, " 1 MARCH 2002") != 0)
{
printf ("initial strftime: expected \"%s\", got \"%s\"\n",
" 1 MARCH 2002", buf);
result = 1;
}
else
printf ("got \"%s\"\n", buf);
return result;
}