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