libpurple/tests/test_protocol_roster.c

changeset 42247
faf4b46f690c
parent 42243
4659a7247aa7
child 42256
829e76c73ed1
equal deleted inserted replaced
42246:3230f1a1fb8f 42247:faf4b46f690c
48 48
49 return G_SOURCE_REMOVE; 49 return G_SOURCE_REMOVE;
50 } 50 }
51 51
52 /****************************************************************************** 52 /******************************************************************************
53 * TestProtocolRosterEmpty implementation
54 *****************************************************************************/
55 G_DECLARE_FINAL_TYPE(TestPurpleProtocolRosterEmpty,
56 test_purple_protocol_roster_empty,
57 TEST_PURPLE, PROTOCOL_ROSTER_EMPTY, PurpleProtocol)
58
59 struct _TestPurpleProtocolRosterEmpty {
60 PurpleProtocol parent;
61 };
62
63 static void
64 test_purple_protocol_roster_empty_iface_init(G_GNUC_UNUSED PurpleProtocolRosterInterface *iface)
65 {
66 }
67
68 G_DEFINE_TYPE_WITH_CODE(TestPurpleProtocolRosterEmpty,
69 test_purple_protocol_roster_empty,
70 PURPLE_TYPE_PROTOCOL,
71 G_IMPLEMENT_INTERFACE(PURPLE_TYPE_PROTOCOL_ROSTER,
72 test_purple_protocol_roster_empty_iface_init))
73
74 static void
75 test_purple_protocol_roster_empty_init(G_GNUC_UNUSED TestPurpleProtocolRosterEmpty *empty)
76 {
77 }
78
79 static void
80 test_purple_protocol_roster_empty_class_init(G_GNUC_UNUSED TestPurpleProtocolRosterEmptyClass *klass)
81 {
82 }
83
84 /******************************************************************************
85 * TestProtocolRosterEmpty Tests
86 *****************************************************************************/
87 static void
88 test_purple_protocol_roster_empty_add(void) {
89 if(g_test_subprocess()) {
90 PurpleAccount *account = NULL;
91 PurpleContact *contact = NULL;
92 PurpleProtocolRoster *roster = NULL;
93
94 roster = g_object_new(test_purple_protocol_roster_empty_get_type(),
95 NULL);
96
97 account = purple_account_new("test", "test");
98 contact = purple_contact_new(account, NULL);
99 g_clear_object(&account);
100
101 purple_protocol_roster_add_async(roster, contact, NULL, NULL, NULL);
102
103 g_clear_object(&roster);
104 g_clear_object(&contact);
105 }
106
107 g_test_trap_subprocess(NULL, 0, 0);
108 g_test_trap_assert_stderr("*Purple-WARNING*TestPurpleProtocolRosterEmpty*add_async*");
109 }
110
111 static void
112 test_purple_protocol_roster_empty_update(void) {
113 if(g_test_subprocess()) {
114 PurpleAccount *account = NULL;
115 PurpleContact *contact = NULL;
116 PurpleProtocolRoster *roster = NULL;
117
118 roster = g_object_new(test_purple_protocol_roster_empty_get_type(),
119 NULL);
120
121 account = purple_account_new("test", "test");
122 contact = purple_contact_new(account, NULL);
123 g_clear_object(&account);
124
125 purple_protocol_roster_update_async(roster, contact, NULL, NULL, NULL);
126
127 g_clear_object(&roster);
128 g_clear_object(&contact);
129 }
130
131 g_test_trap_subprocess(NULL, 0, 0);
132 g_test_trap_assert_stderr("*Purple-WARNING*TestPurpleProtocolRosterEmpty*update_async*");
133 }
134
135 static void
136 test_purple_protocol_roster_empty_remove(void) {
137 if(g_test_subprocess()) {
138 PurpleAccount *account = NULL;
139 PurpleContact *contact = NULL;
140 PurpleProtocolRoster *roster = NULL;
141
142 roster = g_object_new(test_purple_protocol_roster_empty_get_type(),
143 NULL);
144
145 account = purple_account_new("test", "test");
146 contact = purple_contact_new(account, NULL);
147 g_clear_object(&account);
148
149 purple_protocol_roster_remove_async(roster, contact, NULL, NULL, NULL);
150
151 g_clear_object(&roster);
152 g_clear_object(&contact);
153 }
154
155 g_test_trap_subprocess(NULL, 0, 0);
156 g_test_trap_assert_stderr("*Purple-WARNING*TestPurpleProtocolRosterEmpty*remove_async*");
157 }
158
159 /******************************************************************************
53 * TestProtocolRoster implementation 160 * TestProtocolRoster implementation
54 *****************************************************************************/ 161 *****************************************************************************/
55 G_DECLARE_FINAL_TYPE(TestPurpleProtocolRoster, test_purple_protocol_roster, 162 G_DECLARE_FINAL_TYPE(TestPurpleProtocolRoster, test_purple_protocol_roster,
56 TEST_PURPLE, PROTOCOL_ROSTER, PurpleProtocol) 163 TEST_PURPLE, PROTOCOL_ROSTER, PurpleProtocol)
57 164
197 test_purple_protocol_roster_class_init(G_GNUC_UNUSED TestPurpleProtocolRosterClass *klass) 304 test_purple_protocol_roster_class_init(G_GNUC_UNUSED TestPurpleProtocolRosterClass *klass)
198 { 305 {
199 } 306 }
200 307
201 /****************************************************************************** 308 /******************************************************************************
202 * Add test 309 * TestProtocolRoster Add test
203 *****************************************************************************/ 310 *****************************************************************************/
204 static void 311 static void
205 test_purple_protocol_roster_add_cb(GObject *obj, GAsyncResult *res, 312 test_purple_protocol_roster_add_cb(GObject *obj, GAsyncResult *res,
206 gpointer data) 313 gpointer data)
207 { 314 {
285 392
286 g_clear_object(&roster) 393 g_clear_object(&roster)
287 ;} 394 ;}
288 395
289 /****************************************************************************** 396 /******************************************************************************
290 * Update test 397 * TestProtocolRoster Update test
291 *****************************************************************************/ 398 *****************************************************************************/
292 static void 399 static void
293 test_purple_protocol_roster_update_cb(GObject *obj, GAsyncResult *res, 400 test_purple_protocol_roster_update_cb(GObject *obj, GAsyncResult *res,
294 gpointer data) 401 gpointer data)
295 { 402 {
373 480
374 g_clear_object(&roster) 481 g_clear_object(&roster)
375 ;} 482 ;}
376 483
377 /****************************************************************************** 484 /******************************************************************************
378 * Remove test 485 * TestProtocolRoster Remove test
379 *****************************************************************************/ 486 *****************************************************************************/
380 static void 487 static void
381 test_purple_protocol_roster_remove_cb(GObject *obj, GAsyncResult *res, 488 test_purple_protocol_roster_remove_cb(GObject *obj, GAsyncResult *res,
382 gpointer data) 489 gpointer data)
383 { 490 {
472 g_test_init(&argc, &argv, NULL); 579 g_test_init(&argc, &argv, NULL);
473 580
474 test_ui_purple_init(); 581 test_ui_purple_init();
475 582
476 loop = g_main_loop_new(NULL, FALSE); 583 loop = g_main_loop_new(NULL, FALSE);
584
585 g_test_add_func("/protocol-roster/empty/add",
586 test_purple_protocol_roster_empty_add);
587 g_test_add_func("/protocol-roster/empty/update",
588 test_purple_protocol_roster_empty_update);
589 g_test_add_func("/protocol-roster/empty/remove",
590 test_purple_protocol_roster_empty_remove);
477 591
478 g_test_add_func("/protocol-roster/add", test_purple_protocol_roster_add); 592 g_test_add_func("/protocol-roster/add", test_purple_protocol_roster_add);
479 g_test_add_func("/protocol-roster/add-error", 593 g_test_add_func("/protocol-roster/add-error",
480 test_purple_protocol_roster_add_error); 594 test_purple_protocol_roster_add_error);
481 g_test_add_func("/protocol-roster/update", 595 g_test_add_func("/protocol-roster/update",

mercurial