rustical_dav/xml/
error.rs1use rustical_xml::{XmlRootTag, XmlSerialize};
2
3#[derive(XmlSerialize, XmlRootTag)]
4#[xml(ns = "crate::namespace::NS_DAV", root = "error")]
5#[xml(ns_prefix(crate::namespace::NS_DAV = "",))]
6pub struct ErrorElement<'t, T: XmlSerialize>(#[xml(ty = "untagged")] pub &'t T);
7
8#[cfg(test)]
9mod tests {
10 use super::ErrorElement;
11 use rustical_xml::{XmlSerialize, XmlSerializeRoot};
12
13 #[derive(XmlSerialize, Default)]
14 enum Error {
15 #[default]
16 UnfortunateError,
17 }
18
19 #[test]
20 fn test_serialize_resourcetype() {
21 let out = ErrorElement(&Error::UnfortunateError)
22 .serialize_to_string()
23 .unwrap();
24 assert_eq!(
25 out,
26 r#"<?xml version="1.0" encoding="utf-8"?>
27<error xmlns="DAV:">
28 <unfortunate-error/>
29</error>"#
30 );
31 }
32}