diff --git a/ProfanityFilter.Tests.Unit/ProfanityTests.cs b/ProfanityFilter.Tests.Unit/ProfanityTests.cs index 33c48f2..9bb786b 100644 --- a/ProfanityFilter.Tests.Unit/ProfanityTests.cs +++ b/ProfanityFilter.Tests.Unit/ProfanityTests.cs @@ -898,5 +898,17 @@ public void ContainsProfanityReturnsTrueWhenProfanityIsADollarDollar() Assert.IsTrue(result); } + + [TestMethod] + [DataRow("ASS")] + [DataRow("Ass")] + [DataRow("A$$")] + public void ContainsProfanityReturnsTrueForWordsWithUppercase(string input) + { + var filter = new ProfanityFilter(); + var result = filter.ContainsProfanity(input); + + Assert.IsTrue(result); + } } } \ No newline at end of file diff --git a/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs b/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs index 3af0bc6..626ca05 100644 --- a/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs +++ b/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs @@ -272,7 +272,7 @@ public bool ContainsProfanity(string term) return false; } - Regex regex = new Regex(string.Format(@"(?:{0})", string.Join("|", potentialProfanities).Replace("$", "\\$"), RegexOptions.IgnoreCase)); + Regex regex = new Regex(string.Format(@"(?:{0})", string.Join("|", potentialProfanities).Replace("$", "\\$")), RegexOptions.IgnoreCase); foreach (Match profanity in regex.Matches(term)) {