diff options
author | Gary Kramlich <grim@reaperworld.com> | 2023-02-10 03:03:39 -0600 |
---|---|---|
committer | Gary Kramlich <grim@reaperworld.com> | 2023-02-10 03:03:39 -0600 |
commit | 74543a21099a29466d3f356beebbb2e3973159dd (patch) | |
tree | b2cce3c8622842a380def81b67eea3642b052d33 /libpurple/tests | |
parent | 6ec2ba5d86c1fe484f05f6903f955309251f2a36 (diff) | |
download | pidgin-74543a21099a29466d3f356beebbb2e3973159dd.tar.gz |
Add a property and accessor for getting the avatar to display for a PurplePerson
Testing Done:
Ran the unit tests and verified everything looks looks right in the contact list.
Bugs closed: PIDGIN-17735
Reviewed at https://reviews.imfreedom.org/r/2232/
Diffstat (limited to 'libpurple/tests')
-rw-r--r-- | libpurple/tests/test_person.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/libpurple/tests/test_person.c b/libpurple/tests/test_person.c index d6bea74c08..f5e3cb3822 100644 --- a/libpurple/tests/test_person.c +++ b/libpurple/tests/test_person.c @@ -67,6 +67,7 @@ test_purple_person_properties(void) { PurpleTags *tags = NULL; GdkPixbuf *avatar = NULL; GdkPixbuf *avatar1 = NULL; + GdkPixbuf *avatar_for_display = NULL; char *id = NULL; char *alias = NULL; char *name_for_display = NULL; @@ -89,6 +90,7 @@ test_purple_person_properties(void) { "id", &id, "alias", &alias, "avatar", &avatar1, + "avatar-for-display", &avatar_for_display, "name-for-display", &name_for_display, "tags", &tags, NULL); @@ -97,6 +99,7 @@ test_purple_person_properties(void) { g_assert_nonnull(id); g_assert_cmpstr(alias, ==, "alias"); g_assert_true(avatar1 == avatar); + g_assert_true(avatar1 == avatar_for_display); g_assert_cmpstr(name_for_display, ==, "alias"); g_assert_nonnull(tags); @@ -104,6 +107,7 @@ test_purple_person_properties(void) { g_clear_pointer(&id, g_free); g_clear_pointer(&alias, g_free); g_clear_object(&avatar1); + g_clear_object(&avatar_for_display); g_clear_pointer(&name_for_display, g_free); g_clear_object(&tags); @@ -112,6 +116,48 @@ test_purple_person_properties(void) { } static void +test_purple_person_avatar_for_display_person(void) { + PurpleContactInfo *info = NULL; + PurplePerson *person = NULL; + GdkPixbuf *avatar = NULL; + + person = purple_person_new(); + avatar = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, 1, 1); + purple_person_set_avatar(person, avatar); + + info = purple_contact_info_new("id"); + purple_person_add_contact_info(person, info); + + /* Make sure the person's alias is overriding the contact info. */ + g_assert_true(purple_person_get_avatar_for_display(person) == avatar); + + g_clear_object(&info); + g_clear_object(&person); + g_clear_object(&avatar); +} + +static void +test_purple_person_avatar_for_display_contact(void) { + PurpleContactInfo *info = NULL; + PurplePerson *person = NULL; + GdkPixbuf *avatar = NULL; + + person = purple_person_new(); + + info = purple_contact_info_new("id"); + avatar = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, 1, 1); + purple_contact_info_set_avatar(info, avatar); + purple_person_add_contact_info(person, info); + + /* Make sure the person's alias is overriding the contact info. */ + g_assert_true(purple_person_get_avatar_for_display(person) == avatar); + + g_clear_object(&info); + g_clear_object(&person); + g_clear_object(&avatar); +} + +static void test_purple_person_name_for_display_person(void) { PurpleContactInfo *info = NULL; PurplePerson *person = NULL; @@ -410,6 +456,11 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/person/properties", test_purple_person_properties); + g_test_add_func("/person/avatar-for-display/person", + test_purple_person_avatar_for_display_person); + g_test_add_func("/person/avatar-for-display/contact", + test_purple_person_avatar_for_display_contact); + g_test_add_func("/person/name-for-display/person", test_purple_person_name_for_display_person); g_test_add_func("/person/name-for-display/contact", |