341 references to PathUtilities
Microsoft.CodeAnalysis (96)
AssemblyUtilities.cs (3)
26
Debug.Assert(
PathUtilities
.IsAbsolute(filePath));
62
RoslynDebug.Assert(
PathUtilities
.IsAbsolute(assemblyPath));
100
Debug.Assert(
PathUtilities
.IsAbsolute(assemblyPath));
AssemblyUtilitiesCore.cs (1)
29
RoslynDebug.Assert(
PathUtilities
.IsAbsolute(filePath));
CommandLine\AnalyzerConfig.cs (3)
171
NormalizedDirectory =
PathUtilities
.NormalizeWithForwardSlash(directory);
260
pathToFile =
PathUtilities
.NormalizeDriveLetter(pathToFile);
266
var sectionName =
PathUtilities
.NormalizeDriveLetter(activeSectionName);
CommandLine\AnalyzerConfigSet.cs (4)
186
var normalizedPath =
PathUtilities
.CollapseWithForwardSlash(sourcePath.AsSpan());
187
normalizedPath =
PathUtilities
.ExpandAbsolutePathWithRelativeParts(normalizedPath);
188
normalizedPath =
PathUtilities
.NormalizeDriveLetter(normalizedPath);
208
if (
PathUtilities
.IsSameDirectoryOrChildOf(normalizedPath, config.NormalizedDirectory, StringComparison.Ordinal))
CommandLine\CommandLineParser.cs (11)
65
Debug.Assert(
PathUtilities
.IsAbsolute(directory));
381
from =
PathUtilities
.EnsureTrailingSeparator(from);
382
to =
PathUtilities
.EnsureTrailingSeparator(to);
461
PathUtilities
.ChangeExtension(outputFileName, extension: null).Length == 0)
567
string? directory =
PathUtilities
.GetDirectoryName(resolvedPath);
597
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
892
fileName =
PathUtilities
.GetFileName(filePath);
894
if (!
PathUtilities
.IsValidFilePath(fullPath))
1137
ReadOnlyMemory<char> extension =
PathUtilities
.GetExtension(resolvedPath.AsMemory());
1259
string? directory =
PathUtilities
.GetDirectoryName(path);
1260
string pattern =
PathUtilities
.GetFileName(path);
CommandLine\CommandLineResource.cs (1)
41
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
CommandLine\CommonCompiler.CompilerEmitStreamProvider.cs (1)
72
if (
PathUtilities
.IsUnixLikePlatform)
CommandLine\CommonCompiler.cs (6)
129
Debug.Assert(null == responseFile ||
PathUtilities
.IsAbsolute(responseFile));
1255
WithPdbFilePath(
PathUtilities
.NormalizePathPrefix(finalPdbFilePath, Arguments.PathMap));
1293
if (!
PathUtilities
.IsValidFilePath(finalPdbFilePath))
1601
var filePaths = new HashSet<string>(
PathUtilities
.Comparer);
1605
Debug.Assert(
PathUtilities
.IsAbsolute(file.Path));
1606
if (filePaths.Add(
PathUtilities
.ExpandAbsolutePathWithRelativeParts(file.Path)))
CommandLine\SarifErrorLogger.cs (2)
149
if (!
PathUtilities
.IsUnixLikePlatform)
152
path =
PathUtilities
.NormalizeWithForwardSlash(path);
Compilation\Compilation.cs (1)
3261
pePdbFilePath =
PathUtilities
.GetFileName(pePdbFilePath);
Compilation\CompilationOptions.cs (1)
583
if (CryptoKeyFile != null && !
PathUtilities
.IsAbsolute(CryptoKeyFile))
Compilation\DeterministicKeyBuilder.cs (1)
56
filePath =
PathUtilities
.NormalizePathPrefix(filePath, pathMap);
DiagnosticAnalyzer\AdditionalTextComparer.cs (2)
30
if (!
PathUtilities
.Comparer.Equals(x.Path, y.Path))
55
return Hash.Combine(
PathUtilities
.Comparer.GetHashCode(obj.Path),
DiagnosticAnalyzer\AnalysisResultBuilder.cs (2)
26
ImmutableDictionary<string, OneOrMany<AdditionalText>>.Empty.WithComparers(
PathUtilities
.Comparer);
71
var builder = ImmutableDictionary.CreateBuilder<string, OneOrMany<AdditionalText>>(
PathUtilities
.Comparer);
DiagnosticAnalyzer\AnalysisScope.cs (1)
310
!
PathUtilities
.Comparer.Equals(externalFileLocation.GetLineSpan().Path, filterFile.AdditionalFile.Path))
DiagnosticAnalyzer\AnalyzerAssemblyLoader.cs (1)
157
var simpleName =
PathUtilities
.GetFileName(originalPath, includeExtension: false);
DiagnosticAnalyzer\AnalyzerExecutor.AnalyzerDiagnosticReporter.cs (1)
135
return
PathUtilities
.Comparer.Equals(_contextFile.Value.AdditionalFile.Path, externalFileLocation.GetLineSpan().Path);
FileKey.cs (1)
30
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
FileSystem\CompilerPathUtilities.cs (1)
18
if (!
PathUtilities
.IsAbsolute(path))
FileSystem\FileUtilities.cs (26)
49
Debug.Assert(baseDirectory == null || searchPaths != null ||
PathUtilities
.IsAbsolute(baseDirectory));
54
var kind =
PathUtilities
.GetPathKind(path);
61
combinedPath =
PathUtilities
.CombinePathsUnchecked(baseDirectory, path);
62
Debug.Assert(
PathUtilities
.IsAbsolute(combinedPath));
72
combinedPath =
PathUtilities
.CombinePathsUnchecked(searchPath, path);
73
Debug.Assert(
PathUtilities
.IsAbsolute(combinedPath));
86
Debug.Assert(
PathUtilities
.IsAbsolute(combinedPath));
103
Debug.Assert(baseDirectory == null ||
PathUtilities
.IsAbsolute(baseDirectory));
104
return ResolveRelativePath(
PathUtilities
.GetPathKind(path), path, basePath, baseDirectory);
109
Debug.Assert(
PathUtilities
.GetPathKind(path) == kind);
124
return
PathUtilities
.CombinePathsUnchecked(baseDirectory, path);
141
return
PathUtilities
.CombinePathsUnchecked(baseDirectory, path);
152
return
PathUtilities
.CombinePathsUnchecked(baseDirectory, path);
158
baseRoot =
PathUtilities
.GetPathRoot(basePath);
162
baseRoot =
PathUtilities
.GetPathRoot(baseDirectory);
174
Debug.Assert(
PathUtilities
.IsDirectorySeparator(path![0]));
175
Debug.Assert(path.Length == 1 || !
PathUtilities
.IsDirectorySeparator(path[1]));
176
return
PathUtilities
.CombinePathsUnchecked(baseRoot, path.Substring(1));
200
Debug.Assert(
PathUtilities
.IsAbsolute(resolvedBasePath));
250
Debug.Assert(
PathUtilities
.IsAbsolute(path));
277
if (!
PathUtilities
.IsAbsolute(path))
294
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
312
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
396
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
414
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
437
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
FileSystem\PathUtilities.cs (1)
904
=>
PathUtilities
.GetDirectoryName(path, isUnixLike);
FileSystem\RelativePathResolver.cs (3)
29
Debug.Assert(searchPaths.All(
PathUtilities
.IsAbsolute));
30
Debug.Assert(baseDirectory == null ||
PathUtilities
.GetPathKind(baseDirectory) == PathKind.Absolute);
50
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
PEWriter\MetadataWriter.PortablePdb.cs (1)
967
var fileName =
PathUtilities
.GetFileName(portableReference.FilePath);
RuleSet\RuleSetInclude.cs (2)
95
if (resolvedIncludePath == null &&
PathUtilities
.IsUnixLikePlatform)
120
includePath =
PathUtilities
.CombinePathsUnchecked(Path.GetDirectoryName(parentRulesetPath) ?? "", includePath);
SourceFileResolver.cs (4)
47
if (baseDirectory != null &&
PathUtilities
.GetPathKind(baseDirectory) != PathKind.Absolute)
76
var normalizedKey =
PathUtilities
.EnsureTrailingSeparator(key);
77
var normalizedValue =
PathUtilities
.EnsureTrailingSeparator(value);
99
return (normalizedPath == null || _pathMap.IsDefaultOrEmpty) ? normalizedPath :
PathUtilities
.NormalizePathPrefix(normalizedPath, _pathMap);
SourceGeneration\GeneratedCodeUtilities.cs (3)
65
var fileName =
PathUtilities
.GetFileName(filePath);
71
var extension =
PathUtilities
.GetExtension(fileName);
74
var fileNameWithoutExtension =
PathUtilities
.GetFileName(filePath, includeExtension: false);
SourceGeneration\GeneratorDriverOptions.cs (1)
45
if (baseDirectory != null && !
PathUtilities
.IsAbsolute(baseDirectory))
StrongName\DesktopStrongNameProvider.cs (6)
56
if (!keyFileSearchPaths.IsDefault && keyFileSearchPaths.Any(static path => !
PathUtilities
.IsAbsolute(path)))
81
Debug.Assert(
PathUtilities
.IsAbsolute(resolvedKeyFile));
120
if (
PathUtilities
.IsAbsolute(path))
132
string? combinedPath =
PathUtilities
.CombineAbsoluteAndRelativePaths(searchPath, path);
134
Debug.Assert(combinedPath == null ||
PathUtilities
.IsAbsolute(combinedPath));
193
catch (MarshalDirectiveException) when (
PathUtilities
.IsUnixLikePlatform)
StrongName\StrongNameFileSystem.cs (2)
33
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
39
Debug.Assert(fullPath == null ||
PathUtilities
.IsAbsolute(fullPath));
XmlFileResolver.cs (3)
24
if (baseDirectory != null &&
PathUtilities
.GetPathKind(baseDirectory) != PathKind.Absolute)
59
Debug.Assert(resolvedPath == null ||
PathUtilities
.IsAbsolute(resolvedPath));
69
Debug.Assert(resolvedPath == null ||
PathUtilities
.IsAbsolute(resolvedPath));
Microsoft.CodeAnalysis.CSharp (16)
CommandLine\CommandLineDiagnosticFormatter.cs (3)
70
var normalizedDirectory =
PathUtilities
.GetDirectoryName(normalizedPath);
71
if (
PathUtilities
.IsSameDirectoryOrChildOf(normalizedDirectory, normalizedBaseDirectory))
74
PathUtilities
.IsDirectorySeparator(normalizedBaseDirectory[^1])
CommandLine\CSharpCommandLineParser.cs (7)
52
Debug.Assert(baseDirectory == null ||
PathUtilities
.IsAbsolute(baseDirectory));
72
DebugInformationFormat debugInformationFormat =
PathUtilities
.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb;
796
debugInformationFormat =
PathUtilities
.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb;
1674
simpleName =
PathUtilities
.RemoveExtension(
PathUtilities
.GetFileName(sourceFiles.FirstOrDefault().Path));
1686
simpleName =
PathUtilities
.RemoveExtension(outputFileName);
2046
Debug.Assert(!
PathUtilities
.IsValidFilePath(fullPath));
CommandLine\CSharpCompiler.cs (2)
104
Debug.Assert(sourceFiles[i].IsInputRedirected ||
PathUtilities
.IsAbsolute(normalizedFilePath));
262
string entryPointFileName =
PathUtilities
.GetFileName(entryPoint.GetFirstLocation().SourceTree!.FilePath);
Symbols\Source\SourceAssemblySymbol.cs (1)
493
if (!string.IsNullOrEmpty(keyFile) && !
PathUtilities
.IsAbsolute(keyFile))
Symbols\Source\SourceMethodSymbolWithAttributes.cs (3)
1221
var recommendedPath =
PathUtilities
.IsAbsolute(SyntaxTree.FilePath)
1222
?
PathUtilities
.GetRelativePath(
PathUtilities
.GetDirectoryName(SyntaxTree.FilePath), suffixMatch.FilePath)
Microsoft.CodeAnalysis.CSharp.CommandLine.UnitTests (10)
CommandLineTests.cs (10)
1950
var platformPdbKind =
PathUtilities
.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb;
7076
Assert.Equal(1, Directory.EnumerateFiles(dir.Path, "*" +
PathUtilities
.GetExtension(expectedOutputName)).Count());
7085
Assert.Equal(
PathUtilities
.RemoveExtension(expectedOutputName), peReader.GetString(peReader.GetAssemblyDefinition().Name));
9331
var formattedcs1504Str = String.Format(cs1504,
PathUtilities
.CombineAbsoluteAndRelativePaths(tempParentDir.Path, "tmpDir\a.cs"), "Illegal characters in path.");
9351
var formattedcs1504 = String.Format(cs1504,
PathUtilities
.CombineAbsoluteAndRelativePaths(tempParentDir.Path, @":a.cs"), @"The given path's format is not supported.");
11501
var s =
PathUtilities
.DirectorySeparatorStr;
11675
AssertPdbEmit(dir, pdbPath, "/goo/a.pdb", $"/pathmap:{dir.Path}=/goo,{dir.Path}{
PathUtilities
.DirectorySeparatorChar}=/bar");
12408
var platformPdbKind =
PathUtilities
.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb;
14318
string root =
PathUtilities
.IsUnixLikePlatform ? "/" : "c:\\";
15194
[{
PathUtilities
.NormalizeWithForwardSlash(src.Path)}]
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (3)
Attributes\InternalsVisibleToAndStrongNameTests.cs (2)
182
TestOptions.ReleaseDll.WithStrongNameProvider(GetProviderWithPath(
PathUtilities
.CombineAbsoluteAndRelativePaths(keyFileDir, @"TempSubDir\"))));
229
ImmutableArray.Create(
PathUtilities
.CombineAbsoluteAndRelativePaths(keyFileDir, @"TempSubDir\")),
Diagnostics\DiagnosticAnalyzerTests.cs (1)
3968
d => d.Id == analyzer.Descriptor.Id &&
PathUtilities
.Comparer.Equals(d.Location.GetLineSpan().Path, additionalFile.Path));
Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests (5)
CommandLineRunnerTests.cs (5)
484
var scriptPath =
PathUtilities
.CombinePathsUnchecked(
PathUtilities
.GetFileName(directory.Path), scriptName);
485
var workingDirectory =
PathUtilities
.GetDirectoryName(directory.Path);
486
Assert.False(
PathUtilities
.IsAbsolute(scriptPath));
517
Assert.Equal(expectedOutput,
PathUtilities
.GetDirectoryName(path, isUnixLike: false));
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\ModuleInitializers\ModuleInitializersTests.cs (1)
1155
emitOptions: EmitOptions.Default.WithDebugInformationFormat(
PathUtilities
.IsUnixLikePlatform ? DebugInformationFormat.PortablePdb : DebugInformationFormat.Pdb),
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (2)
Diagnostics\DiagnosticTest.cs (1)
2925
var sep =
PathUtilities
.DirectorySeparatorChar;
LexicalAndXml\LexicalErrorTests.cs (1)
848
if (
PathUtilities
.IsUnixLikePlatform)
Microsoft.CodeAnalysis.Scripting (14)
Hosting\AssemblyLoader\InteractiveAssemblyLoader.cs (1)
161
if (!
PathUtilities
.IsAbsolute(path))
Hosting\AssemblyLoader\MetadataShadowCopyProvider.cs (1)
116
if (!
PathUtilities
.IsAbsolute(path))
Hosting\Resolvers\RuntimeMetadataReferenceResolver.cs (9)
32
PathUtilities
.GetDirectoryName(typeof(object).GetTypeInfo().Assembly.ManifestModule.FullyQualifiedName) : null;
46
private static readonly char[] s_directorySeparators = [
PathUtilities
.DirectorySeparatorChar,
PathUtilities
.AltDirectorySeparatorChar];
119
var definitionDirectory =
PathUtilities
.GetDirectoryName((definition as PortableExecutableReference)?.FilePath);
122
string pathWithoutExtension =
PathUtilities
.CombinePathsUnchecked(definitionDirectory, referenceIdentity.Name);
153
else if (
PathUtilities
.IsFilePath(reference))
157
var result = ResolveTrustedPlatformAssembly(
PathUtilities
.GetFileName(reference, includeExtension: false), properties);
214
if (
PathUtilities
.GetExtension(path) == ".dll")
216
string fileName =
PathUtilities
.GetFileName(path, includeExtension: false);
src\Compilers\Core\Portable\FileSystem\RelativePathResolver.cs (3)
29
Debug.Assert(searchPaths.All(
PathUtilities
.IsAbsolute));
30
Debug.Assert(baseDirectory == null ||
PathUtilities
.GetPathKind(baseDirectory) == PathKind.Absolute);
50
Debug.Assert(
PathUtilities
.IsAbsolute(fullPath));
Microsoft.CodeAnalysis.Test.Utilities (7)
Assert\ConditionalFactAttribute.cs (2)
311
public override bool ShouldSkip => !
PathUtilities
.IsUnixLikePlatform;
317
public override bool ShouldSkip =>
PathUtilities
.IsUnixLikePlatform && !ExecutionConditionUtil.IsMacOS;
Compilation\CompilationExtensions.cs (1)
66
if (MonoHelpers.IsRunningOnMono() ||
PathUtilities
.IsUnixLikePlatform)
Diagnostics\CommonDiagnosticAnalyzers.cs (1)
1774
var fileNameWithoutExtension =
PathUtilities
.GetFileName(tree.FilePath, includeExtension: false);
Mocks\TestMetadataReferenceResolver.cs (1)
35
if (
PathUtilities
.IsFilePath(reference))
PDB\TestMetadataReferenceInfo.cs (1)
45
PathUtilities
.GetFileName(fullPath),
TempFiles\TempFile.cs (1)
25
Debug.Assert(
PathUtilities
.IsAbsolute(path));
Microsoft.CodeAnalysis.UnitTests (186)
Analyzers\AnalyzerFileReferenceTests.cs (1)
58
var refBadPath = new AnalyzerFileReference(
PathUtilities
.CombinePathsUnchecked(TempRoot.Root, "\0<>|*.xyz"), loader);
Diagnostics\SarifErrorLoggerTests.cs (1)
93
var isUnix =
PathUtilities
.IsUnixLikePlatform;
Diagnostics\SarifV1ErrorLoggerTests.cs (1)
50
""uri"": """ + (
PathUtilities
.IsUnixLikePlatform
Diagnostics\SarifV2ErrorLoggerTests.cs (1)
45
""uri"": """ + (
PathUtilities
.IsUnixLikePlatform
Emit\EmitOptionsTests.cs (1)
64
PathUtilities
.IsUnixLikePlatform ? DebugInformationFormat.Pdb : DebugInformationFormat.PortablePdb);
FileSystem\PathUtilitiesTests.cs (100)
19
var roslynName =
PathUtilities
.TestAccessor.GetDirectoryName(fullPath, isUnixLike: false);
37
Assert.Null(
PathUtilities
.TestAccessor.GetDirectoryName(@"", isUnixLike: false));
58
PathUtilities
.TestAccessor.GetDirectoryName(@"/temp/goo.txt", isUnixLike: true));
62
PathUtilities
.TestAccessor.GetDirectoryName(@"/temp/goo", isUnixLike: true));
66
PathUtilities
.TestAccessor.GetDirectoryName(@"/temp/", isUnixLike: true));
70
PathUtilities
.TestAccessor.GetDirectoryName(@"/temp", isUnixLike: true));
73
PathUtilities
.TestAccessor.GetDirectoryName(@"/", isUnixLike: true));
76
PathUtilities
.TestAccessor.GetDirectoryName(@"", isUnixLike: true));
79
PathUtilities
.TestAccessor.GetDirectoryName(null, isUnixLike: true));
87
PathUtilities
.TestAccessor.GetDirectoryName(@"goo/temp/goo.txt", isUnixLike: true));
91
PathUtilities
.TestAccessor.GetDirectoryName(@"goo/temp/goo", isUnixLike: true));
95
PathUtilities
.TestAccessor.GetDirectoryName(@"goo/temp/", isUnixLike: true));
99
PathUtilities
.TestAccessor.GetDirectoryName(@"goo/temp", isUnixLike: true));
103
PathUtilities
.TestAccessor.GetDirectoryName(@"goo/", isUnixLike: true));
107
PathUtilities
.TestAccessor.GetDirectoryName(@"goo", isUnixLike: true));
110
PathUtilities
.TestAccessor.GetDirectoryName(@"", isUnixLike: true));
113
PathUtilities
.TestAccessor.GetDirectoryName(null, isUnixLike: true));
138
PathUtilities
.TestAccessor.GetDirectoryName(@"C:\temp\..\goo.txt", isUnixLike: false));
142
PathUtilities
.TestAccessor.GetDirectoryName(@"C:\temp\..", isUnixLike: false));
146
PathUtilities
.TestAccessor.GetDirectoryName(@"C:\temp\.\goo.txt", isUnixLike: false));
150
PathUtilities
.TestAccessor.GetDirectoryName(@"C:\temp\.", isUnixLike: false));
157
PathUtilities
.TestAccessor.GetDirectoryName(@"C:temp\..\goo.txt", isUnixLike: false));
161
PathUtilities
.TestAccessor.GetDirectoryName(@"C:temp\..", isUnixLike: false));
165
PathUtilities
.TestAccessor.GetDirectoryName(@"C:temp\.\goo.txt", isUnixLike: false));
169
PathUtilities
.TestAccessor.GetDirectoryName(@"C:temp\.", isUnixLike: false));
180
PathUtilities
.ContainsPathComponent(@"c:\packages\temp", "packages", ignoreCase: true));
182
PathUtilities
.ContainsPathComponent(@"\\server\packages\temp", "packages", ignoreCase: true));
184
PathUtilities
.ContainsPathComponent(@"\\packages\temp", "packages", ignoreCase: true));
186
PathUtilities
.ContainsPathComponent(@"c:\packages", "packages", ignoreCase: true));
188
PathUtilities
.ContainsPathComponent(@"c:\packages1\temp", "packages", ignoreCase: true));
190
PathUtilities
.ContainsPathComponent(@"c:\package\temp", "packages", ignoreCase: true));
193
PathUtilities
.ContainsPathComponent(@"c:\packages\temp", "packages", ignoreCase: false));
195
PathUtilities
.ContainsPathComponent(@"\\server\packages\temp", "packages", ignoreCase: false));
197
PathUtilities
.ContainsPathComponent(@"\\packages\temp", "packages", ignoreCase: false));
199
PathUtilities
.ContainsPathComponent(@"c:\packages", "packages", ignoreCase: false));
201
PathUtilities
.ContainsPathComponent(@"c:\packages1\temp", "packages", ignoreCase: false));
203
PathUtilities
.ContainsPathComponent(@"c:\package\temp", "packages", ignoreCase: false));
206
PathUtilities
.ContainsPathComponent(@"c:\packages\temp", "Packages", ignoreCase: true));
208
PathUtilities
.ContainsPathComponent(@"\\server\packages\temp", "Packages", ignoreCase: true));
210
PathUtilities
.ContainsPathComponent(@"\\packages\temp", "Packages", ignoreCase: true));
212
PathUtilities
.ContainsPathComponent(@"c:\packages", "Packages", ignoreCase: true));
214
PathUtilities
.ContainsPathComponent(@"c:\packages1\temp", "Packages", ignoreCase: true));
216
PathUtilities
.ContainsPathComponent(@"c:\package\temp", "Packages", ignoreCase: true));
219
PathUtilities
.ContainsPathComponent(@"c:\packages\temp", "Packages", ignoreCase: false));
221
PathUtilities
.ContainsPathComponent(@"\\server\packages\temp", "Packages", ignoreCase: false));
223
PathUtilities
.ContainsPathComponent(@"\\packages\temp", "Packages", ignoreCase: false));
225
PathUtilities
.ContainsPathComponent(@"c:\packages", "Packages", ignoreCase: false));
227
PathUtilities
.ContainsPathComponent(@"c:\packages1\temp", "Packages", ignoreCase: false));
229
PathUtilities
.ContainsPathComponent(@"c:\package\temp", "Packages", ignoreCase: false));
232
PathUtilities
.ContainsPathComponent(@"c:\Packages\temp", "packages", ignoreCase: true));
234
PathUtilities
.ContainsPathComponent(@"\\server\Packages\temp", "packages", ignoreCase: true));
236
PathUtilities
.ContainsPathComponent(@"\\Packages\temp", "packages", ignoreCase: true));
238
PathUtilities
.ContainsPathComponent(@"c:\Packages", "packages", ignoreCase: true));
240
PathUtilities
.ContainsPathComponent(@"c:\Packages1\temp", "packages", ignoreCase: true));
242
PathUtilities
.ContainsPathComponent(@"c:\Package\temp", "packages", ignoreCase: true));
245
PathUtilities
.ContainsPathComponent(@"c:\Packages\temp", "packages", ignoreCase: false));
247
PathUtilities
.ContainsPathComponent(@"\\server\Packages\temp", "packages", ignoreCase: false));
249
PathUtilities
.ContainsPathComponent(@"\\Packages\temp", "packages", ignoreCase: false));
251
PathUtilities
.ContainsPathComponent(@"c:\Packages", "packages", ignoreCase: false));
253
PathUtilities
.ContainsPathComponent(@"c:\Packages1\temp", "packages", ignoreCase: false));
255
PathUtilities
.ContainsPathComponent(@"c:\Package\temp", "packages", ignoreCase: false));
261
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\", @"C:"));
262
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\", @"C:\"));
263
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:", @"C:"));
264
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:", @"C:\"));
266
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:"));
267
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\"));
269
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:"));
270
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\"));
272
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD"));
273
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD\"));
275
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD"));
276
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD\"));
278
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD\EFGH"));
279
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH", @"C:\ABCD\EFGH\"));
281
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD\EFGH"));
282
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCD\EFGH\", @"C:\ABCD\EFGH\"));
288
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\", @"C:\ABCD"));
289
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABC", @"C:\ABCD"));
290
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\ABCDE", @"C:\ABCD"));
292
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\A\B\C", @"C:\A\B\C\D"));
298
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\a\B\C", @"C:\A\B", StringComparison.OrdinalIgnoreCase));
299
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\A\b\C", @"C:\A\B", StringComparison.OrdinalIgnoreCase));
301
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\a\B\C", @"C:\A\B", StringComparison.Ordinal));
302
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"C:\A\b\C", @"C:\A\B", StringComparison.Ordinal));
308
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"/a/B/C", @"/A/B", StringComparison.OrdinalIgnoreCase));
309
Assert.True(
PathUtilities
.IsSameDirectoryOrChildOf(@"/A/b/C", @"/A/B", StringComparison.OrdinalIgnoreCase));
311
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"/a/B/C", @"/A/B", StringComparison.Ordinal));
312
Assert.False(
PathUtilities
.IsSameDirectoryOrChildOf(@"/A/b/C", @"/A/B", StringComparison.Ordinal));
323
("data1\\",
PathUtilities
.IsUnixLikePlatform),
341
Assert.True(isValid ==
PathUtilities
.IsValidFilePath(path), $"Expected {isValid} for \"{path}\"");
364
Assert.Equal(Path.Combine(path1, path2),
PathUtilities
.CombinePaths(path1, path2));
381
Assert.Equal(Path.Combine(path1, path2),
PathUtilities
.CombinePaths(path1, path2));
393
Assert.Equal(Path.Combine(path1, path2),
PathUtilities
.CombinePaths(path1, path2));
405
Assert.Equal(expected,
PathUtilities
.CombinePaths(path1, path2));
412
var result =
PathUtilities
.GetRelativePath(@"C:\A\B\", @"C:\A\B");
420
var result =
PathUtilities
.GetRelativePath(@"/A/B/", @"/A/B");
436
AssertEx.Equal(output,
PathUtilities
.CollapseWithForwardSlash(input.AsSpan()));
448
AssertEx.Equal(output,
PathUtilities
.NormalizeDriveLetter(input));
460
AssertEx.Equal(input,
PathUtilities
.NormalizeDriveLetter(input));
FileSystem\RelativePathResolverTests.cs (2)
46
path = resolver.ResolvePath(fileName, baseFilePath:
PathUtilities
.CombineAbsoluteAndRelativePaths(dir, "goo.csx"));
116
var path = resolver.ResolvePath(fileName, baseFilePath:
PathUtilities
.CombineAbsoluteAndRelativePaths(dir, "goo.csx"));
FileUtilitiesTests.cs (77)
22
Assert.False(
PathUtilities
.IsAbsolute(null));
23
Assert.False(
PathUtilities
.IsAbsolute(""));
24
Assert.False(
PathUtilities
.IsAbsolute("C"));
25
Assert.False(
PathUtilities
.IsAbsolute("C:"));
26
Assert.True(
PathUtilities
.IsAbsolute(@"C:\"));
27
Assert.True(
PathUtilities
.IsAbsolute(@"C:/"));
28
Assert.True(
PathUtilities
.IsAbsolute(@"C:\\"));
29
Assert.False(
PathUtilities
.IsAbsolute(@"C\"));
30
Assert.True(
PathUtilities
.IsAbsolute(@"\\")); // incomplete UNC
31
Assert.True(
PathUtilities
.IsAbsolute(@"\\S")); // incomplete UNC
32
Assert.True(
PathUtilities
.IsAbsolute(@"\/C")); // incomplete UNC
33
Assert.True(
PathUtilities
.IsAbsolute(@"\/C\")); // incomplete UNC
34
Assert.True(
PathUtilities
.IsAbsolute(@"\\server")); // incomplete UNC
35
Assert.True(
PathUtilities
.IsAbsolute(@"\\server\share")); // UNC
36
Assert.True(
PathUtilities
.IsAbsolute(@"\\?\C:\share")); // long UNC
37
Assert.False(
PathUtilities
.IsAbsolute(@"\C"));
38
Assert.False(
PathUtilities
.IsAbsolute(@"/C"));
44
Assert.Null(
PathUtilities
.GetPathRoot(null));
45
Assert.Equal("",
PathUtilities
.GetPathRoot(""));
46
Assert.Equal("",
PathUtilities
.GetPathRoot("C"));
47
Assert.Equal("",
PathUtilities
.GetPathRoot("abc.txt"));
48
Assert.Equal("C:",
PathUtilities
.GetPathRoot("C:"));
49
Assert.Equal(@"C:\",
PathUtilities
.GetPathRoot(@"C:\"));
50
Assert.Equal(@"C:/",
PathUtilities
.GetPathRoot(@"C:/"));
51
Assert.Equal(@"C:\",
PathUtilities
.GetPathRoot(@"C:\\"));
52
Assert.Equal(@"C:/",
PathUtilities
.GetPathRoot(@"C:/\"));
53
Assert.Equal(@"*:/",
PathUtilities
.GetPathRoot(@"*:/"));
54
Assert.Equal(@"0:/",
PathUtilities
.GetPathRoot(@"0:/"));
55
Assert.Equal(@"::/",
PathUtilities
.GetPathRoot(@"::/"));
62
Assert.Equal("/",
PathUtilities
.GetPathRoot(@"/"));
63
Assert.Equal(@"/",
PathUtilities
.GetPathRoot(@"/x"));
66
Assert.Equal(@"\",
PathUtilities
.GetPathRoot(@"\"));
67
Assert.Equal(@"\",
PathUtilities
.GetPathRoot(@"\x"));
70
Assert.Equal(@"\",
PathUtilities
.GetPathRoot(@"\"));
71
Assert.Equal(@"\",
PathUtilities
.GetPathRoot(@"\x"));
74
Assert.Equal(@"\\",
PathUtilities
.GetPathRoot(@"\\"));
75
Assert.Equal(@"\\x",
PathUtilities
.GetPathRoot(@"\\x"));
76
Assert.Equal(@"\\x\",
PathUtilities
.GetPathRoot(@"\\x\"));
77
Assert.Equal(@"\\x\y",
PathUtilities
.GetPathRoot(@"\\x\y"));
78
Assert.Equal(@"\\\x\y",
PathUtilities
.GetPathRoot(@"\\\x\y"));
79
Assert.Equal(@"\\\\x\y",
PathUtilities
.GetPathRoot(@"\\\\x\y"));
80
Assert.Equal(@"\\x\\y",
PathUtilities
.GetPathRoot(@"\\x\\y"));
81
Assert.Equal(@"\\/x\\/y",
PathUtilities
.GetPathRoot(@"\\/x\\/y"));
82
Assert.Equal(@"\\/x\\/y",
PathUtilities
.GetPathRoot(@"\\/x\\/y/"));
83
Assert.Equal(@"\\/x\\/y",
PathUtilities
.GetPathRoot(@"\\/x\\/y\/"));
84
Assert.Equal(@"\\/x\\/y",
PathUtilities
.GetPathRoot(@"\\/x\\/y\/zzz"));
85
Assert.Equal(@"\\x\y",
PathUtilities
.GetPathRoot(@"\\x\y"));
86
Assert.Equal(@"\\x\y",
PathUtilities
.GetPathRoot(@"\\x\y\\"));
87
Assert.Equal(@"\\abc\xyz",
PathUtilities
.GetPathRoot(@"\\abc\xyz"));
88
Assert.Equal(@"\\server\$c",
PathUtilities
.GetPathRoot(@"\\server\$c\Public"));
96
Assert.Equal(@"C:\x/y",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", @""));
97
Assert.Equal(@"C:\x/y",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", null));
98
Assert.Equal(@"C:\x/y",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", null));
100
Assert.Null(
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\", @"C:\goo"));
101
Assert.Null(
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\", @"C:goo"));
102
Assert.Null(
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\", @"\goo"));
104
Assert.Equal(@"C:\x\y\goo",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x\y", @"goo"));
105
Assert.Equal(@"C:\x/y\goo",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"goo"));
106
Assert.Equal(@"C:\x/y\.\goo",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", @".\goo"));
107
Assert.Equal(@"C:\x/y\./goo",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"./goo"));
108
Assert.Equal(@"C:\x/y\..\goo",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"..\goo"));
109
Assert.Equal(@"C:\x/y\../goo",
PathUtilities
.CombineAbsoluteAndRelativePaths(@"C:\x/y", @"../goo"));
173
Assert.Equal(PathKind.RelativeToCurrentRoot,
PathUtilities
.GetPathKind(@"/c:x.dll"));
176
Assert.Equal(PathKind.RelativeToCurrentRoot,
PathUtilities
.GetPathKind(@"/:x.dll"));
179
Assert.Equal(PathKind.Absolute,
PathUtilities
.GetPathKind(@"//:x.dll"));
182
Assert.Equal(PathKind.RelativeToDriveDirectory,
PathUtilities
.GetPathKind(@"c::x.dll"));
185
Assert.Equal(PathKind.RelativeToCurrentDirectory,
PathUtilities
.GetPathKind(@".\:x.dll"));
188
Assert.Equal(PathKind.RelativeToCurrentParent,
PathUtilities
.GetPathKind(@"..\:x.dll"));
192
Assert.Equal(PathKind.Empty,
PathUtilities
.GetPathKind(@""));
195
Assert.Equal(PathKind.Empty,
PathUtilities
.GetPathKind(" \t\r\n "));
208
Assert.Equal(expected,
PathUtilities
.GetExtension(path));
214
Assert.Equal(expected,
PathUtilities
.RemoveExtension(path));
220
Assert.Equal(expected,
PathUtilities
.ChangeExtension(path, extension));
236
Assert.Equal(".dll",
PathUtilities
.GetExtension("*.dll"));
247
Assert.Equal("*",
PathUtilities
.RemoveExtension("*.dll"));
269
Assert.Equal("*",
PathUtilities
.RemoveExtension("*.dll"));
322
var result =
PathUtilities
.ExpandAbsolutePathWithRelativeParts(input);
InternalUtilities\AdditionalTextComparerTests.cs (1)
76
if (
PathUtilities
.IsUnixLikePlatform)
MetadataReferences\FusionAssemblyPortabilityPolicy.cs (1)
46
Debug.Assert(
PathUtilities
.IsAbsolute(appConfigPath));
VBCSCompiler (1)
src\Compilers\Server\VBCSCompiler\MetadataCache.cs (1)
49
var module = CreateModuleMetadata(
PathUtilities
.CombineAbsoluteAndRelativePaths(assemblyDir, moduleName)!, prefetchEntireImage: false);