diff --git a/test/dbus.c b/test/dbus.c index 4371cfc..c0085da 100644 --- a/test/dbus.c +++ b/test/dbus.c @@ -388,6 +388,39 @@ TEST test_hint_progress(void) PASS(); } +TEST test_hint_icons(void) +{ + struct notification *n; + struct dbus_notification *n_dbus; + const char *iconname = "NEWICON"; + + gsize len = queues_length_waiting(); + + n_dbus = dbus_notification_new(); + n_dbus->app_name = "dunstteststack"; + n_dbus->app_icon = "NONE"; + n_dbus->summary = "test_hint_icons"; + n_dbus->body = "Summary of it"; + + g_hash_table_insert(n_dbus->hints, + g_strdup("image-path"), + g_variant_ref_sink(g_variant_new_string(iconname))); + + guint id; + ASSERT(dbus_notification_fire(n_dbus, &id)); + ASSERT(id != 0); + + ASSERT_EQ(queues_length_waiting(), len+1); + + n = queues_debug_find_notification_by_id(id); + + ASSERT_STR_EQ(iconname, n->icon); + + dbus_notification_free(n_dbus); + + PASS(); +} + TEST test_server_caps(enum markup_mode markup) { GVariant *reply; @@ -504,6 +537,7 @@ gpointer run_threaded_tests(gpointer data) RUN_TEST(test_invalid_notification); RUN_TEST(test_hint_transient); RUN_TEST(test_hint_progress); + RUN_TEST(test_hint_icons); RUN_TEST(test_dbus_notify_colors); RUN_TESTp(test_server_caps, MARKUP_FULL); RUN_TESTp(test_server_caps, MARKUP_STRIP);