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()
|
||||
}
|
||||
}
|
||||
|
||||
#[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()
|
||||
}
|
||||
}
|
||||
|
||||
#[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