From 9e0371b6ac2764345a84d7bf0826c09e11cd8a63 Mon Sep 17 00:00:00 2001 From: ElnuDev Date: Thu, 15 Jun 2023 13:24:20 -0700 Subject: [PATCH] Add trailing zeros for discriminators with tests --- src/utils.rs | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/utils.rs b/src/utils.rs index 6009a9a..1509e7a 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -22,7 +22,32 @@ impl User for serenity::User { if self.discriminator == 0 { return self.name.clone(); } - format!("{}#{}", self.name, self.discriminator) + format!("{}#{:0>4}", self.name, self.discriminator) + } +} + +#[cfg(test)] +mod tests { + use crate::serenity::User; + use crate::utils::User as UserTrait; + + fn test_user(name: &str, discriminator: u16) -> User { + let mut user = User::default(); + user.name = name.to_owned(); + user.discriminator = discriminator; + user + } + + #[test] + fn test_legacy_username() { + let user = test_user("test", 123); + assert_eq!(user.username(), "test#0123"); + } + + #[test] + fn test_new_username() { + let user = test_user("test", 0); + assert_eq!(user.username(), "test"); } }