diff options
| author | Austin Hellyer <[email protected]> | 2016-12-17 11:06:23 -0800 |
|---|---|---|
| committer | Austin Hellyer <[email protected]> | 2016-12-17 11:06:23 -0800 |
| commit | 933ee8914509e52c5119ced9f5d9d8f9644cfa63 (patch) | |
| tree | 6455269b1e763e74e8273613afce5fe14b69789e /tests/test_formatters.rs | |
| parent | Remove cache feature dependency for framework (diff) | |
| download | serenity-933ee8914509e52c5119ced9f5d9d8f9644cfa63.tar.xz serenity-933ee8914509e52c5119ced9f5d9d8f9644cfa63.zip | |
Make Id displays format u64 instead of a mention
Instead of mentioning the channel, role, or user on an Id display
format, format its inner u64 instead. Instead, use `Id::mention()` to
accomplish the equivilant.
Diffstat (limited to 'tests/test_formatters.rs')
| -rw-r--r-- | tests/test_formatters.rs | 69 |
1 files changed, 64 insertions, 5 deletions
diff --git a/tests/test_formatters.rs b/tests/test_formatters.rs index 922fb41..91eb0f0 100644 --- a/tests/test_formatters.rs +++ b/tests/test_formatters.rs @@ -1,12 +1,71 @@ extern crate serenity; use serenity::model::*; +use serenity::utils::Colour; #[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>"); + assert_eq!(ChannelId(1).to_string(), "1"); + assert_eq!(EmojiId(2).to_string(), "2"); + assert_eq!(GuildId(3).to_string(), "3"); + assert_eq!(RoleId(4).to_string(), "4"); + assert_eq!(UserId(5).to_string(), "5"); +} + +#[test] +fn test_mention() { + let channel = Channel::Guild(GuildChannel { + bitrate: None, + guild_id: GuildId(1), + kind: ChannelType::Text, + id: ChannelId(4), + last_message_id: None, + last_pin_timestamp: None, + name: "a".to_owned(), + permission_overwrites: vec![], + position: 1, + topic: None, + user_limit: None, + }); + let emoji = Emoji { + id: EmojiId(5), + name: "a".to_owned(), + managed: true, + require_colons: true, + roles: vec![], + }; + let role = Role { + id: RoleId(2), + colour: Colour::rosewater(), + hoist: false, + managed: false, + mentionable: false, + name: "fake role".to_owned(), + permissions: Permissions::empty(), + position: 1, + }; + let user = User { + id: UserId(6), + avatar: None, + bot: false, + discriminator: "4132".to_owned(), + name: "fake".to_owned(), + }; + let member = Member { + deaf: false, + joined_at: "fake".to_owned(), + mute: false, + nick: None, + roles: vec![], + user: user.clone(), + }; + + assert_eq!(ChannelId(1).mention(), "<#1>"); + assert_eq!(channel.mention(), "<#4>"); + assert_eq!(emoji.mention(), "<:a:5>"); + assert_eq!(member.mention(), "<@6>"); + assert_eq!(role.mention(), "<@&2>"); + assert_eq!(role.id.mention(), "<@&2>"); + assert_eq!(user.mention(), "<@6>"); + assert_eq!(user.id.mention(), "<@6>"); } |