Test urgency hints in DBus
This commit is contained in:
		
							parent
							
								
									3c5b15d630
								
							
						
					
					
						commit
						62a83e183e
					
				
							
								
								
									
										46
									
								
								test/dbus.c
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								test/dbus.c
									
									
									
									
									
								
							| @ -454,6 +454,51 @@ TEST test_hint_category(void) | ||||
|         PASS(); | ||||
| } | ||||
| 
 | ||||
| TEST test_hint_urgency(void) | ||||
| { | ||||
|         static char msg[50]; | ||||
|         struct notification *n; | ||||
|         struct dbus_notification *n_dbus; | ||||
| 
 | ||||
|         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_urgency"; | ||||
|         n_dbus->body = "Summary of it"; | ||||
| 
 | ||||
|         enum urgency values[] = { URG_MAX, URG_LOW, URG_NORM, URG_CRIT }; | ||||
|         GVariant *variants[] = { | ||||
|                 g_variant_new_byte(10), | ||||
|                 g_variant_new_byte(0), | ||||
|                 g_variant_new_byte(1), | ||||
|                 g_variant_new_byte(2), | ||||
|         }; | ||||
|         for (size_t i = 0; i < G_N_ELEMENTS(variants); i++) { | ||||
|                 g_hash_table_insert(n_dbus->hints, | ||||
|                                     g_strdup("urgency"), | ||||
|                                     g_variant_ref_sink(variants[i])); | ||||
| 
 | ||||
|                 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); | ||||
| 
 | ||||
|                 snprintf(msg, sizeof(msg), "In round %ld", i); | ||||
|                 ASSERT_EQm(msg, values[i], n->urgency); | ||||
| 
 | ||||
|                 queues_notification_close_id(id, REASON_UNDEF); | ||||
|         } | ||||
| 
 | ||||
|         dbus_notification_free(n_dbus); | ||||
| 
 | ||||
|         PASS(); | ||||
| } | ||||
| 
 | ||||
| TEST test_server_caps(enum markup_mode markup) | ||||
| { | ||||
|         GVariant *reply; | ||||
| @ -572,6 +617,7 @@ gpointer run_threaded_tests(gpointer data) | ||||
|         RUN_TEST(test_hint_progress); | ||||
|         RUN_TEST(test_hint_icons); | ||||
|         RUN_TEST(test_hint_category); | ||||
|         RUN_TEST(test_hint_urgency); | ||||
|         RUN_TEST(test_dbus_notify_colors); | ||||
|         RUN_TESTp(test_server_caps, MARKUP_FULL); | ||||
|         RUN_TESTp(test_server_caps, MARKUP_STRIP); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Benedikt Heine
						Benedikt Heine