eme: Use the new helper macros to simplify parsing.

Emmanuel Gil Peyrot created

Change summary

src/eme.rs | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

Detailed changes

src/eme.rs 🔗

@@ -27,12 +27,9 @@ impl TryFrom<Element> for ExplicitMessageEncryption {
     type Err = Error;
 
     fn try_from(elem: Element) -> Result<ExplicitMessageEncryption, Error> {
-        if !elem.is("encryption", ns::EME) {
-            return Err(Error::ParseError("This is not an encryption element."));
-        }
-        for _ in elem.children() {
-            return Err(Error::ParseError("Unknown child in encryption element."));
-        }
+        check_self!(elem, "encryption", ns::EME);
+        check_no_children!(elem, "encryption");
+        check_no_unknown_attributes!(elem, "encryption", ["namespace", "name"]);
         Ok(ExplicitMessageEncryption {
             namespace: get_attr!(elem, "namespace", required),
             name: get_attr!(elem, "name", optional),
@@ -75,7 +72,7 @@ mod tests {
             Error::ParseError(string) => string,
             _ => panic!(),
         };
-        assert_eq!(message, "This is not an encryption element.");
+        assert_eq!(message, "This is not a encryption element.");
     }
 
     #[test]