tests: fix functional presence tests

This commit is contained in:
Michael Vetter
2026-03-05 22:46:33 +01:00
parent 23fe2a4661
commit cf7b5f808e

View File

@@ -12,11 +12,11 @@ presence_online(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/online"); prof_input("/status set online");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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)")); assert_true(prof_output_exact("Status set to online (priority 0)"));
@@ -27,12 +27,12 @@ presence_online_with_message(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/online \"Hi there\""); prof_input("/status set online \"Hi there\"");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<status>Hi there</status>" "<status>Hi there</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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\".")); assert_true(prof_output_exact("Status set to online (priority 0), \"Hi there\"."));
@@ -43,12 +43,12 @@ presence_away(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/away"); prof_input("/status set away");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>away</show>" "<show>away</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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)")); assert_true(prof_output_exact("Status set to away (priority 0)"));
@@ -59,13 +59,13 @@ presence_away_with_message(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/away \"I'm not here for a bit\""); prof_input("/status set away \"I'm not here for a bit\"");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>away</show>" "<show>away</show>"
"<status>I'm not here for a bit</status>" "<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'/>" "<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\".")); assert_true(prof_output_exact("Status set to away (priority 0), \"I'm not here for a bit\"."));
@@ -76,12 +76,12 @@ presence_xa(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/xa"); prof_input("/status set xa");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>xa</show>" "<show>xa</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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)")); assert_true(prof_output_exact("Status set to xa (priority 0)"));
@@ -92,13 +92,13 @@ presence_xa_with_message(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/xa \"Gone to the shops\""); prof_input("/status set xa \"Gone to the shops\"");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>xa</show>" "<show>xa</show>"
"<status>Gone to the shops</status>" "<status>Gone to the shops</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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\".")); assert_true(prof_output_exact("Status set to xa (priority 0), \"Gone to the shops\"."));
@@ -109,12 +109,12 @@ presence_dnd(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/dnd"); prof_input("/status set dnd");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>dnd</show>" "<show>dnd</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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)")); assert_true(prof_output_exact("Status set to dnd (priority 0)"));
@@ -125,13 +125,13 @@ presence_dnd_with_message(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/dnd \"Working\""); prof_input("/status set dnd \"Working\"");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>dnd</show>" "<show>dnd</show>"
"<status>Working</status>" "<status>Working</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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\".")); assert_true(prof_output_exact("Status set to dnd (priority 0), \"Working\"."));
@@ -142,12 +142,12 @@ presence_chat(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/chat"); prof_input("/status set chat");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>chat</show>" "<show>chat</show>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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)")); assert_true(prof_output_exact("Status set to chat (priority 0)"));
@@ -158,13 +158,13 @@ presence_chat_with_message(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/chat \"Free to talk\""); prof_input("/status set chat \"Free to talk\"");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>chat</show>" "<show>chat</show>"
"<status>Free to talk</status>" "<status>Free to talk</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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\".")); assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\"."));
@@ -178,9 +178,9 @@ presence_set_priority(void** state)
prof_input("/priority 25"); prof_input("/priority 25");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<priority>25</priority>" "<priority>25</priority>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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.")); assert_true(prof_output_exact("Priority set to 25."));
@@ -193,19 +193,19 @@ presence_includes_priority(void** state)
prof_input("/priority 25"); prof_input("/priority 25");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<priority>25</priority>" "<priority>25</priority>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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.")); assert_true(prof_output_exact("Priority set to 25."));
prof_input("/chat \"Free to talk\""); prof_input("/status set chat \"Free to talk\"");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<priority>25</priority>" "<priority>25</priority>"
"<show>chat</show>" "<show>chat</show>"
"<status>Free to talk</status>" "<status>Free to talk</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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\".")); assert_true(prof_output_exact("Status set to chat (priority 25), \"Free to talk\"."));
} }
@@ -215,22 +215,22 @@ presence_keeps_status(void** state)
{ {
prof_connect(); prof_connect();
prof_input("/chat \"Free to talk\""); prof_input("/status set chat \"Free to talk\"");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>chat</show>" "<show>chat</show>"
"<status>Free to talk</status>" "<status>Free to talk</status>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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\".")); assert_true(prof_output_exact("Status set to chat (priority 0), \"Free to talk\"."));
prof_input("/priority 25"); prof_input("/priority 25");
assert_true(stbbr_received( assert_true(stbbr_received(
"<presence id='prof_presence_*'>" "<presence id=\"*\">"
"<show>chat</show>" "<show>chat</show>"
"<status>Free to talk</status>" "<status>Free to talk</status>"
"<priority>25</priority>" "<priority>25</priority>"
"<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' ver='*' node='http://profanity-im.github.io'/>" "<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.")); assert_true(prof_output_exact("Priority set to 25."));
} }
@@ -246,7 +246,7 @@ presence_received(void** state)
"<status>I'm here</status>" "<status>I'm here</status>"
"</presence>"); "</presence>");
assert_true(prof_output_exact("Buddy1 (mobile) is online, \"I'm here\"")); assert_true(prof_output_regex("Buddy1 \\(mobile\\) is online, \"I'm here\""));
} }
// Typical use case for gateways that don't support resources // Typical use case for gateways that don't support resources