diff --git a/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs b/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs index 578698b724..2fd594b0e9 100644 --- a/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs +++ b/osu.Game.Tests/NonVisual/Filtering/FilterQueryParserTest.cs @@ -756,5 +756,17 @@ namespace osu.Game.Tests.NonVisual.Filtering Assert.AreEqual(true, filterCriteria.LastPlayed.HasFilter); Assert.AreEqual(matched, filterCriteria.LastPlayed.IsInRange(reference)); } + + [Test] + public void TestMultipleTextFilters() + { + var filterCriteria = new FilterCriteria(); + FilterQueryParser.ApplyQueries(filterCriteria, "tag=\"simple\" tag=\"clean\"!"); + Assert.That(filterCriteria.UserTags, Has.Count.EqualTo(2)); + Assert.That(filterCriteria.UserTags[0].SearchTerm, Is.EqualTo("simple")); + Assert.That(filterCriteria.UserTags[0].MatchMode, Is.EqualTo(FilterCriteria.MatchMode.IsolatedPhrase)); + Assert.That(filterCriteria.UserTags[1].SearchTerm, Is.EqualTo("clean")); + Assert.That(filterCriteria.UserTags[1].MatchMode, Is.EqualTo(FilterCriteria.MatchMode.FullPhrase)); + } } }