Merge pull request #581 from bebehei/notification-tests

Improve notification tests
This commit is contained in:
Benedikt Heine 2019-01-05 15:39:09 +01:00 committed by GitHub
commit 4fe0ee95d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,22 +19,31 @@ TEST test_notification_is_duplicate_field(char **field,
PASS();
}
TEST test_notification_is_duplicate(struct notification *a,
struct notification *b)
TEST test_notification_is_duplicate(void)
{
ASSERT(notification_is_duplicate(a, b));
struct notification *a = notification_create();
a->appname = g_strdup("Test");
a->summary = g_strdup("Summary");
a->body = g_strdup("Body");
a->icon = g_strdup("Icon");
a->urgency = URG_NORM;
struct notification *b = notification_create();
b->appname = g_strdup("Test");
b->summary = g_strdup("Summary");
b->body = g_strdup("Body");
b->icon = g_strdup("Icon");
b->urgency = URG_NORM;
CHECK_CALL(test_notification_is_duplicate_field(&(b->appname), a, b));
CHECK_CALL(test_notification_is_duplicate_field(&(b->summary), a, b));
CHECK_CALL(test_notification_is_duplicate_field(&(b->body), a, b));
ASSERT(notification_is_duplicate(a, b));
ASSERTm("One of the notifications got corrupted during test",
notification_is_duplicate(a, b));
char *tmp = b->icon;
enum icon_position icon_setting_tmp = settings.icon_position;
b->icon = "Test1";
settings.icon_position = ICON_OFF;
ASSERT(notification_is_duplicate(a, b));
//Setting pointer to a random value since we are checking for null
@ -43,18 +52,17 @@ TEST test_notification_is_duplicate(struct notification *a,
b->raw_icon = NULL;
settings.icon_position = ICON_LEFT;
ASSERT_FALSE(notification_is_duplicate(a, b));
CHECK_CALL(test_notification_is_duplicate_field(&(b->icon), a, b));
b->raw_icon = (struct raw_image*)0xff;
ASSERT_FALSE(notification_is_duplicate(a, b));
b->raw_icon = NULL;
settings.icon_position = ICON_RIGHT;
ASSERT_FALSE(notification_is_duplicate(a, b));
CHECK_CALL(test_notification_is_duplicate_field(&(b->icon), a, b));
b->raw_icon = (struct raw_image*)0xff;
ASSERT_FALSE(notification_is_duplicate(a, b));
b->raw_icon = NULL;
b->icon = tmp;
settings.icon_position = icon_setting_tmp;
ASSERT(notification_is_duplicate(a, b));
@ -66,6 +74,8 @@ TEST test_notification_is_duplicate(struct notification *a,
b->urgency = URG_CRIT;
ASSERT_FALSE(notification_is_duplicate(a, b));
notification_unref(a);
notification_unref(b);
PASS();
}
@ -154,30 +164,12 @@ SUITE(suite_notification)
char *config_path = g_strconcat(base, "/data/dunstrc.default", NULL);
load_settings(config_path);
struct notification *a = notification_create();
a->appname = g_strdup("Test");
a->summary = g_strdup("Summary");
a->body = g_strdup("Body");
a->icon = g_strdup("Icon");
a->urgency = URG_NORM;
struct notification *b = notification_create();
b->appname = g_strdup("Test");
b->summary = g_strdup("Summary");
b->body = g_strdup("Body");
b->icon = g_strdup("Icon");
b->urgency = URG_NORM;
//2 equal notifications to be passed for duplicate checking,
RUN_TESTp(test_notification_is_duplicate, a, b);
g_clear_pointer(&a, notification_unref);
g_clear_pointer(&b, notification_unref);
RUN_TEST(test_notification_is_duplicate);
RUN_TEST(test_notification_replace_single_field);
RUN_TEST(test_notification_referencing);
// TEST notification_format_message
a = notification_create();
struct notification *a = notification_create();
a->appname = g_strdup("MyApp");
a->summary = g_strdup("I've got a summary!");
a->body = g_strdup("Look at my shiny <notification>");