feedback-profile: Allow to update profiles
Allow to add feedbacks from a profile to another one
This commit is contained in:
@@ -81,6 +81,49 @@ test_fbd_feedback_profile_parse (void)
|
||||
g_assert_true (FBD_IS_FEEDBACK_VIBRA(fb));
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
test_fbd_feedback_profile_update (void)
|
||||
{
|
||||
FbdFeedbackBase *fb;
|
||||
FbdFeedbackProfile *a = fbd_feedback_profile_new (PROFILE_NAME);
|
||||
FbdFeedbackProfile *b = fbd_feedback_profile_new (PROFILE_NAME);
|
||||
|
||||
g_autoptr (FbdFeedbackDummy) fb_a_1 = g_object_new (FBD_TYPE_FEEDBACK_DUMMY,
|
||||
"event-name", "a-1",
|
||||
NULL);
|
||||
g_autoptr (FbdFeedbackDummy) fb_a_2 = g_object_new (FBD_TYPE_FEEDBACK_DUMMY,
|
||||
"event-name", "a-2",
|
||||
NULL);
|
||||
/* New event */
|
||||
g_autoptr (FbdFeedbackDummy) fb_b_1 = g_object_new (FBD_TYPE_FEEDBACK_DUMMY,
|
||||
"event-name", "b-1",
|
||||
NULL);
|
||||
/* overwrite existing event */
|
||||
g_autoptr (FbdFeedbackDummy) fb_b_2 = g_object_new (FBD_TYPE_FEEDBACK_VIBRA,
|
||||
"event-name", "a-2",
|
||||
NULL);
|
||||
|
||||
fbd_feedback_profile_add_feedback (a, FBD_FEEDBACK_BASE(fb_a_1));
|
||||
fbd_feedback_profile_add_feedback (a, FBD_FEEDBACK_BASE(fb_a_2));
|
||||
|
||||
fbd_feedback_profile_add_feedback (b, FBD_FEEDBACK_BASE(fb_b_1));
|
||||
fbd_feedback_profile_add_feedback (b, FBD_FEEDBACK_BASE(fb_b_2));
|
||||
|
||||
fbd_feedback_profile_update (a,b);
|
||||
|
||||
fb = fbd_feedback_profile_get_feedback (a, "a-1");
|
||||
g_assert_true (FBD_IS_FEEDBACK_DUMMY(fb));
|
||||
fb = fbd_feedback_profile_get_feedback (a, "a-2");
|
||||
g_assert_true (FBD_IS_FEEDBACK_VIBRA(fb));
|
||||
fb = fbd_feedback_profile_get_feedback (a, "b-1");
|
||||
g_assert_true (FBD_IS_FEEDBACK_DUMMY(fb));
|
||||
|
||||
g_assert_finalize_object (b);
|
||||
g_assert_finalize_object (a);
|
||||
}
|
||||
|
||||
|
||||
gint
|
||||
main (gint argc, gchar *argv[])
|
||||
{
|
||||
@@ -89,6 +132,7 @@ main (gint argc, gchar *argv[])
|
||||
g_test_add_func("/feedbackd/fbd/feedback-profile/name", test_fbd_feedback_profile_name);
|
||||
g_test_add_func("/feedbackd/fbd/feedback-profile/feedbacks", test_fbd_feedback_profile_feedbacks);
|
||||
g_test_add_func("/feedbackd/fbd/feedback-profile/parse", test_fbd_feedback_profile_parse);
|
||||
g_test_add_func("/feedbackd/fbd/feedback-profile/update", test_fbd_feedback_profile_update);
|
||||
|
||||
return g_test_run();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user