diff options
author | atravita-mods <94934860+atravita-mods@users.noreply.github.com> | 2022-10-18 18:58:41 -0400 |
---|---|---|
committer | atravita-mods <94934860+atravita-mods@users.noreply.github.com> | 2022-10-18 18:58:41 -0400 |
commit | b99dbf53bda9dc1178a3b6e8cbafea609f3ee6dc (patch) | |
tree | 87fea0572f25ac019295e4e9688c2cf92ab5208a | |
parent | 4dcc6904b9e72ac3567dfafe3824c2de48218b58 (diff) | |
download | SMAPI-b99dbf53bda9dc1178a3b6e8cbafea609f3ee6dc.tar.gz SMAPI-b99dbf53bda9dc1178a3b6e8cbafea609f3ee6dc.tar.bz2 SMAPI-b99dbf53bda9dc1178a3b6e8cbafea609f3ee6dc.zip |
fix this case.
-rw-r--r-- | src/SMAPI.Tests/Core/AssetNameTests.cs | 2 | ||||
-rw-r--r-- | src/SMAPI/Framework/Content/AssetName.cs | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/SMAPI.Tests/Core/AssetNameTests.cs b/src/SMAPI.Tests/Core/AssetNameTests.cs index fe70e330..fbc94e95 100644 --- a/src/SMAPI.Tests/Core/AssetNameTests.cs +++ b/src/SMAPI.Tests/Core/AssetNameTests.cs @@ -245,6 +245,8 @@ namespace SMAPI.Tests.Core [TestCase("Mods/SomeMod/SomeSubdirectory", "Mods/Some", true, ExpectedResult = true)] [TestCase("Mods/SomeMod/SomeSubdirectory", "Mods/Some", false, ExpectedResult = false)] + [TestCase("Mods/Jasper/Data", "Mods/Jas/Image", true, ExpectedResult = false)] + [TestCase("Mods/Jasper/Data", "Mods/Jas/Image", true, ExpectedResult = false)] public bool StartsWith_SubfolderWithPartial(string mainAssetName, string otherAssetName, bool allowSubfolder) { // arrange diff --git a/src/SMAPI/Framework/Content/AssetName.cs b/src/SMAPI/Framework/Content/AssetName.cs index 9d59f222..7b87c0c5 100644 --- a/src/SMAPI/Framework/Content/AssetName.cs +++ b/src/SMAPI/Framework/Content/AssetName.cs @@ -179,6 +179,10 @@ namespace StardewModdingAPI.Framework.Content } else { + // mismatch: prefix has more beyond this, and this segment isn't an exact match + if (prefixParts.Remainder.Length != 0) + return false; + // mismatch: cur segment doesn't start with prefix if (!curParts.Current.StartsWith(prefixParts.Current, StringComparison.OrdinalIgnoreCase)) return false; |