tests: Apply coding style to unit tests

This commit is contained in:
Michael Vetter
2026-02-28 13:46:23 +01:00
parent 174848499d
commit 80e36bd1e2
35 changed files with 735 additions and 827 deletions

View File

@@ -22,7 +22,9 @@
#define PROF_FUNC_TEST(test) cmocka_unit_test_setup_teardown(test, init_prof_test, close_prof_test)
int main(int argc, char* argv[]) {
int
main(int argc, char* argv[])
{
const struct CMUnitTest all_tests[] = {

View File

@@ -230,13 +230,11 @@ prof_connect_with_roster(const char *roster)
{
GString* roster_str = g_string_new(
"<iq type='result' to='stabber@localhost/profanity'>"
"<query xmlns='jabber:iq:roster' ver='362'>"
);
"<query xmlns='jabber:iq:roster' ver='362'>");
g_string_append(roster_str, roster);
g_string_append(roster_str,
"</query>"
"</iq>"
);
"</iq>");
stbbr_for_query("jabber:iq:roster", roster_str->str);
g_string_free(roster_str, TRUE);
@@ -245,8 +243,7 @@ prof_connect_with_roster(const char *roster)
"<presence id='prof_presence_1' lang='en' to='stabber@localhost/profanity' from='stabber@localhost/profanity'>"
"<priority>0</priority>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' node='http://profanity-im.github.io/' ver='f8mrtdyAmhnj8Ca+630bThSL718='/>"
"</presence>"
);
"</presence>");
prof_input("/connect stabber@localhost server 127.0.0.1 port 5230 tls allow");
prof_input("password");
@@ -275,6 +272,5 @@ prof_connect(void)
{
prof_connect_with_roster(
"<item jid='buddy1@localhost' subscription='both' name='Buddy1'/>"
"<item jid='buddy2@localhost' subscription='both' name='Buddy2'/>"
);
"<item jid='buddy2@localhost' subscription='both' name='Buddy2'/>");
}

View File

@@ -16,8 +16,7 @@ send_enable_carbons(void **state)
prof_input("/carbons on");
assert_true(stbbr_received(
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"
));
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"));
}
void
@@ -28,8 +27,7 @@ connect_with_carbons_enabled(void **state)
prof_connect();
assert_true(stbbr_received(
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"
));
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"));
}
void
@@ -42,8 +40,7 @@ send_disable_carbons(void **state)
prof_input("/carbons off");
assert_true(stbbr_received(
"<iq id='*' type='set'><disable xmlns='urn:xmpp:carbons:2'/></iq>"
));
"<iq id='*' type='set'><disable xmlns='urn:xmpp:carbons:2'/></iq>"));
}
void
@@ -53,15 +50,13 @@ receive_carbon(void **state)
prof_connect();
assert_true(stbbr_received(
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"
));
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"));
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>On my mobile</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"On my mobile\""));
prof_input("/msg Buddy1");
assert_true(prof_output_exact("unencrypted"));
@@ -75,8 +70,7 @@ receive_carbon(void **state)
"</message>"
"</forwarded>"
"</received>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("Buddy1/mobile: .+test carbon from recipient"));
}
@@ -88,15 +82,13 @@ receive_self_carbon(void **state)
prof_connect();
assert_true(stbbr_received(
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"
));
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"));
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>On my mobile</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"On my mobile\""));
prof_input("/msg Buddy1");
assert_true(prof_output_exact("unencrypted"));
@@ -110,8 +102,7 @@ receive_self_carbon(void **state)
"</message>"
"</forwarded>"
"</sent>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("me: .+self sent carbon"));
}
@@ -123,15 +114,13 @@ receive_private_carbon(void **state)
prof_connect();
assert_true(stbbr_received(
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"
));
"<iq id='*' type='set'><enable xmlns='urn:xmpp:carbons:2'/></iq>"));
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>On my mobile</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"On my mobile\""));
prof_input("/msg Buddy1");
assert_true(prof_output_exact("unencrypted"));
@@ -140,8 +129,7 @@ receive_private_carbon(void **state)
"<message type='chat' to='stabber@localhost/profanity' from='buddy1@localhost/mobile'>"
"<body>Private carbon</body>"
"<private xmlns='urn:xmpp:carbons:2'/>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("Buddy1/mobile: .+Private carbon"));
}

View File

@@ -18,8 +18,7 @@ sends_message_to_barejid_when_contact_offline(void **state)
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost' type='chat'>"
"<body>Hi there</body>"
"</message>"
));
"</message>"));
}
void
@@ -30,8 +29,7 @@ sends_message_to_barejid_when_contact_online(void **state)
stbbr_send(
"<presence to='stabber@localhost/profanity' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online"));
prof_input("/msg buddy1@localhost Hi there");
@@ -39,8 +37,7 @@ sends_message_to_barejid_when_contact_online(void **state)
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost' type='chat'>"
"<body>Hi there</body>"
"</message>"
));
"</message>"));
}
void
@@ -51,15 +48,13 @@ sends_message_to_fulljid_when_received_from_fulljid(void **state)
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online"));
stbbr_send(
"<message id='message1' to='stabber@localhost' from='buddy1@localhost/mobile' type='chat'>"
"<body>First message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< chat message: Buddy1/mobile (win 2)"));
prof_input("/msg buddy1@localhost Hi there");
@@ -67,8 +62,7 @@ sends_message_to_fulljid_when_received_from_fulljid(void **state)
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost/mobile' type='chat'>"
"<body>Hi there</body>"
"</message>"
));
"</message>"));
}
void
@@ -79,37 +73,32 @@ sends_subsequent_messages_to_fulljid(void **state)
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online"));
stbbr_send(
"<message id='message1' to='stabber@localhost' from='buddy1@localhost/mobile' type='chat'>"
"<body>First message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< chat message: Buddy1/mobile (win 2)"));
prof_input("/msg buddy1@localhost Outgoing 1");
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost/mobile' type='chat'>"
"<body>Outgoing 1</body>"
"</message>"
));
"</message>"));
prof_input("/msg buddy1@localhost Outgoing 2");
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost/mobile' type='chat'>"
"<body>Outgoing 2</body>"
"</message>"
));
"</message>"));
prof_input("/msg buddy1@localhost Outgoing 3");
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost/mobile' type='chat'>"
"<body>Outgoing 3</body>"
"</message>"
));
"</message>"));
}
void
@@ -120,38 +109,33 @@ resets_to_barejid_after_presence_received(void **state)
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online"));
stbbr_send(
"<message id='message1' to='stabber@localhost' from='buddy1@localhost/mobile' type='chat'>"
"<body>First message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< chat message: Buddy1/mobile (win 2)"));
prof_input("/msg buddy1@localhost Outgoing 1");
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost/mobile' type='chat'>"
"<body>Outgoing 1</body>"
"</message>"
));
"</message>"));
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/laptop'>"
"<priority>5</priority>"
"<show>dnd</show>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (laptop) is dnd"));
prof_input("/msg buddy1@localhost Outgoing 2");
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost' type='chat'>"
"<body>Outgoing 2</body>"
"</message>"
));
"</message>"));
}
void
@@ -162,43 +146,37 @@ new_session_when_message_received_from_different_fulljid(void **state)
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online"));
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/laptop'>"
"<priority>8</priority>"
"<show>away</show>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (laptop) is away"));
stbbr_send(
"<message id='message1' to='stabber@localhost' from='buddy1@localhost/mobile' type='chat'>"
"<body>From first resource</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< chat message: Buddy1/mobile (win 2)"));
prof_input("/msg buddy1@localhost Outgoing 1");
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost/mobile' type='chat'>"
"<body>Outgoing 1</body>"
"</message>"
));
"</message>"));
stbbr_send(
"<message id='message1' to='stabber@localhost' from='buddy1@localhost/laptop' type='chat'>"
"<body>From second resource</body>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("Buddy1/laptop:.+From second resource"));
prof_input("/msg buddy1@localhost Outgoing 2");
assert_true(stbbr_received(
"<message id='*' to='buddy1@localhost/laptop' type='chat'>"
"<body>Outgoing 2</body>"
"</message>"
));
"</message>"));
}

View File

@@ -14,8 +14,7 @@ connect_jid_requests_roster(void **state)
prof_connect();
assert_true(stbbr_received(
"<iq id='*' type='get'><query xmlns='jabber:iq:roster'/></iq>"
));
"<iq id='*' type='get'><query xmlns='jabber:iq:roster'/></iq>"));
}
void
@@ -26,8 +25,7 @@ connect_jid_sends_presence_after_receiving_roster(void **state)
assert_true(stbbr_received(
"<presence id='*'>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
}
void
@@ -40,8 +38,7 @@ connect_jid_requests_bookmarks(void **state)
"<query xmlns='jabber:iq:private'>"
"<storage xmlns='storage:bookmarks'/>"
"</query>"
"</iq>"
));
"</iq>"));
}
void
@@ -62,31 +59,27 @@ connect_shows_presence_updates(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<show>dnd</show>"
"<status>busy!</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is dnd, \"busy!\""));
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/laptop'>"
"<show>chat</show>"
"<status>Talk to me!</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (laptop) is chat, \"Talk to me!\""));
stbbr_send(
"<presence to='stabber@localhost' from='buddy2@localhost/work'>"
"<show>away</show>"
"<status>Out of office</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy2 (work) is away, \"Out of office\""));
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<show>xa</show>"
"<status>Gone :(</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is xa, \"Gone :(\""));
}

View File

@@ -18,8 +18,7 @@ message_send(void **state)
assert_true(stbbr_received(
"<message id='*' to='somejid@someserver.com' type='chat'>"
"<body>Hi there</body>"
"</message>"
));
"</message>"));
assert_true(prof_output_regex("me: .+Hi there"));
}
@@ -32,8 +31,7 @@ message_receive_console(void **state)
stbbr_send(
"<message id='message1' to='stabber@localhost' from='someuser@chatserv.org/laptop' type='chat'>"
"<body>How are you?</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< chat message: someuser@chatserv.org/laptop (win 2)"));
}
@@ -49,8 +47,7 @@ message_receive_chatwin(void **state)
stbbr_send(
"<message id='message1' to='stabber@localhost' from='someuser@chatserv.org/laptop' type='chat'>"
"<body>How are you?</body>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("someuser@chatserv.org/laptop: .+How are you?"));
}

View File

@@ -19,8 +19,7 @@ sends_room_join(void **state)
"<presence id='*' to='testroom@conference.localhost/stabber'>"
"<x xmlns='http://jabber.org/protocol/muc'/>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
}
void
@@ -34,8 +33,7 @@ sends_room_join_with_nick(void **state)
"<presence id='*' to='testroom@conference.localhost/testnick'>"
"<x xmlns='http://jabber.org/protocol/muc'/>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
}
void
@@ -51,8 +49,7 @@ sends_room_join_with_password(void **state)
"<password>testpassword</password>"
"</x>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
}
void
@@ -68,8 +65,7 @@ sends_room_join_with_nick_and_password(void **state)
"<password>testpassword</password>"
"</x>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
}
void
@@ -84,8 +80,7 @@ shows_role_and_affiliation_on_join(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
@@ -104,8 +99,7 @@ shows_subject_on_join(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -114,8 +108,7 @@ shows_subject_on_join(void **state)
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost'>"
"<subject>Test room subject</subject>"
"<body>anothernick has set the subject to: Test room subject</body>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("Room subject: .+Test room subject"));
}
@@ -132,8 +125,7 @@ shows_history_message(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -143,8 +135,7 @@ shows_history_message(void **state)
"<body>an old message</body>"
"<delay xmlns='urn:xmpp:delay' stamp='2015-12-19T23:55:25Z' from='testroom@conference.localhost'/>"
"<x xmlns='jabber:x:delay' stamp='20151219T23:55:25'/>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("testoccupant: an old message"));
}
@@ -161,8 +152,7 @@ shows_occupant_join(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -172,8 +162,7 @@ shows_occupant_join(void **state)
"<x xmlns='http://jabber.org/protocol/muc#user'>"
"<item role='participant' jid='someuser@someserver.org/work' affiliation='none'/>"
"</x>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("-> testoccupant has joined the room, role: participant, affiliation: none"));
}
@@ -190,8 +179,7 @@ shows_message(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -199,8 +187,7 @@ shows_message(void **state)
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>"
"<body>a new message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_regex("testoccupant: .+a new message"));
}
@@ -217,8 +204,7 @@ shows_me_message_from_occupant(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -226,8 +212,7 @@ shows_me_message_from_occupant(void **state)
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>"
"<body>/me did something</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("*testoccupant did something"));
}
@@ -244,8 +229,7 @@ shows_me_message_from_self(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -253,8 +237,7 @@ shows_me_message_from_self(void **state)
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/stabber'>"
"<body>/me did something</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("*stabber did something"));
}
@@ -271,8 +254,7 @@ shows_all_messages_in_console_when_window_not_focussed(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -283,16 +265,14 @@ shows_all_messages_in_console_when_window_not_focussed(void **state)
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>"
"<body>a new message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< room message: testoccupant in testroom@conference.localhost (win 2)"));
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/anotheroccupant'>"
"<body>some other message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< room message: anotheroccupant in testroom@conference.localhost (win 2)"));
}
@@ -312,8 +292,7 @@ shows_first_message_in_console_when_window_not_focussed(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -324,8 +303,7 @@ shows_first_message_in_console_when_window_not_focussed(void **state)
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>"
"<body>a new message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("<< room message: testroom@conference.localhost (win 2)"));
prof_input("/clear");
@@ -335,8 +313,7 @@ shows_first_message_in_console_when_window_not_focussed(void **state)
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/anotheroccupant'>"
"<body>some other message</body>"
"</message>"
);
"</message>");
prof_timeout(2);
assert_false(prof_output_exact("<< room message: testroom@conference.localhost (win 2)"));
@@ -358,8 +335,7 @@ shows_no_message_in_console_when_window_not_focussed(void **state)
"<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>"
"</x>"
"<status code='110'/>"
"</presence>"
);
"</presence>");
prof_input("/join testroom@conference.localhost");
assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none"));
@@ -370,8 +346,7 @@ shows_no_message_in_console_when_window_not_focussed(void **state)
stbbr_send(
"<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>"
"<body>a new message</body>"
"</message>"
);
"</message>");
prof_timeout(2);
assert_false(prof_output_exact("testroom@conference.localhost (win 2)"));

View File

@@ -17,15 +17,12 @@ ping_server(void **state)
"<identity category='server' type='im' name='Prosody'/>"
"<feature var='urn:xmpp:ping'/>"
"</query>"
"</iq>"
);
"</iq>");
stbbr_for_id("prof_ping_4",
"<iq id='prof_ping_4' type='result' to='stabber@localhost/profanity'/>"
);
"<iq id='prof_ping_4' type='result' to='stabber@localhost/profanity'/>");
stbbr_for_id("prof_ping_5",
"<iq id='prof_ping_5' type='result' to='stabber@localhost/profanity'/>"
);
"<iq id='prof_ping_5' type='result' to='stabber@localhost/profanity'/>");
prof_connect();
@@ -33,16 +30,14 @@ ping_server(void **state)
assert_true(stbbr_received(
"<iq id='prof_ping_4' type='get'>"
"<ping xmlns='urn:xmpp:ping'/>"
"</iq>"
));
"</iq>"));
assert_true(prof_output_exact("Ping response from server"));
prof_input("/ping");
assert_true(stbbr_received(
"<iq id='prof_ping_5' type='get'>"
"<ping xmlns='urn:xmpp:ping'/>"
"</iq>"
));
"</iq>"));
assert_true(prof_output_exact("Ping response from server"));
}
@@ -54,8 +49,7 @@ ping_server_not_supported(void **state)
"<query xmlns='http://jabber.org/protocol/disco#info'>"
"<identity category='server' type='im' name='Stabber'/>"
"</query>"
"</iq>"
);
"</iq>");
prof_connect();
@@ -71,15 +65,14 @@ ping_responds_to_server_request(void **state)
stbbr_send(
"<iq id='pingtest1' type='get' to='stabber@localhost/profanity' from='localhost'>"
"<ping xmlns='urn:xmpp:ping'/>"
"</iq>"
);
"</iq>");
assert_true(stbbr_received(
"<iq id='pingtest1' type='result' from='stabber@localhost/profanity' to='localhost'/>"
));
"<iq id='pingtest1' type='result' from='stabber@localhost/profanity' to='localhost'/>"));
}
void ping_jid(void **state)
void
ping_jid(void** state)
{
stbbr_for_id("prof_caps_4",
"<iq id='prof_caps_4' to='stabber@localhost/profanity' type='result' from='buddy1@localhost/mobile'>"
@@ -89,8 +82,7 @@ void ping_jid(void **state)
"<feature var='http://jabber.org/protocol/disco#info'/>"
"<feature var='http://jabber.org/protocol/caps'/>"
"</query>"
"</iq>"
);
"</iq>");
prof_connect();
@@ -104,31 +96,28 @@ void ping_jid(void **state)
"node='http://profanity-im.github.io' "
"ver='LpT2xs3nun7jC2sq4gg3WRDQFZ4='"
"/>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
assert_true(stbbr_received(
"<iq id='prof_caps_4' to='buddy1@localhost/mobile' type='get'>"
"<query xmlns='http://jabber.org/protocol/disco#info' node='http://profanity-im.github.io#LpT2xs3nun7jC2sq4gg3WRDQFZ4='/>"
"</iq>"
));
"</iq>"));
stbbr_for_id("prof_ping_5",
"<iq from='buddy1@localhost/mobile' to='stabber@localhost' id='prof_ping_5' type='result'/>"
);
"<iq from='buddy1@localhost/mobile' to='stabber@localhost' id='prof_ping_5' type='result'/>");
prof_input("/ping buddy1@localhost/mobile");
assert_true(stbbr_received(
"<iq id='prof_ping_5' type='get' to='buddy1@localhost/mobile'>"
"<ping xmlns='urn:xmpp:ping'/>"
"</iq>"
));
"</iq>"));
assert_true(prof_output_exact("Ping response from buddy1@localhost/mobile"));
}
void ping_jid_not_supported(void **state)
void
ping_jid_not_supported(void** state)
{
stbbr_for_id("prof_caps_4",
"<iq id='prof_caps_4' to='stabber@localhost/profanity' type='result' from='buddy1@localhost/mobile'>"
@@ -137,8 +126,7 @@ void ping_jid_not_supported(void **state)
"<feature var='http://jabber.org/protocol/disco#info'/>"
"<feature var='http://jabber.org/protocol/caps'/>"
"</query>"
"</iq>"
);
"</iq>");
prof_connect();
@@ -152,15 +140,13 @@ void ping_jid_not_supported(void **state)
"node='http://profanity-im.github.io' "
"ver='LpT2xs3nun7jC2sq4gg3WRDQFZ4='"
"/>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
assert_true(stbbr_received(
"<iq id='prof_caps_4' to='buddy1@localhost/mobile' type='get'>"
"<query xmlns='http://jabber.org/protocol/disco#info' node='http://profanity-im.github.io#LpT2xs3nun7jC2sq4gg3WRDQFZ4='/>"
"</iq>"
));
"</iq>"));
prof_input("/ping buddy1@localhost/mobile");
assert_true(prof_output_exact("buddy1@localhost/mobile does not support ping requests."));

View File

@@ -18,8 +18,7 @@ presence_online(void **state)
assert_true(stbbr_received(
"<presence id='prof_presence_3'>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to online (priority 0)"));
}
@@ -35,8 +34,7 @@ presence_online_with_message(void **state)
"<presence id='prof_presence_4'>"
"<status>Hi there</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to online (priority 0), \"Hi there\"."));
}
@@ -52,8 +50,7 @@ presence_away(void **state)
"<presence id='prof_presence_4'>"
"<show>away</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to away (priority 0)"));
}
@@ -70,8 +67,7 @@ presence_away_with_message(void **state)
"<show>away</show>"
"<status>I'm not here for a bit</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to away (priority 0), \"I'm not here for a bit\"."));
}
@@ -87,8 +83,7 @@ presence_xa(void **state)
"<presence id='prof_presence_4'>"
"<show>xa</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to xa (priority 0)"));
}
@@ -105,8 +100,7 @@ presence_xa_with_message(void **state)
"<show>xa</show>"
"<status>Gone to the shops</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to xa (priority 0), \"Gone to the shops\"."));
}
@@ -122,8 +116,7 @@ presence_dnd(void **state)
"<presence id='prof_presence_4'>"
"<show>dnd</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to dnd (priority 0)"));
}
@@ -140,8 +133,7 @@ presence_dnd_with_message(void **state)
"<show>dnd</show>"
"<status>Working</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to dnd (priority 0), \"Working\"."));
}
@@ -157,8 +149,7 @@ presence_chat(void **state)
"<presence id='prof_presence_4'>"
"<show>chat</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to chat (priority 0)"));
}
@@ -175,8 +166,7 @@ presence_chat_with_message(void **state)
"<show>chat</show>"
"<status>Free to talk</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\"."));
}
@@ -192,8 +182,7 @@ presence_set_priority(void **state)
"<presence id='prof_presence_4'>"
"<priority>25</priority>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Priority set to 25."));
}
@@ -208,8 +197,7 @@ presence_includes_priority(void **state)
"<presence id='prof_presence_4'>"
"<priority>25</priority>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Priority set to 25."));
prof_input("/chat \"Free to talk\"");
@@ -219,8 +207,7 @@ presence_includes_priority(void **state)
"<show>chat</show>"
"<status>Free to talk</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to chat (priority 25), \"Free to talk\"."));
}
@@ -235,8 +222,7 @@ presence_keeps_status(void **state)
"<show>chat</show>"
"<status>Free to talk</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\"."));
prof_input("/priority 25");
@@ -246,8 +232,7 @@ presence_keeps_status(void **state)
"<status>Free to talk</status>"
"<priority>25</priority>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>"
"</presence>"
));
"</presence>"));
assert_true(prof_output_exact("Priority set to 25."));
}
@@ -260,8 +245,7 @@ presence_received(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>I'm here</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
}
@@ -276,8 +260,7 @@ presence_missing_resource_defaults(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost'>"
"<priority>15</priority>"
"<status>My status</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 is online, \"My status\""));

View File

@@ -20,8 +20,7 @@ does_not_send_receipt_request_to_barejid(void **state)
assert_true(stbbr_received(
"<message id='*' type='chat' to='somejid@someserver.com'>"
"<body>Hi there</body>"
"</message>"
));
"</message>"));
}
void
@@ -37,16 +36,14 @@ send_receipt_request(void **state)
"<identity category='client' name='Profanity 0.5.0' type='console'/>"
"<feature var='urn:xmpp:receipts'/>"
"</query>"
"</iq>"
);
"</iq>");
stbbr_send(
"<presence to='stabber@localhost' from='buddy1@localhost/laptop'>"
"<priority>15</priority>"
"<status>My status</status>"
"<c hash='sha-256' xmlns='http://jabber.org/protocol/caps' node='http://profanity-im.github.io' ver='hAkb1xZdJV9BQpgGNw8zG5Xsals='/>"
"</presence>"
);
"</presence>");
prof_output_exact("Buddy1 is online, \"My status\"");
@@ -58,8 +55,7 @@ send_receipt_request(void **state)
"<message id='*' type='chat' to='buddy1@localhost/laptop'>"
"<body>Hi there, where is my receipt?</body>"
"<request xmlns='urn:xmpp:receipts'/>"
"</message>"
));
"</message>"));
}
void
@@ -73,12 +69,10 @@ send_receipt_on_request(void **state)
"<message id='msg12213' type='chat' to='stabber@localhost/profanity' from='someuser@server.org/profanity'>"
"<body>Wants a receipt</body>"
"<request xmlns='urn:xmpp:receipts'/>"
"</message>"
);
"</message>");
assert_true(stbbr_received(
"<message id='*' to='someuser@server.org/profanity'>"
"<received id='msg12213' xmlns='urn:xmpp:receipts'/>"
"</message>"
));
"</message>"));
}

View File

@@ -17,8 +17,7 @@ rooms_query(void **state)
"<item jid='chatroom@conference.localhost' name='A chat room'/>"
"<item jid='hangout@conference.localhost' name='Another chat room'/>"
"</query>"
"</iq>"
);
"</iq>");
prof_connect();
@@ -30,6 +29,5 @@ rooms_query(void **state)
assert_true(stbbr_last_received(
"<iq id='prof_confreq_4' to='conference.localhost' type='get'>"
"<query xmlns='http://jabber.org/protocol/disco#items'/>"
"</iq>"
));
"</iq>"));
}

View File

@@ -18,8 +18,7 @@ sends_new_item(void **state)
"<query xmlns='jabber:iq:roster'>"
"<item jid='bob@localhost' subscription='none' name=''/>"
"</query>"
"</iq>"
);
"</iq>");
prof_input("/roster add bob@localhost");
@@ -28,8 +27,7 @@ sends_new_item(void **state)
"<query xmlns='jabber:iq:roster'>"
"<item jid='bob@localhost' name=''/>"
"</query>"
"</iq>"
));
"</iq>"));
assert_true(prof_output_exact("Roster item added: bob@localhost"));
}
@@ -44,8 +42,7 @@ sends_new_item_nick(void **state)
"<query xmlns='jabber:iq:roster'>"
"<item jid='bob@localhost' subscription='none' name='Bobby'/>"
"</query>"
"</iq>"
);
"</iq>");
prof_input("/roster add bob@localhost Bobby");
@@ -54,8 +51,7 @@ sends_new_item_nick(void **state)
"<query xmlns='jabber:iq:roster'>"
"<item jid='bob@localhost' name='Bobby'/>"
"</query>"
"</iq>"
));
"</iq>"));
assert_true(prof_output_exact("Roster item added: bob@localhost (Bobby)"));
}
@@ -65,16 +61,14 @@ sends_remove_item(void **state)
{
prof_connect_with_roster(
"<item jid='buddy1@localhost' subscription='both'/>"
"<item jid='buddy2@localhost' subscription='both'/>"
);
"<item jid='buddy2@localhost' subscription='both'/>");
stbbr_for_query("jabber:iq:roster",
"<iq id='*' type='set'>"
"<query xmlns='jabber:iq:roster'>"
"<item jid='buddy1@localhost' subscription='remove'/>"
"</query>"
"</iq>"
);
"</iq>");
prof_input("/roster remove buddy1@localhost");
@@ -83,8 +77,7 @@ sends_remove_item(void **state)
"<query xmlns='jabber:iq:roster'>"
"<item jid='buddy1@localhost' subscription='remove'/>"
"</query>"
"</iq>"
));
"</iq>"));
assert_true(prof_output_exact("Roster item removed: buddy1@localhost"));
}
@@ -94,16 +87,14 @@ sends_remove_item_nick(void **state)
{
prof_connect_with_roster(
"<item jid='buddy1@localhost' name='Bobby' subscription='both'/>"
"<item jid='buddy2@localhost' subscription='both'/>"
);
"<item jid='buddy2@localhost' subscription='both'/>");
stbbr_for_query("jabber:iq:roster",
"<iq id='*' type='set'>"
"<query xmlns='jabber:iq:roster'>"
"<item jid='buddy1@localhost' subscription='remove'/>"
"</query>"
"</iq>"
);
"</iq>");
prof_input("/roster remove Bobby");
@@ -112,8 +103,7 @@ sends_remove_item_nick(void **state)
"<query xmlns='jabber:iq:roster'>"
"<item jid='buddy1@localhost' subscription='remove'/>"
"</query>"
"</iq>"
));
"</iq>"));
assert_true(prof_output_exact("Roster item removed: buddy1@localhost"));
}
@@ -122,8 +112,7 @@ void
sends_nick_change(void** state)
{
prof_connect_with_roster(
"<item jid='buddy1@localhost' subscription='both'/>"
);
"<item jid='buddy1@localhost' subscription='both'/>");
prof_input("/roster nick buddy1@localhost Buddy1");
@@ -134,6 +123,5 @@ sends_nick_change(void **state)
"<query xmlns='jabber:iq:roster'>"
"<item jid='buddy1@localhost' name='Buddy1'/>"
"</query>"
"</iq>"
));
"</iq>"));
}

View File

@@ -16,16 +16,14 @@ send_software_version_request(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>I'm here</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
prof_input("/software buddy1@localhost/mobile");
assert_true(stbbr_received(
"<iq id='*' to='buddy1@localhost/mobile' type='get'>"
"<query xmlns='jabber:iq:version'/>"
"</iq>"
));
"</iq>"));
}
void
@@ -36,8 +34,7 @@ display_software_version_result(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>I'm here</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
stbbr_for_query("jabber:iq:version",
@@ -46,8 +43,7 @@ display_software_version_result(void **state)
"<name>Profanity</name>"
"<version>0.4.7dev.master.2cb2f83</version>"
"</query>"
"</iq>"
);
"</iq>");
prof_input("/software buddy1@localhost/mobile");
// assert_true(prof_output_exact("buddy1@localhost/mobile:"));
@@ -63,8 +59,7 @@ shows_message_when_software_version_error(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>I'm here</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
stbbr_for_query("jabber:iq:version",
@@ -73,8 +68,7 @@ shows_message_when_software_version_error(void **state)
"<error code='503' type='cancel'>"
"<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>"
"</error>"
"</iq>"
);
"</iq>");
prof_input("/software buddy1@localhost/laptop");
assert_true(prof_output_exact("Could not get software version: service-unavailable"));
@@ -89,8 +83,7 @@ display_software_version_result_when_from_domainpart(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost'>"
"<priority>10</priority>"
"<status>I'm here</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 is online, \"I'm here\""));
stbbr_for_query("jabber:iq:version",
@@ -99,8 +92,7 @@ display_software_version_result_when_from_domainpart(void **state)
"<name>Some Gateway</name>"
"<version>1.0</version>"
"</query>"
"</iq>"
);
"</iq>");
prof_input("/software buddy1@localhost/__prof_default");
// assert_true(prof_output_exact("buddy1@localhost/__prof_default:"));
@@ -116,8 +108,7 @@ show_message_in_chat_window_when_no_resource(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>I'm here</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
prof_input("/msg Buddy1");
@@ -134,16 +125,14 @@ display_software_version_result_in_chat(void **state)
"<presence to='stabber@localhost' from='buddy1@localhost/mobile'>"
"<priority>10</priority>"
"<status>I'm here</status>"
"</presence>"
);
"</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\""));
prof_input("/msg Buddy1");
stbbr_send(
"<message id='message1' to='stabber@localhost' from='buddy1@localhost/mobile' type='chat'>"
"<body>Here's a message</body>"
"</message>"
);
"</message>");
assert_true(prof_output_exact("Here's a message"));
stbbr_for_query("jabber:iq:version",
@@ -152,8 +141,7 @@ display_software_version_result_in_chat(void **state)
"<name>Profanity</name>"
"<version>0.4.7dev.master.2cb2f83</version>"
"</query>"
"</iq>"
);
"</iq>");
prof_input("/software");

View File

@@ -328,7 +328,9 @@ strip_arg_quotes__returns__stripped_both(void** state)
free(result);
}
void valid_tls_policy_option__is__correct_for_various_inputs(void** state) {
void
valid_tls_policy_option__is__correct_for_various_inputs(void** state)
{
// Valid inputs
assert_true(valid_tls_policy_option("force"));
assert_true(valid_tls_policy_option("allow"));
@@ -352,7 +354,9 @@ void valid_tls_policy_option__is__correct_for_various_inputs(void** state) {
assert_true(valid_tls_policy_option(NULL));
}
void get_expanded_path__returns__expanded(void** state) {
void
get_expanded_path__returns__expanded(void** state)
{
gchar* expanded_path;
// `file://` prefix
@@ -378,7 +382,9 @@ void get_expanded_path__returns__expanded(void** state) {
g_free(expanded_path);
}
void strtoi_range__returns__true_for_valid_input(void** state) {
void
strtoi_range__returns__true_for_valid_input(void** state)
{
int value;
gchar* err_msg = NULL;
gboolean result;
@@ -404,7 +410,9 @@ void strtoi_range__returns__true_for_valid_input(void** state) {
assert_null(err_msg);
}
void strtoi_range__returns__false_for_out_of_range(void** state) {
void
strtoi_range__returns__false_for_out_of_range(void** state)
{
int value;
gchar* err_msg = NULL;
gboolean result;
@@ -431,7 +439,9 @@ void strtoi_range__returns__false_for_out_of_range(void** state) {
err_msg = NULL;
}
void strtoi_range__returns__false_for_invalid_input(void** state) {
void
strtoi_range__returns__false_for_invalid_input(void** state)
{
int value;
gchar* err_msg = NULL;
gboolean result;
@@ -451,7 +461,9 @@ void strtoi_range__returns__false_for_invalid_input(void** state) {
err_msg = NULL;
}
void strtoi_range__returns__false_for_null_empty_input(void** state) {
void
strtoi_range__returns__false_for_null_empty_input(void** state)
{
int value;
gchar* err_msg = NULL;
gboolean result;
@@ -471,7 +483,9 @@ void strtoi_range__returns__false_for_null_empty_input(void** state) {
err_msg = NULL;
}
void strtoi_range__returns__correct_values_when_err_msg_null(void** state) {
void
strtoi_range__returns__correct_values_when_err_msg_null(void** state)
{
int value;
gboolean result;
@@ -485,7 +499,9 @@ void strtoi_range__returns__correct_values_when_err_msg_null(void** state) {
assert_false(result);
}
void string_to_verbosity__returns__correct_values(void** state) {
void
string_to_verbosity__returns__correct_values(void** state)
{
int verbosity;
gchar* err_msg = NULL;
gboolean result;
@@ -495,21 +511,24 @@ void string_to_verbosity__returns__correct_values(void** state) {
assert_true(result);
assert_int_equal(0, verbosity);
assert_null(err_msg);
g_free(err_msg); err_msg = NULL; // Clear for next test
g_free(err_msg);
err_msg = NULL; // Clear for next test
// Valid input string (1)
result = string_to_verbosity("1", &verbosity, &err_msg);
assert_true(result);
assert_int_equal(1, verbosity);
assert_null(err_msg);
g_free(err_msg); err_msg = NULL;
g_free(err_msg);
err_msg = NULL;
// Valid input string (3)
result = string_to_verbosity("3", &verbosity, &err_msg);
assert_true(result);
assert_int_equal(3, verbosity);
assert_null(err_msg);
g_free(err_msg); err_msg = NULL;
g_free(err_msg);
err_msg = NULL;
// Invalid input string (not a number)
result = string_to_verbosity("profanity", &verbosity, &err_msg);
@@ -522,25 +541,29 @@ void string_to_verbosity__returns__correct_values(void** state) {
result = string_to_verbosity("-1", &verbosity, &err_msg);
assert_false(result);
assert_string_equal("Value -1 out of range. Must be in 0..3.", err_msg);
g_free(err_msg); err_msg = NULL;
g_free(err_msg);
err_msg = NULL;
// Valid input string, out of range (too high)
result = string_to_verbosity("4", &verbosity, &err_msg);
assert_false(result);
assert_string_equal("Value 4 out of range. Must be in 0..3.", err_msg);
g_free(err_msg); err_msg = NULL;
g_free(err_msg);
err_msg = NULL;
// NULL input string
result = string_to_verbosity(NULL, &verbosity, &err_msg);
assert_false(result);
assert_string_equal("'str' input pointer can not be NULL", err_msg);
g_free(err_msg); err_msg = NULL;
g_free(err_msg);
err_msg = NULL;
// Empty input string
result = string_to_verbosity("", &verbosity, &err_msg);
assert_false(result);
assert_string_equal("Could not convert \"\" to a number.", err_msg);
g_free(err_msg); err_msg = NULL;
g_free(err_msg);
err_msg = NULL;
// err_msg is NULL
result = string_to_verbosity("abc", &verbosity, NULL);
@@ -874,66 +897,83 @@ get_mentions__tests__various(void** state)
expected = g_slist_append(expected, GINT_TO_POINTER(6));
actual = get_mentions(FALSE, TRUE, "hello boothj5", "boothj5");
assert_true(_lists_equal(actual, expected));
g_slist_free(actual); actual = NULL;
g_slist_free(expected); expected = NULL;
g_slist_free(actual);
actual = NULL;
g_slist_free(expected);
expected = NULL;
// Case insensitive match
expected = g_slist_append(expected, GINT_TO_POINTER(6));
actual = get_mentions(FALSE, FALSE, "hello BOOTHJ5", "boothj5");
assert_true(_lists_equal(actual, expected));
g_slist_free(actual); actual = NULL;
g_slist_free(expected); expected = NULL;
g_slist_free(actual);
actual = NULL;
g_slist_free(expected);
expected = NULL;
// Whole word match
expected = g_slist_append(expected, GINT_TO_POINTER(0));
actual = get_mentions(TRUE, TRUE, "boothj5 hello", "boothj5");
assert_true(_lists_equal(actual, expected));
g_slist_free(actual); actual = NULL;
g_slist_free(expected); expected = NULL;
g_slist_free(actual);
actual = NULL;
g_slist_free(expected);
expected = NULL;
// Whole word no match (partial)
actual = get_mentions(TRUE, TRUE, "boothj5hello", "boothj5");
assert_true(_lists_equal(actual, expected)); // expected is NULL
g_slist_free(actual); actual = NULL;
g_slist_free(actual);
actual = NULL;
// Multiple matches
expected = g_slist_append(expected, GINT_TO_POINTER(0));
expected = g_slist_append(expected, GINT_TO_POINTER(14));
actual = get_mentions(FALSE, TRUE, "boothj5 hello boothj5", "boothj5");
assert_true(_lists_equal(actual, expected));
g_slist_free(actual); actual = NULL;
g_slist_free(expected); expected = NULL;
g_slist_free(actual);
actual = NULL;
g_slist_free(expected);
expected = NULL;
// Nick with punctuation (whole word)
expected = g_slist_append(expected, GINT_TO_POINTER(0));
actual = get_mentions(TRUE, TRUE, "boothj5: hi", "boothj5");
assert_true(_lists_equal(actual, expected));
g_slist_free(actual); actual = NULL;
g_slist_free(expected); expected = NULL;
g_slist_free(actual);
actual = NULL;
g_slist_free(expected);
expected = NULL;
// Nick surrounded by punctuation
expected = g_slist_append(expected, GINT_TO_POINTER(1));
actual = get_mentions(TRUE, TRUE, "(boothj5)", "boothj5");
assert_true(_lists_equal(actual, expected));
g_slist_free(actual); actual = NULL;
g_slist_free(expected); expected = NULL;
g_slist_free(actual);
actual = NULL;
g_slist_free(expected);
expected = NULL;
// Empty message
actual = get_mentions(FALSE, TRUE, "", "boothj5");
assert_true(_lists_equal(actual, expected)); // expected is NULL
g_slist_free(actual); actual = NULL;
g_slist_free(actual);
actual = NULL;
// Empty nick
actual = get_mentions(FALSE, TRUE, "hello", "");
assert_true(_lists_equal(actual, expected)); // expected is NULL
g_slist_free(actual); actual = NULL;
g_slist_free(actual);
actual = NULL;
// UTF-8 characters
expected = g_slist_append(expected, GINT_TO_POINTER(0));
actual = get_mentions(TRUE, TRUE, "我能 hello", "我能");
assert_true(_lists_equal(actual, expected));
g_slist_free(actual); actual = NULL;
g_slist_free(expected); expected = NULL;
g_slist_free(actual);
actual = NULL;
g_slist_free(expected);
expected = NULL;
}
void
@@ -1175,7 +1215,9 @@ prof_occurrences__tests__whole(void** state)
expected = NULL;
}
void string_matches_one_of__tests__edge_cases(void** state) {
void
string_matches_one_of__tests__edge_cases(void** state)
{
// is is NULL, is_can_be_null is TRUE -> should return TRUE
assert_true(string_matches_one_of(NULL, NULL, TRUE, "option1", "option2", NULL));