jid: Replace serde_json with serde_test in tests

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2023-08-14 19:59:28 +02:00
parent 2f808f161f
commit e9066c353d
Signed by: pep
GPG key ID: DEDA74AEECA9D0F2
2 changed files with 9 additions and 40 deletions

View file

@ -25,5 +25,5 @@ serde = { version = "1.0", features = ["derive"], optional = true }
stringprep = "0.1.3"
[dev-dependencies]
serde_json = "1"
jid = { path = ".", features = [ "serde" ] }
serde_test = "1"
jid = { path = ".", features = [ "serde" ] }

View file

@ -912,46 +912,15 @@ mod tests {
assert_eq!(fulljid, FullJid::new("node@domain/resource").unwrap());
}
#[cfg(feature = "serde")]
#[derive(Serialize, Deserialize)]
struct JidContainer<T> {
jid: T,
}
#[cfg(feature = "serde")]
impl<T> From<T> for JidContainer<T> {
fn from(jid: T) -> JidContainer<T> {
JidContainer { jid }
}
}
#[cfg(feature = "serde")]
const BARE_JSON_STR: &'static str = "{\"jid\":\"node@domain\"}";
#[cfg(feature = "serde")]
const FULL_JSON_STR: &'static str = "{\"jid\":\"node@domain/resource\"}";
#[test]
#[cfg(feature = "serde")]
fn jid_serialize() {
let jid: JidContainer<Jid> = Jid::new("node@domain").unwrap().into();
assert_eq!(BARE_JSON_STR, serde_json::to_string(&jid).unwrap());
let jid: JidContainer<BareJid> = BareJid::new("node@domain").unwrap().into();
assert_eq!(BARE_JSON_STR, serde_json::to_string(&jid).unwrap());
let jid: JidContainer<FullJid> = FullJid::new("node@domain/resource").unwrap().into();
assert_eq!(FULL_JSON_STR, serde_json::to_string(&jid).unwrap());
}
fn jid_ser_de() {
let jid: Jid = Jid::new("node@domain").unwrap();
serde_test::assert_tokens(&jid, &[serde_test::Token::Str("node@domain")]);
let jid: BareJid = BareJid::new("node@domain").unwrap();
serde_test::assert_tokens(&jid, &[serde_test::Token::Str("node@domain")]);
#[test]
#[cfg(feature = "serde")]
fn jid_deserialize() {
let jid = Jid::new("node@domain").unwrap();
let deser_jid: JidContainer<Jid> = serde_json::from_str(BARE_JSON_STR).unwrap();
assert_eq!(jid, deser_jid.jid);
let jid = BareJid::new("node@domain").unwrap();
let deser_jid: JidContainer<BareJid> = serde_json::from_str(BARE_JSON_STR).unwrap();
assert_eq!(jid, deser_jid.jid);
let jid = FullJid::new("node@domain/resource").unwrap();
let deser_jid: JidContainer<FullJid> = serde_json::from_str(FULL_JSON_STR).unwrap();
assert_eq!(jid, deser_jid.jid);
let jid: FullJid = FullJid::new("node@domain/resource").unwrap();
serde_test::assert_tokens(&jid, &[serde_test::Token::Str("node@domain/resource")]);
}
}