Skip to content

Commit 4ab1292

Browse files
committed
Make matching case insensitive
1 parent 2232c38 commit 4ab1292

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

src/StaticWebAssetsSdk/Tasks/Utils/Globbing/StaticWebAssetGlobMatcher.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ private bool TryMatchParts(ReadOnlySpan<char> span, List<GlobSegmentPart> parts,
190190
switch (part.Kind)
191191
{
192192
case GlobSegmentPartKind.Literal:
193-
if (!span.Slice(index).StartsWith(part.Value.Span, StringComparison.Ordinal))
193+
if (!span.Slice(index).StartsWith(part.Value.Span, StringComparison.OrdinalIgnoreCase))
194194
{
195195
// Literal didn't match
196196
return false;
@@ -219,7 +219,7 @@ private bool TryMatchParts(ReadOnlySpan<char> span, List<GlobSegmentPart> parts,
219219
case GlobSegmentPartKind.Literal:
220220
// Start searching after the current index + the minimum characters to consume
221221
var remainingSpan = span.Slice(index + minimumCharactersToConsume);
222-
var nextLiteralIndex = remainingSpan.IndexOf(nextPart.Value.Span);
222+
var nextLiteralIndex = remainingSpan.IndexOf(nextPart.Value.Span, StringComparison.OrdinalIgnoreCase);
223223
while (nextLiteralIndex != -1)
224224
{
225225
// Consume the characters before the literal and the literal itself before we try
@@ -235,7 +235,7 @@ private bool TryMatchParts(ReadOnlySpan<char> span, List<GlobSegmentPart> parts,
235235
if (!TryMatchParts(remainingSpan, parts, 0, j + 1))
236236
{
237237
// If we couldn't match the rest of the parts, try the next literal
238-
nextLiteralIndex = remainingSpan.IndexOf(nextPart.Value.Span);
238+
nextLiteralIndex = remainingSpan.IndexOf(nextPart.Value.Span, StringComparison.OrdinalIgnoreCase);
239239
}
240240
else
241241
{

src/StaticWebAssetsSdk/Tasks/Utils/Globbing/StaticWebAssetGlobMatcherBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ private void BuildTree(GlobNode includes, List<string> includePatterns, List<Rea
8181
}
8282
private bool TryAddLiteral(ReadOnlyMemory<char> segment, ReadOnlySpan<char> segmentSpan, string pattern, ref GlobNode current)
8383
{
84-
current.Literals ??= new Dictionary<string, GlobNode>(OSPath.PathComparer);
84+
current.Literals ??= new Dictionary<string, GlobNode>(StringComparer.OrdinalIgnoreCase);
8585
var literal = segment.ToString();
8686
if (!current.Literals.TryGetValue(literal, out var literalNode))
8787
{
@@ -149,7 +149,7 @@ private static bool TryAddExtension(ReadOnlyMemory<char> segment, ReadOnlySpan<c
149149
{
150150
if (segmentSpan.StartsWith("*.".AsSpan(), StringComparison.Ordinal) && segmentSpan.LastIndexOf('*') == 0)
151151
{
152-
current.Extensions ??= new Dictionary<string, GlobNode>(OSPath.PathComparer);
152+
current.Extensions ??= new Dictionary<string, GlobNode>(StringComparer.OrdinalIgnoreCase);
153153

154154
var extension = segment.Slice(1).ToString();
155155
if (!current.Extensions.TryGetValue(extension, out var extensionNode))

test/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssets/ContentTypeProviderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void GetContentType_HandlesFingerprintedPaths()
5959
// Arrange
6060
var provider = new ContentTypeProvider([]);
6161
// Act
62-
var contentType = provider.ResolveContentTypeMapping("_content\\RazorPackageLibraryDirectDependency\\RazorPackageLibraryDirectDependency#[.{fingerprint}].bundle.scp.css.gz", _log);
62+
var contentType = provider.ResolveContentTypeMapping("_content/RazorPackageLibraryDirectDependency/RazorPackageLibraryDirectDependency#[.{fingerprint}].bundle.scp.css.gz", _log);
6363
// Assert
6464
Assert.Equal("text/css", contentType.MimeType);
6565
}

0 commit comments

Comments
 (0)