nyantrack_common/
lib.rs

1pub mod activity;
2pub mod character;
3pub mod entry;
4pub mod lists;
5pub mod name;
6pub mod staff;
7pub mod studio;
8pub mod tags;
9pub mod user;
10
11#[cfg(test)]
12mod tests {
13
14    use super::*;
15
16    #[test]
17    fn serialize_actor_id() {
18        use user::ActorID;
19
20        let actor_id = ActorID::new("https://example.com", 12345);
21        let serialized = serde_json::to_string(&actor_id).unwrap();
22        assert_eq!(serialized, "\"https://example.com/user/12345\"".to_owned())
23    }
24
25    #[test]
26    fn deserialize_actor_id() {
27        use user::ActorID;
28
29        let actor_id_json = "\"https://example.com/user/12345\"";
30        let deserialized: ActorID = serde_json::from_str(actor_id_json).unwrap();
31        assert_eq!(deserialized, ActorID::new("https://example.com", 12345));
32
33        let actor_id_json = "\"http://example.com/user/12345\"";
34        let deserialized: ActorID = serde_json::from_str(actor_id_json).unwrap();
35        assert_eq!(deserialized, ActorID::new("http://example.com", 12345));
36
37        let actor_id_json = "\"https://example.com:8080/user/12345\"";
38        let deserialized: ActorID = serde_json::from_str(actor_id_json).unwrap();
39        assert_eq!(deserialized, ActorID::new("https://example.com:8080", 12345));
40
41        let actor_id_json = "\"example.com/user/12345\"";
42        let deserialized: ActorID = serde_json::from_str(actor_id_json).unwrap();
43        assert_eq!(deserialized, ActorID::new("example.com", 12345));
44    }
45}