extern crate xmlparser;
use xmlparser::{TextUnescape, XmlSpace};
macro_rules! unescape {
($name:ident, $text:expr, $result:expr) => {
#[test]
fn $name() {
assert_eq!(TextUnescape::unescape($text, XmlSpace::Preserve), $result);
}
};
}
macro_rules! spaces {
($name:ident, $text:expr, $result1:expr, $result2:expr) => {
#[test]
fn $name() {
assert_eq!(TextUnescape::unescape($text, XmlSpace::Preserve), $result1);
assert_eq!(TextUnescape::unescape($text, XmlSpace::Default), $result2);
}
};
}
unescape!(unescape_1,
"text",
"text"
);
unescape!(unescape_2,
"	

 Text	

 ",
" Text "
);
unescape!(unescape_3,
"0Text@",
"0Text@"
);
unescape!(unescape_4,
"'Text'",
"'Text'"
);
unescape!(unescape_5,
""&'<>",
"\"&'<>"
);
unescape!(unescape_6,
"\t\n\rText\t\r\n",
" Text "
);
unescape!(unescape_7,
"0Text@",
"0Text@"
);
unescape!(unescape_8,
"0Текст@",
"0Текст@"
);
unescape!(unescape_9,
"А",
"\u{0410}"
);
unescape!(unescape_10,
"က",
"\u{1000}"
);
spaces!(spaces_1,
"	

 Text	

 ",
" Text ",
" Text "
);
spaces!(spaces_2,
"\t\n\r Text\t\r\n ",
" Text ",
" Text "
);