GSettings test: fix unsafe GObject properties use

The test case was passing a guint16 to g_object_get() for a guint
property.  That's invalid on all systems, although it works (more or
less) on little endian ones.  On big endian it's a total no-go.
This commit is contained in:
Ryan Lortie 2010-10-03 22:53:49 -04:00
parent 2ce2d587ed
commit 90822327ac

View File

@ -942,6 +942,8 @@ test_simple_binding (void)
gint i; gint i;
gint16 n; gint16 n;
guint16 q; guint16 q;
gint n2;
guint q2;
gint64 i64; gint64 i64;
guint64 u64; guint64 u64;
gdouble d; gdouble d;
@ -991,9 +993,9 @@ test_simple_binding (void)
g_assert_cmpint (n, ==, 1234); g_assert_cmpint (n, ==, 1234);
g_settings_set (settings, "int16", "n", 4321); g_settings_set (settings, "int16", "n", 4321);
n = 1111; n2 = 1111;
g_object_get (obj, "int16", &n, NULL); g_object_get (obj, "int16", &n2, NULL);
g_assert_cmpint (n, ==, 4321); g_assert_cmpint (n2, ==, 4321);
g_settings_bind (settings, "uint16", obj, "uint16", G_SETTINGS_BIND_DEFAULT); g_settings_bind (settings, "uint16", obj, "uint16", G_SETTINGS_BIND_DEFAULT);
@ -1003,9 +1005,9 @@ test_simple_binding (void)
g_assert_cmpuint (q, ==, G_MAXUINT16); g_assert_cmpuint (q, ==, G_MAXUINT16);
g_settings_set (settings, "uint16", "q", (guint16) G_MAXINT16); g_settings_set (settings, "uint16", "q", (guint16) G_MAXINT16);
q = 1111; q2 = 1111;
g_object_get (obj, "uint16", &q, NULL); g_object_get (obj, "uint16", &q2, NULL);
g_assert_cmpuint (q, ==, (guint16) G_MAXINT16); g_assert_cmpuint (q2, ==, (guint16) G_MAXINT16);
g_settings_bind (settings, "int", obj, "int", G_SETTINGS_BIND_DEFAULT); g_settings_bind (settings, "int", obj, "int", G_SETTINGS_BIND_DEFAULT);