Files
profanity/tests/functionaltests/test_message.c
Steffen Jaeckel 988d3663d1 Introduce tests/prof_cmocka.h
As 9f2abc75 accidentally got the ordering of some of the includes wrong,
I decided to propose my initial solution again.

Additional to that, I've opened a MR against CMocka to solve this on
their side, since I believe that the current way this is done is not
sustainable [0].

[0] https://gitlab.com/cmocka/cmocka/-/merge_requests/91

Fixes: 9f2abc75 ("Fix tests with gcc15 (uintptr_t)")
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>

CProof note: our new tests need to also be updated.
2025-09-10 14:11:03 +02:00

60 lines
1.4 KiB
C

#include <glib.h>
#include "prof_cmocka.h"
#include <stdlib.h>
#include <string.h>
#include <stabber.h>
#include <expect.h>
#include "proftest.h"
void
message_send(void **state)
{
prof_connect();
prof_input("/msg somejid@someserver.com Hi there");
assert_true(stbbr_received(
"<message id='*' to='somejid@someserver.com' type='chat'>"
"<body>Hi there</body>"
"</message>"
));
assert_true(prof_output_regex("me: .+Hi there"));
}
// TODO: `/message correct` XEP-0308 compliance (whether each correction links to the original message ID)
// https://xmpp.org/extensions/xep-0308.html#rules
void
message_receive_console(void **state)
{
prof_connect();
stbbr_send(
"<message id='message1' to='stabber@localhost' from='someuser@chatserv.org/laptop' type='chat'>"
"<body>How are you?</body>"
"</message>"
);
assert_true(prof_output_exact("<< chat message: someuser@chatserv.org/laptop (win 2)"));
}
void
message_receive_chatwin(void **state)
{
prof_connect();
prof_input("/msg someuser@chatserv.org");
assert_true(prof_output_exact("someuser@chatserv.org"));
stbbr_send(
"<message id='message1' to='stabber@localhost' from='someuser@chatserv.org/laptop' type='chat'>"
"<body>How are you?</body>"
"</message>"
);
assert_true(prof_output_regex("someuser@chatserv.org/laptop: .+How are you?"));
}