Add more tests for Algorithm and EventType
This commit is contained in:
parent
0ff395fe85
commit
b03eb0261f
@ -61,3 +61,21 @@ impl From<Algorithm> for String {
|
|||||||
algorithm.to_string()
|
algorithm.to_string()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn serialize_and_deserialize_from_display_form() {
|
||||||
|
serde_eq!(r#""m.megolm.v1.aes-sha2""#, Algorithm::MegolmV1AesSha2);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.olm.v1.curve25519-aes-sha2""#,
|
||||||
|
Algorithm::OlmV1Curve25519AesSha2
|
||||||
|
);
|
||||||
|
serde_eq!(
|
||||||
|
r#""io.ruma.test""#,
|
||||||
|
Algorithm::Custom("io.ruma.test".to_string())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -266,3 +266,81 @@ impl From<EventType> for String {
|
|||||||
event_type.to_string()
|
event_type.to_string()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[allow(clippy::cognitive_complexity)]
|
||||||
|
#[test]
|
||||||
|
fn serialize_and_deserialize_from_display_form() {
|
||||||
|
serde_eq!(r#""m.call.answer""#, EventType::CallAnswer);
|
||||||
|
serde_eq!(r#""m.call.candidates""#, EventType::CallCandidates);
|
||||||
|
serde_eq!(r#""m.call.hangup""#, EventType::CallHangup);
|
||||||
|
serde_eq!(r#""m.call.invite""#, EventType::CallInvite);
|
||||||
|
serde_eq!(r#""m.direct""#, EventType::Direct);
|
||||||
|
serde_eq!(r#""m.dummy""#, EventType::Dummy);
|
||||||
|
serde_eq!(r#""m.forwarded_room_key""#, EventType::ForwardedRoomKey);
|
||||||
|
serde_eq!(r#""m.fully_read""#, EventType::FullyRead);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.key.verification.accept""#,
|
||||||
|
EventType::KeyVerificationAccept
|
||||||
|
);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.key.verification.cancel""#,
|
||||||
|
EventType::KeyVerificationCancel
|
||||||
|
);
|
||||||
|
serde_eq!(r#""m.key.verification.key""#, EventType::KeyVerificationKey);
|
||||||
|
serde_eq!(r#""m.key.verification.mac""#, EventType::KeyVerificationMac);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.key.verification.request""#,
|
||||||
|
EventType::KeyVerificationRequest
|
||||||
|
);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.key.verification.start""#,
|
||||||
|
EventType::KeyVerificationStart
|
||||||
|
);
|
||||||
|
serde_eq!(r#""m.ignored_user_list""#, EventType::IgnoredUserList);
|
||||||
|
serde_eq!(r#""m.presence""#, EventType::Presence);
|
||||||
|
serde_eq!(r#""m.push_rules""#, EventType::PushRules);
|
||||||
|
serde_eq!(r#""m.receipt""#, EventType::Receipt);
|
||||||
|
serde_eq!(r#""m.room.aliases""#, EventType::RoomAliases);
|
||||||
|
serde_eq!(r#""m.room.avatar""#, EventType::RoomAvatar);
|
||||||
|
serde_eq!(r#""m.room.canonical_alias""#, EventType::RoomCanonicalAlias);
|
||||||
|
serde_eq!(r#""m.room.create""#, EventType::RoomCreate);
|
||||||
|
serde_eq!(r#""m.room.encrypted""#, EventType::RoomEncrypted);
|
||||||
|
serde_eq!(r#""m.room.encryption""#, EventType::RoomEncryption);
|
||||||
|
serde_eq!(r#""m.room.guest_access""#, EventType::RoomGuestAccess);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.room.history_visibility""#,
|
||||||
|
EventType::RoomHistoryVisibility
|
||||||
|
);
|
||||||
|
serde_eq!(r#""m.room.join_rules""#, EventType::RoomJoinRules);
|
||||||
|
serde_eq!(r#""m.room.member""#, EventType::RoomMember);
|
||||||
|
serde_eq!(r#""m.room.message""#, EventType::RoomMessage);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.room.message.feedback""#,
|
||||||
|
EventType::RoomMessageFeedback
|
||||||
|
);
|
||||||
|
serde_eq!(r#""m.room.name""#, EventType::RoomName);
|
||||||
|
serde_eq!(r#""m.room.pinned_events""#, EventType::RoomPinnedEvents);
|
||||||
|
serde_eq!(r#""m.room.power_levels""#, EventType::RoomPowerLevels);
|
||||||
|
serde_eq!(r#""m.room.redaction""#, EventType::RoomRedaction);
|
||||||
|
serde_eq!(r#""m.room.server_acl""#, EventType::RoomServerAcl);
|
||||||
|
serde_eq!(
|
||||||
|
r#""m.room.third_party_invite""#,
|
||||||
|
EventType::RoomThirdPartyInvite
|
||||||
|
);
|
||||||
|
serde_eq!(r#""m.room.tombstone""#, EventType::RoomTombstone);
|
||||||
|
serde_eq!(r#""m.room.topic""#, EventType::RoomTopic);
|
||||||
|
serde_eq!(r#""m.room_key""#, EventType::RoomKey);
|
||||||
|
serde_eq!(r#""m.room_key_request""#, EventType::RoomKeyRequest);
|
||||||
|
serde_eq!(r#""m.sticker""#, EventType::Sticker);
|
||||||
|
serde_eq!(r#""m.tag""#, EventType::Tag);
|
||||||
|
serde_eq!(r#""m.typing""#, EventType::Typing);
|
||||||
|
serde_eq!(
|
||||||
|
r#""io.ruma.test""#,
|
||||||
|
EventType::Custom("io.ruma.test".to_string())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
71
src/lib.rs
71
src/lib.rs
@ -473,74 +473,3 @@ mod custom_state {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use serde_json::{from_str, to_string};
|
|
||||||
|
|
||||||
use super::{Algorithm, EventType};
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn event_types_serialize_to_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
to_string(&EventType::RoomCreate).unwrap(),
|
|
||||||
r#""m.room.create""#
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn custom_event_types_serialize_to_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
to_string(&EventType::Custom("io.ruma.test".to_string())).unwrap(),
|
|
||||||
r#""io.ruma.test""#
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn event_types_deserialize_from_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
from_str::<EventType>(r#""m.room.create""#).unwrap(),
|
|
||||||
EventType::RoomCreate
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn custom_event_types_deserialize_from_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
from_str::<EventType>(r#""io.ruma.test""#).unwrap(),
|
|
||||||
EventType::Custom("io.ruma.test".to_string())
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn algorithms_serialize_to_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
to_string(&Algorithm::MegolmV1AesSha2).unwrap(),
|
|
||||||
r#""m.megolm.v1.aes-sha2""#
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn custom_algorithms_serialize_to_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
to_string(&Algorithm::Custom("io.ruma.test".to_string())).unwrap(),
|
|
||||||
r#""io.ruma.test""#
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn algorithms_deserialize_from_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
from_str::<Algorithm>(r#""m.megolm.v1.aes-sha2""#).unwrap(),
|
|
||||||
Algorithm::MegolmV1AesSha2
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn custom_algorithms_deserialize_from_display_form() {
|
|
||||||
assert_eq!(
|
|
||||||
from_str::<Algorithm>(r#""io.ruma.test""#).unwrap(),
|
|
||||||
Algorithm::Custom("io.ruma.test".to_string())
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -107,3 +107,13 @@ macro_rules! impl_from_for_enum {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
macro_rules! serde_eq {
|
||||||
|
($de:literal, $se:expr) => {
|
||||||
|
let mut val = $se;
|
||||||
|
assert_eq!($de, serde_json::to_string(&val).unwrap());
|
||||||
|
val = serde_json::from_str($de).unwrap();
|
||||||
|
assert_eq!(val, $se);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user