libpurple/tests/test_account.c

changeset 43091
f77300d83505
parent 43055
917386321169
child 43160
a9cc7d8325ba
--- a/libpurple/tests/test_account.c	Sun Nov 24 04:19:04 2024 -0600
+++ b/libpurple/tests/test_account.c	Mon Nov 25 21:08:01 2024 -0600
@@ -221,6 +221,115 @@
 	g_assert_finalize_object(account);
 }
 
+static void
+test_purple_account_compare_not_null__null(void) {
+	PurpleAccount *account = NULL;
+
+	account = purple_account_new("test", "test");
+
+	g_assert_cmpint(purple_account_compare(account, NULL), <, 0);
+
+	g_assert_finalize_object(account);
+}
+
+static void
+test_purple_account_compare_null__not_null(void) {
+	PurpleAccount *account = NULL;
+
+	account = purple_account_new("test", "test");
+
+	g_assert_cmpint(purple_account_compare(NULL, account), >, 0);
+
+	g_assert_finalize_object(account);
+}
+
+static void
+test_purple_account_compare_null__null(void) {
+	g_assert_cmpint(purple_account_compare(NULL, NULL), ==, 0);
+}
+
+static void
+test_purple_account_compare_not_null__not_null(void) {
+	PurpleAccount *account_a = NULL;
+	PurpleAccount *account_b = NULL;
+
+	account_a = g_object_new(
+		PURPLE_TYPE_ACCOUNT,
+		"id", "id_a",
+		"username", "test_a",
+		"protocol-id", "test",
+		"enabled", FALSE,
+		NULL);
+	account_b = g_object_new(
+		PURPLE_TYPE_ACCOUNT,
+		"id", "id_b",
+		"username", "test_b",
+		"protocol-id", "test",
+		"enabled", FALSE,
+		NULL);
+
+	g_assert_cmpint(purple_account_compare(account_a, account_b), <, 0);
+	g_assert_cmpint(purple_account_compare(account_b, account_a), >, 0);
+	g_assert_cmpint(purple_account_compare(account_a, account_a), ==, 0);
+
+	g_assert_finalize_object(account_a);
+	g_assert_finalize_object(account_b);
+}
+
+static void
+test_purple_account_equal_not_null__null(void) {
+	PurpleAccount *account = NULL;
+
+	account = purple_account_new("test", "test");
+
+	g_assert_false(purple_account_equal(account, NULL));
+
+	g_assert_finalize_object(account);
+}
+
+static void
+test_purple_account_equal_null__not_null(void) {
+	PurpleAccount *account = NULL;
+
+	account = purple_account_new("test", "test");
+
+	g_assert_false(purple_account_equal(NULL, account));
+
+	g_assert_finalize_object(account);
+}
+
+static void
+test_purple_account_equal_null__null(void) {
+	g_assert_true(purple_account_equal(NULL, NULL));
+}
+
+static void
+test_purple_account_equal_not_null__not_null(void) {
+	PurpleAccount *account_a = NULL;
+	PurpleAccount *account_b = NULL;
+
+	account_a = g_object_new(
+		PURPLE_TYPE_ACCOUNT,
+		"id", "id_a",
+		"username", "test_a",
+		"protocol-id", "test",
+		"enabled", FALSE,
+		NULL);
+	account_b = g_object_new(
+		PURPLE_TYPE_ACCOUNT,
+		"id", "id_b",
+		"username", "test_b",
+		"protocol-id", "test",
+		"enabled", FALSE,
+		NULL);
+
+	g_assert_false(purple_account_equal(account_a, account_b));
+	g_assert_true(purple_account_equal(account_a, account_a));
+
+	g_assert_finalize_object(account_a);
+	g_assert_finalize_object(account_b);
+}
+
 /******************************************************************************
  * Main
  *****************************************************************************/
@@ -235,5 +344,23 @@
 	g_test_add_func("/account/properties", test_purple_account_properties);
 	g_test_add_func("/account/error", test_purple_account_error);
 
+	g_test_add_func("/account/compare/not_null__null",
+	                test_purple_account_compare_not_null__null);
+	g_test_add_func("/account/compare/null__not_null",
+	                test_purple_account_compare_null__not_null);
+	g_test_add_func("/account/compare/null__null",
+	                test_purple_account_compare_null__null);
+	g_test_add_func("/account/compare/not_null__not_null",
+	                test_purple_account_compare_not_null__not_null);
+
+	g_test_add_func("/account/equal/not_null__null",
+	                test_purple_account_equal_not_null__null);
+	g_test_add_func("/account/equal/null__not_null",
+	                test_purple_account_equal_null__not_null);
+	g_test_add_func("/account/equal/null__null",
+	                test_purple_account_equal_null__null);
+	g_test_add_func("/account/equal/not_null__not_null",
+	                test_purple_account_equal_not_null__not_null);
+
 	return g_test_run();
 }

mercurial