Compare commits

..

1 commit

Author SHA1 Message Date
cda854553c Add message serialization and deserialization
All checks were successful
PR Check / on-push-commit-check (push) Successful in 22m27s
2024-12-24 22:41:22 +11:00

View file

@ -65,6 +65,7 @@ TEST(Parse, Message) {
} }
TEST(Serialize, Message) { TEST(Serialize, Message) {
{
auto expected = auto expected =
R"(<?xml version="1.0" encoding="UTF-8"?> R"(<?xml version="1.0" encoding="UTF-8"?>
<message from="user1@server.i2p" to="user2@server.i2p" type="chat" id="1" xml:lang="en"><body>hello</body></message> <message from="user1@server.i2p" to="user2@server.i2p" type="chat" id="1" xml:lang="en"><body>hello</body></message>
@ -73,13 +74,14 @@ TEST(Serialize, Message) {
auto node = doc.create_root_node("message"); auto node = doc.create_root_node("message");
Serialization<message::Message<BareJid, BareJid>>::Serialize(node, kMessage); Serialization<message::Message<BareJid, BareJid>>::Serialize(node, kMessage);
EXPECT_EQ(doc.write_to_string(), expected); EXPECT_EQ(doc.write_to_string(), expected);
doc.~Document(); }
new(&doc) xmlpp::Document{}; auto expected = R"(<?xml version="1.0" encoding="UTF-8"?>
node = doc.create_root_node("message");
Serialization<message::Error<BareJid, BareJid>>::Serialize(node, kError);
EXPECT_EQ(doc.write_to_string(), R"(<?xml version="1.0" encoding="UTF-8"?>
<message type="error" from="user1@server.i2p" to="user2@server.i2p"><error type="auth"><not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message> <message type="error" from="user1@server.i2p" to="user2@server.i2p"><error type="auth"><not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>
)"); )";
xmlpp::Document doc;
auto node = doc.create_root_node("message");
Serialization<message::Error<BareJid, BareJid>>::Serialize(node, kError);
EXPECT_EQ(doc.write_to_string(), expected);
} }
} // namespace larra::xmpp } // namespace larra::xmpp