about summary refs log tree commit diff stats
path: root/tests/functionaltests/test_carbons.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functionaltests/test_carbons.c')
-rw-r--r--tests/functionaltests/test_carbons.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/functionaltests/test_carbons.c b/tests/functionaltests/test_carbons.c
index 94bd57a0..414284ff 100644
--- a/tests/functionaltests/test_carbons.c
+++ b/tests/functionaltests/test_carbons.c
@@ -118,3 +118,33 @@ receive_self_carbon(void **state)
 
     assert_true(prof_output_regex("me: .+self sent carbon"));
 }
+
+void
+receive_private_carbon(void **state)
+{
+    prof_input("/carbons on");
+
+    prof_connect();
+    assert_true(stbbr_received(
+        "<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>"
+    );
+    assert_true(prof_output_exact("Buddy1 (mobile) is online, \"On my mobile\""));
+    prof_input("/msg Buddy1");
+    assert_true(prof_output_exact("unencrypted"));
+
+    stbbr_send(
+        "<message type='chat' to='stabber@localhost/profanity' from='buddy1@localhost/mobile'>"
+            "<body>Private carbon</body>"
+            "<private xmlns='urn:xmpp:carbons:2'/>"
+        "</message>"
+    );
+
+    assert_true(prof_output_regex("Buddy1/mobile: .+Private carbon"));
+}