Fix permission-related ViewChannel tests

This commit is contained in:
FiniteReality
2018-05-28 17:41:05 +01:00
parent 415e2f7739
commit 0c7cb73b06
3 changed files with 13 additions and 5 deletions

View File

@@ -68,6 +68,7 @@ namespace Discord
ulong voiceChannel = (ulong)(
ChannelPermission.CreateInstantInvite
| ChannelPermission.ManageChannels
| ChannelPermission.ViewChannel
| ChannelPermission.Connect
| ChannelPermission.Speak
| ChannelPermission.MuteMembers

View File

@@ -1,4 +1,5 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Xunit;
@@ -38,9 +39,13 @@ namespace Discord
copy = GuildPermissions.Webhook.Modify();
Assert.Equal(GuildPermissions.Webhook.RawValue, copy.RawValue);
// Get all distinct values (ReadMessages = ViewChannel)
var enumValues = (Enum.GetValues(typeof(GuildPermission)) as GuildPermission[])
.Distinct()
.ToArray();
// test GuildPermissions.All
ulong sumOfAllGuildPermissions = 0;
foreach(var v in Enum.GetValues(typeof(GuildPermission)))
foreach(var v in enumValues)
{
sumOfAllGuildPermissions |= (ulong)v;
}
@@ -51,7 +56,7 @@ namespace Discord
// assert that GuildPermissions.All contains the same number of permissions as the
// GuildPermissions enum
Assert.Equal(Enum.GetValues(typeof(GuildPermission)).Length, GuildPermissions.All.ToList().Count);
Assert.Equal(enumValues.Length, GuildPermissions.All.ToList().Count);
// assert that webhook has the same raw value
ulong webHookPermissions = (ulong)(

View File

@@ -1,4 +1,5 @@
using System;
using System.Diagnostics;
using System.Threading.Tasks;
using Xunit;
@@ -21,6 +22,7 @@ namespace Discord
/// <param name="expected"></param>
private void TestHelper(ulong rawValue, ulong flagValue, bool expected)
{
Debug.Print($"Expecting {expected} for {rawValue} w/ {flagValue}");
Assert.Equal(expected, Permissions.GetValue(rawValue, flagValue));
// check that toggling the bit works
@@ -239,7 +241,7 @@ namespace Discord
TestHelper(value, ChannelPermission.CreateInstantInvite, true);
TestHelper(value, ChannelPermission.ManageChannels, true);
TestHelper(value, ChannelPermission.AddReactions, false);
TestHelper(value, ChannelPermission.ViewChannel, false);
TestHelper(value, ChannelPermission.ViewChannel, true);
TestHelper(value, ChannelPermission.SendMessages, false);
TestHelper(value, ChannelPermission.SendTTSMessages, false);
TestHelper(value, ChannelPermission.ManageMessages, false);
@@ -659,7 +661,7 @@ namespace Discord
TestHelper(value, ChannelPermission.CreateInstantInvite, PermValue.Allow);
TestHelper(value, ChannelPermission.ManageChannels, PermValue.Allow);
TestHelper(value, ChannelPermission.AddReactions, PermValue.Inherit);
TestHelper(value, ChannelPermission.ViewChannel, PermValue.Inherit);
TestHelper(value, ChannelPermission.ViewChannel, PermValue.Allow);
TestHelper(value, ChannelPermission.SendMessages, PermValue.Inherit);
TestHelper(value, ChannelPermission.SendTTSMessages, PermValue.Inherit);
TestHelper(value, ChannelPermission.ManageMessages, PermValue.Inherit);
@@ -682,7 +684,7 @@ namespace Discord
TestHelper(value, ChannelPermission.CreateInstantInvite, PermValue.Deny);
TestHelper(value, ChannelPermission.ManageChannels, PermValue.Deny);
TestHelper(value, ChannelPermission.AddReactions, PermValue.Inherit);
TestHelper(value, ChannelPermission.ViewChannel, PermValue.Inherit);
TestHelper(value, ChannelPermission.ViewChannel, PermValue.Deny);
TestHelper(value, ChannelPermission.SendMessages, PermValue.Inherit);
TestHelper(value, ChannelPermission.SendTTSMessages, PermValue.Inherit);
TestHelper(value, ChannelPermission.ManageMessages, PermValue.Inherit);