aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Hellyer <[email protected]>2016-12-15 12:46:27 -0800
committerAustin Hellyer <[email protected]>2016-12-15 12:46:27 -0800
commit0708ccf85bac347e59053133a2b8b6f2eabe99ba (patch)
tree1deab8231d48b05495c08d34b0d7eace954a0a6a
parentRelease v0.1.3 for some hotfixes (diff)
downloadserenity-0708ccf85bac347e59053133a2b8b6f2eabe99ba.tar.xz
serenity-0708ccf85bac347e59053133a2b8b6f2eabe99ba.zip
Fix User::avatar_url + add Id display tests
User::avatar_url was formatting the user's Id as a mention, rather than the inner u64.
-rw-r--r--src/model/user.rs4
-rw-r--r--tests/test_formatters.rs12
-rw-r--r--tests/test_user.rs24
3 files changed, 38 insertions, 2 deletions
diff --git a/src/model/user.rs b/src/model/user.rs
index 9883bd1..af026ea 100644
--- a/src/model/user.rs
+++ b/src/model/user.rs
@@ -37,7 +37,7 @@ impl CurrentUser {
/// Returns the formatted URL of the user's icon, if one exists.
pub fn avatar_url(&self) -> Option<String> {
self.avatar.as_ref().map(|av|
- format!(cdn!("/avatars/{}/{}.jpg"), self.id, av))
+ format!(cdn!("/avatars/{}/{}.jpg"), self.id.0, av))
}
/// Edits the current user's profile settings.
@@ -101,7 +101,7 @@ impl User {
/// Returns the formatted URL of the user's icon, if one exists.
pub fn avatar_url(&self) -> Option<String> {
self.avatar.as_ref().map(|av|
- format!(cdn!("/avatars/{}/{}.jpg"), self.id, av))
+ format!(cdn!("/avatars/{}/{}.jpg"), self.id.0, av))
}
/// Gets user as `Member` of a guild.
diff --git a/tests/test_formatters.rs b/tests/test_formatters.rs
new file mode 100644
index 0000000..922fb41
--- /dev/null
+++ b/tests/test_formatters.rs
@@ -0,0 +1,12 @@
+extern crate serenity;
+
+use serenity::model::*;
+
+#[test]
+fn test_formatters() {
+ assert_eq!(format!("{}", ChannelId(1)), "<#1>");
+ assert_eq!(format!("{}", EmojiId(2)), "2");
+ assert_eq!(format!("{}", GuildId(3)), "3");
+ assert_eq!(format!("{}", RoleId(4)), "<@&4>");
+ assert_eq!(format!("{}", UserId(5)), "<@5>");
+}
diff --git a/tests/test_user.rs b/tests/test_user.rs
new file mode 100644
index 0000000..b4509f3
--- /dev/null
+++ b/tests/test_user.rs
@@ -0,0 +1,24 @@
+extern crate serenity;
+
+use serenity::model::{User, UserId};
+
+fn gen() -> User {
+ User {
+ id: UserId(210),
+ avatar: Some("abc".to_owned()),
+ bot: true,
+ discriminator: "1432".to_owned(),
+ name: "test".to_owned(),
+ }
+}
+
+#[test]
+fn test_core() {
+ let mut user = gen();
+
+ assert!(user.avatar_url().unwrap().ends_with("/avatars/210/abc.jpg"));
+
+ user.avatar = None;
+
+ assert!(user.avatar_url().is_none());
+}