Fix permission-related ViewChannel tests
This commit is contained in:
@@ -68,6 +68,7 @@ namespace Discord
|
|||||||
ulong voiceChannel = (ulong)(
|
ulong voiceChannel = (ulong)(
|
||||||
ChannelPermission.CreateInstantInvite
|
ChannelPermission.CreateInstantInvite
|
||||||
| ChannelPermission.ManageChannels
|
| ChannelPermission.ManageChannels
|
||||||
|
| ChannelPermission.ViewChannel
|
||||||
| ChannelPermission.Connect
|
| ChannelPermission.Connect
|
||||||
| ChannelPermission.Speak
|
| ChannelPermission.Speak
|
||||||
| ChannelPermission.MuteMembers
|
| ChannelPermission.MuteMembers
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
@@ -38,9 +39,13 @@ namespace Discord
|
|||||||
copy = GuildPermissions.Webhook.Modify();
|
copy = GuildPermissions.Webhook.Modify();
|
||||||
Assert.Equal(GuildPermissions.Webhook.RawValue, copy.RawValue);
|
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
|
// test GuildPermissions.All
|
||||||
ulong sumOfAllGuildPermissions = 0;
|
ulong sumOfAllGuildPermissions = 0;
|
||||||
foreach(var v in Enum.GetValues(typeof(GuildPermission)))
|
foreach(var v in enumValues)
|
||||||
{
|
{
|
||||||
sumOfAllGuildPermissions |= (ulong)v;
|
sumOfAllGuildPermissions |= (ulong)v;
|
||||||
}
|
}
|
||||||
@@ -51,7 +56,7 @@ namespace Discord
|
|||||||
|
|
||||||
// assert that GuildPermissions.All contains the same number of permissions as the
|
// assert that GuildPermissions.All contains the same number of permissions as the
|
||||||
// GuildPermissions enum
|
// 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
|
// assert that webhook has the same raw value
|
||||||
ulong webHookPermissions = (ulong)(
|
ulong webHookPermissions = (ulong)(
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
@@ -21,6 +22,7 @@ namespace Discord
|
|||||||
/// <param name="expected"></param>
|
/// <param name="expected"></param>
|
||||||
private void TestHelper(ulong rawValue, ulong flagValue, bool expected)
|
private void TestHelper(ulong rawValue, ulong flagValue, bool expected)
|
||||||
{
|
{
|
||||||
|
Debug.Print($"Expecting {expected} for {rawValue} w/ {flagValue}");
|
||||||
Assert.Equal(expected, Permissions.GetValue(rawValue, flagValue));
|
Assert.Equal(expected, Permissions.GetValue(rawValue, flagValue));
|
||||||
|
|
||||||
// check that toggling the bit works
|
// check that toggling the bit works
|
||||||
@@ -239,7 +241,7 @@ namespace Discord
|
|||||||
TestHelper(value, ChannelPermission.CreateInstantInvite, true);
|
TestHelper(value, ChannelPermission.CreateInstantInvite, true);
|
||||||
TestHelper(value, ChannelPermission.ManageChannels, true);
|
TestHelper(value, ChannelPermission.ManageChannels, true);
|
||||||
TestHelper(value, ChannelPermission.AddReactions, false);
|
TestHelper(value, ChannelPermission.AddReactions, false);
|
||||||
TestHelper(value, ChannelPermission.ViewChannel, false);
|
TestHelper(value, ChannelPermission.ViewChannel, true);
|
||||||
TestHelper(value, ChannelPermission.SendMessages, false);
|
TestHelper(value, ChannelPermission.SendMessages, false);
|
||||||
TestHelper(value, ChannelPermission.SendTTSMessages, false);
|
TestHelper(value, ChannelPermission.SendTTSMessages, false);
|
||||||
TestHelper(value, ChannelPermission.ManageMessages, false);
|
TestHelper(value, ChannelPermission.ManageMessages, false);
|
||||||
@@ -659,7 +661,7 @@ namespace Discord
|
|||||||
TestHelper(value, ChannelPermission.CreateInstantInvite, PermValue.Allow);
|
TestHelper(value, ChannelPermission.CreateInstantInvite, PermValue.Allow);
|
||||||
TestHelper(value, ChannelPermission.ManageChannels, PermValue.Allow);
|
TestHelper(value, ChannelPermission.ManageChannels, PermValue.Allow);
|
||||||
TestHelper(value, ChannelPermission.AddReactions, PermValue.Inherit);
|
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.SendMessages, PermValue.Inherit);
|
||||||
TestHelper(value, ChannelPermission.SendTTSMessages, PermValue.Inherit);
|
TestHelper(value, ChannelPermission.SendTTSMessages, PermValue.Inherit);
|
||||||
TestHelper(value, ChannelPermission.ManageMessages, PermValue.Inherit);
|
TestHelper(value, ChannelPermission.ManageMessages, PermValue.Inherit);
|
||||||
@@ -682,7 +684,7 @@ namespace Discord
|
|||||||
TestHelper(value, ChannelPermission.CreateInstantInvite, PermValue.Deny);
|
TestHelper(value, ChannelPermission.CreateInstantInvite, PermValue.Deny);
|
||||||
TestHelper(value, ChannelPermission.ManageChannels, PermValue.Deny);
|
TestHelper(value, ChannelPermission.ManageChannels, PermValue.Deny);
|
||||||
TestHelper(value, ChannelPermission.AddReactions, PermValue.Inherit);
|
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.SendMessages, PermValue.Inherit);
|
||||||
TestHelper(value, ChannelPermission.SendTTSMessages, PermValue.Inherit);
|
TestHelper(value, ChannelPermission.SendTTSMessages, PermValue.Inherit);
|
||||||
TestHelper(value, ChannelPermission.ManageMessages, PermValue.Inherit);
|
TestHelper(value, ChannelPermission.ManageMessages, PermValue.Inherit);
|
||||||
|
|||||||
Reference in New Issue
Block a user