mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-23 12:41:50 +01:00
tests: Set both environment variable and locale when running tests
Non-glibc gettext implementation seems to decide the language from LC_MESSAGES environment variable instead of LC_MESSAGES locale, so we should set both environment variable and locale when running tests which need translation from specific languages.
This commit is contained in:
parent
313a0fffe5
commit
6f2b3503a5
@ -972,6 +972,8 @@ test_api (void)
|
|||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
g_setenv ("LC_ALL", "C", TRUE);
|
||||||
|
|
||||||
g_test_init (&argc, &argv, NULL);
|
g_test_init (&argc, &argv, NULL);
|
||||||
|
|
||||||
g_test_dbus_unset ();
|
g_test_dbus_unset ();
|
||||||
|
@ -1085,6 +1085,7 @@ int
|
|||||||
main (int argc,
|
main (int argc,
|
||||||
char *argv[])
|
char *argv[])
|
||||||
{
|
{
|
||||||
|
g_setenv ("LC_ALL", "C", TRUE);
|
||||||
setlocale (LC_ALL, "C");
|
setlocale (LC_ALL, "C");
|
||||||
|
|
||||||
g_test_init (&argc, &argv, NULL);
|
g_test_init (&argc, &argv, NULL);
|
||||||
|
@ -741,14 +741,17 @@ test_l10n (void)
|
|||||||
|
|
||||||
settings = g_settings_new ("org.gtk.test.localized");
|
settings = g_settings_new ("org.gtk.test.localized");
|
||||||
|
|
||||||
|
g_setenv ("LC_MESSAGES", "C", TRUE);
|
||||||
setlocale (LC_MESSAGES, "C");
|
setlocale (LC_MESSAGES, "C");
|
||||||
str = g_settings_get_string (settings, "error-message");
|
str = g_settings_get_string (settings, "error-message");
|
||||||
|
g_setenv ("LC_MESSAGES", locale, TRUE);
|
||||||
setlocale (LC_MESSAGES, locale);
|
setlocale (LC_MESSAGES, locale);
|
||||||
|
|
||||||
g_assert_cmpstr (str, ==, "Unnamed");
|
g_assert_cmpstr (str, ==, "Unnamed");
|
||||||
g_free (str);
|
g_free (str);
|
||||||
str = NULL;
|
str = NULL;
|
||||||
|
|
||||||
|
g_setenv ("LC_MESSAGES", "de_DE.UTF-8", TRUE);
|
||||||
setlocale (LC_MESSAGES, "de_DE.UTF-8");
|
setlocale (LC_MESSAGES, "de_DE.UTF-8");
|
||||||
/* Only do the test if translation is actually working... */
|
/* Only do the test if translation is actually working... */
|
||||||
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
|
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
|
||||||
@ -762,6 +765,7 @@ test_l10n (void)
|
|||||||
else
|
else
|
||||||
g_printerr ("warning: translation is not working... skipping test. ");
|
g_printerr ("warning: translation is not working... skipping test. ");
|
||||||
|
|
||||||
|
g_setenv ("LC_MESSAGES", locale, TRUE);
|
||||||
setlocale (LC_MESSAGES, locale);
|
setlocale (LC_MESSAGES, locale);
|
||||||
g_free (locale);
|
g_free (locale);
|
||||||
g_object_unref (settings);
|
g_object_unref (settings);
|
||||||
@ -788,14 +792,17 @@ test_l10n_context (void)
|
|||||||
|
|
||||||
settings = g_settings_new ("org.gtk.test.localized");
|
settings = g_settings_new ("org.gtk.test.localized");
|
||||||
|
|
||||||
|
g_setenv ("LC_MESSAGES", "C", TRUE);
|
||||||
setlocale (LC_MESSAGES, "C");
|
setlocale (LC_MESSAGES, "C");
|
||||||
g_settings_get (settings, "backspace", "s", &str);
|
g_settings_get (settings, "backspace", "s", &str);
|
||||||
|
g_setenv ("LC_MESSAGES", locale, TRUE);
|
||||||
setlocale (LC_MESSAGES, locale);
|
setlocale (LC_MESSAGES, locale);
|
||||||
|
|
||||||
g_assert_cmpstr (str, ==, "BackSpace");
|
g_assert_cmpstr (str, ==, "BackSpace");
|
||||||
g_free (str);
|
g_free (str);
|
||||||
str = NULL;
|
str = NULL;
|
||||||
|
|
||||||
|
g_setenv ("LC_MESSAGES", "de_DE.UTF-8", TRUE);
|
||||||
setlocale (LC_MESSAGES, "de_DE.UTF-8");
|
setlocale (LC_MESSAGES, "de_DE.UTF-8");
|
||||||
/* Only do the test if translation is actually working... */
|
/* Only do the test if translation is actually working... */
|
||||||
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
|
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
|
||||||
@ -809,6 +816,7 @@ test_l10n_context (void)
|
|||||||
else
|
else
|
||||||
g_printerr ("warning: translation is not working... skipping test. ");
|
g_printerr ("warning: translation is not working... skipping test. ");
|
||||||
|
|
||||||
|
g_setenv ("LC_MESSAGES", locale, TRUE);
|
||||||
setlocale (LC_MESSAGES, locale);
|
setlocale (LC_MESSAGES, locale);
|
||||||
g_free (locale);
|
g_free (locale);
|
||||||
g_object_unref (settings);
|
g_object_unref (settings);
|
||||||
|
Loading…
Reference in New Issue
Block a user