glib/tests/date.c: Fix the tests on non-English Windows

The names of the month (and abbreviations) are specific to the Windows
system locale, so we need to use SetThreadLocale() to set the locale of
the running program to en-US so that it will parse "March" and "Sept" etc.
correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=719344
This commit is contained in:
Chun-wei Fan 2014-01-04 10:52:15 +08:00
parent 210f96dfcf
commit 8bb81e7024

View File

@ -12,6 +12,11 @@
#include <locale.h>
#include <time.h>
#ifdef G_OS_WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
static void
test_basic (void)
{
@ -376,6 +381,9 @@ main (int argc, char** argv)
g_setenv ("LANG", "en_US.utf-8", TRUE);
setlocale (LC_ALL, "");
#ifdef G_OS_WIN32
SetThreadLocale (MAKELCID (MAKELANGID (LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT));
#endif
g_test_init (&argc, &argv, NULL);