From 0c7cb73b06aba3eaeb811b4671fd0f4a5078a491 Mon Sep 17 00:00:00 2001 From: FiniteReality Date: Mon, 28 May 2018 17:41:05 +0100 Subject: [PATCH] Fix permission-related ViewChannel tests --- test/Discord.Net.Tests/Tests.ChannelPermissions.cs | 1 + test/Discord.Net.Tests/Tests.GuildPermissions.cs | 9 +++++++-- test/Discord.Net.Tests/Tests.Permissions.cs | 8 +++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/test/Discord.Net.Tests/Tests.ChannelPermissions.cs b/test/Discord.Net.Tests/Tests.ChannelPermissions.cs index 00306733d..dd87c2e24 100644 --- a/test/Discord.Net.Tests/Tests.ChannelPermissions.cs +++ b/test/Discord.Net.Tests/Tests.ChannelPermissions.cs @@ -68,6 +68,7 @@ namespace Discord ulong voiceChannel = (ulong)( ChannelPermission.CreateInstantInvite | ChannelPermission.ManageChannels + | ChannelPermission.ViewChannel | ChannelPermission.Connect | ChannelPermission.Speak | ChannelPermission.MuteMembers diff --git a/test/Discord.Net.Tests/Tests.GuildPermissions.cs b/test/Discord.Net.Tests/Tests.GuildPermissions.cs index 0f813377e..bbd6621b5 100644 --- a/test/Discord.Net.Tests/Tests.GuildPermissions.cs +++ b/test/Discord.Net.Tests/Tests.GuildPermissions.cs @@ -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)( diff --git a/test/Discord.Net.Tests/Tests.Permissions.cs b/test/Discord.Net.Tests/Tests.Permissions.cs index f87522105..258e2995d 100644 --- a/test/Discord.Net.Tests/Tests.Permissions.cs +++ b/test/Discord.Net.Tests/Tests.Permissions.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using System.Threading.Tasks; using Xunit; @@ -21,6 +22,7 @@ namespace Discord /// 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);