mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-23 10:42:11 +01:00
Add a testcase for message context and UTF-8 in messages
This commit is contained in:
parent
d12bd3eaf3
commit
8f09d24c3a
@ -544,6 +544,61 @@ test_l10n (void)
|
||||
g_free (locale);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_translations_work (void)
|
||||
{
|
||||
gchar *locale;
|
||||
gchar *orig = "SCREEN";
|
||||
gchar *str;
|
||||
|
||||
locale = g_strdup (setlocale (LC_MESSAGES, NULL));
|
||||
setlocale (LC_MESSAGES, "de");
|
||||
str = dgettext ("gtk20", orig);
|
||||
setlocale (LC_MESSAGES, locale);
|
||||
g_free (locale);
|
||||
|
||||
return str != orig;
|
||||
}
|
||||
|
||||
static void
|
||||
test_l10n_context (void)
|
||||
{
|
||||
GSettings *settings;
|
||||
gchar *str;
|
||||
gchar *locale;
|
||||
|
||||
if (!gtk_translations_work ())
|
||||
{
|
||||
g_test_message ("Skipping localization tests because translations don't work");
|
||||
return;
|
||||
}
|
||||
|
||||
bind_textdomain_codeset ("gtk20", "UTF-8");
|
||||
|
||||
locale = g_strdup (setlocale (LC_MESSAGES, NULL));
|
||||
|
||||
settings = g_settings_new ("org.gtk.test.localized");
|
||||
|
||||
setlocale (LC_MESSAGES, "C");
|
||||
g_settings_get (settings, "backspace", "s", &str);
|
||||
setlocale (LC_MESSAGES, locale);
|
||||
|
||||
g_assert_cmpstr (str, ==, "BackSpace");
|
||||
g_free (str);
|
||||
str = NULL;
|
||||
|
||||
setlocale (LC_MESSAGES, "de");
|
||||
g_settings_get (settings, "backspace", "s", &str);
|
||||
setlocale (LC_MESSAGES, locale);
|
||||
|
||||
g_assert_cmpstr (str, ==, "Löschen");
|
||||
g_object_unref (settings);
|
||||
g_free (str);
|
||||
str = NULL;
|
||||
|
||||
g_free (locale);
|
||||
}
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
@ -892,6 +947,7 @@ main (int argc, char *argv[])
|
||||
g_test_add_func ("/gsettings/complex-types", test_complex_types);
|
||||
g_test_add_func ("/gsettings/changes", test_changes);
|
||||
g_test_add_func ("/gsettings/l10n", test_l10n);
|
||||
g_test_add_func ("/gsettings/l10n-context", test_l10n_context);
|
||||
g_test_add_func ("/gsettings/delay-apply", test_delay_apply);
|
||||
g_test_add_func ("/gsettings/delay-revert", test_delay_revert);
|
||||
g_test_add_func ("/gsettings/atomic", test_atomic);
|
||||
|
@ -1,4 +1,5 @@
|
||||
<schemalist>
|
||||
|
||||
<schema id="org.gtk.test" path="/tests/" gettext-domain="test">
|
||||
<key name="greeting" type="s">
|
||||
<default l10n="messages">"Hello, earthlings"</default>
|
||||
@ -15,6 +16,7 @@
|
||||
<child name='complex-types' schema='org.gtk.test.complex-types'/>
|
||||
<child name='localized' schema='org.gtk.test.localized'/>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gtk.test.basic-types" path="/tests/basic-types/">
|
||||
<key name="test-boolean" type="b">
|
||||
<default>true</default>
|
||||
@ -50,6 +52,7 @@
|
||||
<default>"/a/object/path"</default>
|
||||
</key>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gtk.test.complex-types" path="/tests/complex-types/">
|
||||
<key name="test-tuple" type="(s(ii))">
|
||||
<default>("one",(2,3))</default>
|
||||
@ -58,11 +61,16 @@
|
||||
<default>[0,1,2,3,4,5]</default>
|
||||
</key>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gtk.test.localized" path="/tests/localized/" gettext-domain="glib20">
|
||||
<key name="error-message" type="s">
|
||||
<default l10n="messages">"Unnamed"</default>
|
||||
</key>
|
||||
<key name="backspace" type="s">
|
||||
<default l10n="messages" context="keyboard label">"BackSpace"</default>
|
||||
</key>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gtk.test.binding" path="/tests/binding/">
|
||||
<key name="bool" type="b">
|
||||
<default>false</default>
|
||||
@ -77,4 +85,5 @@
|
||||
<default>""</default>
|
||||
</key>
|
||||
</schema>
|
||||
|
||||
</schemalist>
|
||||
|
Loading…
x
Reference in New Issue
Block a user