extern crate serenity; #[cfg(feature = "model")] mod model { use serenity::model::{User, UserId}; fn gen() -> User { User { id: UserId(210), avatar: Some("abc".to_owned()), bot: true, discriminator: 1432, name: "test".to_owned(), } } #[test] fn test_core() { let mut user = gen(); assert!( user.avatar_url() .unwrap() .ends_with("/avatars/210/abc.webp?size=1024") ); assert!( user.static_avatar_url() .unwrap() .ends_with("/avatars/210/abc.webp?size=1024") ); user.avatar = Some("a_aaa".to_owned()); assert!( user.avatar_url() .unwrap() .ends_with("/avatars/210/a_aaa.gif?size=1024") ); assert!( user.static_avatar_url() .unwrap() .ends_with("/avatars/210/a_aaa.webp?size=1024") ); user.avatar = None; assert!(user.avatar_url().is_none()); assert_eq!(user.tag(), "test#1432"); } #[test] fn default_avatars() { let mut user = gen(); user.discriminator = 0; assert!(user.default_avatar_url().ends_with("0.png")); user.discriminator = 1; assert!(user.default_avatar_url().ends_with("1.png")); user.discriminator = 2; assert!(user.default_avatar_url().ends_with("2.png")); user.discriminator = 3; assert!(user.default_avatar_url().ends_with("3.png")); user.discriminator = 4; assert!(user.default_avatar_url().ends_with("4.png")); } }