mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 07:23:41 +02:00
Merge branch 'ptr-array-sort-values' into 'main'
garray: Add g_ptr_array_sort_values[_with_data]() wrappers See merge request GNOME/glib!3155
This commit is contained in:
@@ -347,8 +347,8 @@ static gint
|
||||
compare_strings (gconstpointer a,
|
||||
gconstpointer b)
|
||||
{
|
||||
const gchar *sa = *(const gchar **) a;
|
||||
const gchar *sb = *(const gchar **) b;
|
||||
const gchar *sa = a;
|
||||
const gchar *sb = b;
|
||||
|
||||
/* Array terminator must sort last */
|
||||
if (sa == NULL)
|
||||
@@ -413,7 +413,7 @@ get_nodes_at (GDBusConnection *c,
|
||||
g_dbus_node_info_unref (node_info);
|
||||
|
||||
/* Nodes are semantically unordered; sort array so tests can rely on order */
|
||||
g_ptr_array_sort (p, compare_strings);
|
||||
g_ptr_array_sort_values (p, compare_strings);
|
||||
|
||||
return (gchar **) g_ptr_array_free (p, FALSE);
|
||||
}
|
||||
|
@@ -1551,12 +1551,6 @@ typedef struct
|
||||
guint num_interface_removed_signals;
|
||||
} OMData;
|
||||
|
||||
static gint
|
||||
my_pstrcmp (const gchar **a, const gchar **b)
|
||||
{
|
||||
return g_strcmp0 (*a, *b);
|
||||
}
|
||||
|
||||
static void
|
||||
om_check_interfaces_added (const gchar *signal_name,
|
||||
GVariant *parameters,
|
||||
@@ -1597,8 +1591,10 @@ om_check_interfaces_added (const gchar *signal_name,
|
||||
g_ptr_array_add (interfaces_in_message, (gpointer) iface_name);
|
||||
}
|
||||
g_assert_cmpint (interfaces_in_message->len, ==, interfaces->len);
|
||||
g_ptr_array_sort (interfaces, (GCompareFunc) my_pstrcmp);
|
||||
g_ptr_array_sort (interfaces_in_message, (GCompareFunc) my_pstrcmp);
|
||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
|
||||
g_ptr_array_sort_values (interfaces, (GCompareFunc) g_strcmp0);
|
||||
g_ptr_array_sort_values (interfaces_in_message, (GCompareFunc) g_strcmp0);
|
||||
G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
for (n = 0; n < interfaces->len; n++)
|
||||
g_assert_cmpstr (interfaces->pdata[n], ==, interfaces_in_message->pdata[n]);
|
||||
g_ptr_array_unref (interfaces_in_message);
|
||||
@@ -1646,8 +1642,10 @@ om_check_interfaces_removed (const gchar *signal_name,
|
||||
g_ptr_array_add (interfaces_in_message, (gpointer) iface_name);
|
||||
}
|
||||
g_assert_cmpint (interfaces_in_message->len, ==, interfaces->len);
|
||||
g_ptr_array_sort (interfaces, (GCompareFunc) my_pstrcmp);
|
||||
g_ptr_array_sort (interfaces_in_message, (GCompareFunc) my_pstrcmp);
|
||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
|
||||
g_ptr_array_sort_values (interfaces, (GCompareFunc) g_strcmp0);
|
||||
g_ptr_array_sort_values (interfaces_in_message, (GCompareFunc) g_strcmp0);
|
||||
G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
for (n = 0; n < interfaces->len; n++)
|
||||
g_assert_cmpstr (interfaces->pdata[n], ==, interfaces_in_message->pdata[n]);
|
||||
g_ptr_array_unref (interfaces_in_message);
|
||||
|
@@ -572,13 +572,7 @@ test_store_splice_wrong_type (void)
|
||||
}
|
||||
|
||||
static gint
|
||||
ptr_array_cmp_action_by_name (GAction **a, GAction **b)
|
||||
{
|
||||
return g_strcmp0 (g_action_get_name (*a), g_action_get_name (*b));
|
||||
}
|
||||
|
||||
static gint
|
||||
list_model_cmp_action_by_name (GAction *a, GAction *b, gpointer user_data)
|
||||
cmp_action_by_name (GAction *a, GAction *b, gpointer user_data)
|
||||
{
|
||||
return g_strcmp0 (g_action_get_name (a), g_action_get_name (b));
|
||||
}
|
||||
@@ -606,16 +600,16 @@ test_store_sort (void)
|
||||
g_ptr_array_add (array, g_simple_action_new ("1", NULL));
|
||||
|
||||
/* Sort an empty list */
|
||||
g_list_store_sort (store, (GCompareDataFunc)list_model_cmp_action_by_name, NULL);
|
||||
g_list_store_sort (store, (GCompareDataFunc) cmp_action_by_name, NULL);
|
||||
|
||||
/* Add all */
|
||||
g_list_store_splice (store, 0, 0, array->pdata, array->len);
|
||||
g_assert_true (model_array_equal (model, array));
|
||||
|
||||
/* Sort both and check if the result is the same */
|
||||
g_ptr_array_sort (array, (GCompareFunc)ptr_array_cmp_action_by_name);
|
||||
g_ptr_array_sort_values (array, (GCompareFunc)cmp_action_by_name);
|
||||
g_assert_false (model_array_equal (model, array));
|
||||
g_list_store_sort (store, (GCompareDataFunc)list_model_cmp_action_by_name, NULL);
|
||||
g_list_store_sort (store, (GCompareDataFunc) cmp_action_by_name, NULL);
|
||||
g_assert_true (model_array_equal (model, array));
|
||||
|
||||
g_ptr_array_unref (array);
|
||||
@@ -763,7 +757,7 @@ test_store_signal_items_changed (void)
|
||||
/* Sort the list */
|
||||
expect_items_changed (&expected, 0, 2, 2);
|
||||
g_list_store_sort (store,
|
||||
(GCompareDataFunc)list_model_cmp_action_by_name,
|
||||
(GCompareDataFunc) cmp_action_by_name,
|
||||
NULL);
|
||||
g_assert_true (expected.called);
|
||||
g_assert_false (expected.notified);
|
||||
@@ -773,7 +767,7 @@ test_store_signal_items_changed (void)
|
||||
item = g_simple_action_new ("3", NULL);
|
||||
g_list_store_insert_sorted (store,
|
||||
item,
|
||||
(GCompareDataFunc)list_model_cmp_action_by_name,
|
||||
(GCompareDataFunc) cmp_action_by_name,
|
||||
NULL);
|
||||
g_object_unref (item);
|
||||
g_assert_true (expected.called);
|
||||
|
Reference in New Issue
Block a user