pubsub/event: Remove unused @node in item.

This commit is contained in:
Emmanuel Gil Peyrot 2018-08-02 22:05:23 +02:00
parent 955f2809be
commit 679dd14a49

View file

@ -21,7 +21,6 @@ use pubsub::{NodeName, ItemId, Subscription, SubscriptionId};
#[derive(Debug, Clone)]
pub struct Item {
pub payload: Option<Element>,
pub node: Option<NodeName>,
pub id: Option<ItemId>,
pub publisher: Option<Jid>,
}
@ -31,7 +30,7 @@ impl TryFrom<Element> for Item {
fn try_from(elem: Element) -> Result<Item, Error> {
check_self!(elem, "item", PUBSUB_EVENT);
check_no_unknown_attributes!(elem, "item", ["id", "node", "publisher"]);
check_no_unknown_attributes!(elem, "item", ["id", "publisher"]);
let mut payloads = elem.children().cloned().collect::<Vec<_>>();
let payload = payloads.pop();
if !payloads.is_empty() {
@ -40,7 +39,6 @@ impl TryFrom<Element> for Item {
Ok(Item {
payload,
id: get_attr!(elem, "id", optional),
node: get_attr!(elem, "node", optional),
publisher: get_attr!(elem, "publisher", optional),
})
}
@ -51,7 +49,6 @@ impl From<Item> for Element {
Element::builder("item")
.ns(ns::PUBSUB_EVENT)
.attr("id", item.id)
.attr("node", item.node)
.attr("publisher", item.publisher)
.append(item.payload)
.build()
@ -274,13 +271,12 @@ mod tests {
#[test]
fn test_simple_items() {
let elem: Element = "<event xmlns='http://jabber.org/protocol/pubsub#event'><items node='coucou'><item id='test' node='huh?' publisher='test@coucou'/></items></event>".parse().unwrap();
let elem: Element = "<event xmlns='http://jabber.org/protocol/pubsub#event'><items node='coucou'><item id='test' publisher='test@coucou'/></items></event>".parse().unwrap();
let event = PubSubEvent::try_from(elem).unwrap();
match event {
PubSubEvent::PublishedItems { node, items } => {
assert_eq!(node, NodeName(String::from("coucou")));
assert_eq!(items[0].id, Some(ItemId(String::from("test"))));
assert_eq!(items[0].node, Some(NodeName(String::from("huh?"))));
assert_eq!(items[0].publisher, Some(Jid::from_str("test@coucou").unwrap()));
assert_eq!(items[0].payload, None);
},
@ -296,7 +292,6 @@ mod tests {
PubSubEvent::PublishedItems { node, items } => {
assert_eq!(node, NodeName(String::from("something")));
assert_eq!(items[0].id, None);
assert_eq!(items[0].node, None);
assert_eq!(items[0].publisher, None);
match items[0].payload {
Some(ref elem) => assert!(elem.is("foreign", "example:namespace")),