mod.rs (1258B)
1 pub mod decode; 2 pub mod encode; 3 4 #[cfg(test)] 5 mod tests { 6 use super::{decode::list_from_tags, encode::list_build_tags}; 7 use radroots_events::{ 8 kinds::KIND_LIST_MUTE, 9 list::{RadrootsList, RadrootsListEntry}, 10 }; 11 12 #[test] 13 fn list_tags_round_trip() { 14 let list = RadrootsList { 15 content: "private".to_string(), 16 entries: vec![ 17 RadrootsListEntry { 18 tag: "p".to_string(), 19 values: vec!["abc".to_string(), "wss://relay".to_string()], 20 }, 21 RadrootsListEntry { 22 tag: "t".to_string(), 23 values: vec!["radroots".to_string()], 24 }, 25 ], 26 }; 27 let tags = list_build_tags(&list).expect("build tags"); 28 let parsed = 29 list_from_tags(KIND_LIST_MUTE, list.content.clone(), &tags).expect("parse list"); 30 assert_eq!(parsed.content, list.content); 31 assert_eq!(parsed.entries.len(), list.entries.len()); 32 assert_eq!(parsed.entries[0].tag, "p"); 33 assert_eq!(parsed.entries[0].values[0], "abc"); 34 assert_eq!(parsed.entries[1].tag, "t"); 35 assert_eq!(parsed.entries[1].values[0], "radroots"); 36 } 37 }