ruma_common/identifiers/
space_child_order.rs1use ruma_macros::IdDst;
4
5#[repr(transparent)]
13#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, IdDst)]
14#[ruma_id(validate = ruma_identifiers_validation::space_child_order::validate)]
15pub struct SpaceChildOrder(str);
16
17#[cfg(test)]
18mod tests {
19 use std::iter::repeat_n;
20
21 use ruma_identifiers_validation::Error;
22
23 use super::SpaceChildOrder;
24
25 #[test]
26 fn validate_space_child_order() {
27 SpaceChildOrder::parse("aaa").unwrap();
29
30 let order = repeat_n('a', 60).collect::<String>();
32 assert_eq!(SpaceChildOrder::parse(&order), Err(Error::MaximumLengthExceeded));
33
34 assert_eq!(SpaceChildOrder::parse("🔝"), Err(Error::InvalidCharacters));
36 }
37}