mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-18 08:06:21 +00:00
- Modified chatwin_outgoing_msg to call _chatwin_set_last_message for corrected messages, using replace_id per XEP-0308. - Updated _chatwin_set_last_message to skip redundant and invalid free/strdup for same pointers. - Added null checks in _chatwin_set_last_message for safety. - Fixes autocompletion suggesting original message content instead of corrected content. Fixes #24
63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
#include <glib.h>
|
|
#include <stdarg.h>
|
|
#include <stddef.h>
|
|
#include <setjmp.h>
|
|
#include <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?"));
|
|
}
|