/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/CSharp/Test/CommandLine/CommandLineDiagnosticFormatterTests.cs
84 строки
4 KB
Jared Parsons
generated move
28 сен 2020, 19:36
28 сен 2020, 19:36
1cca63b
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using Roslyn.Test.Utilities; using Xunit; namespace Microsoft.CodeAnalysis.CSharp.CommandLine.UnitTests { public class CommandLineDiagnosticFormatterTests { [ConditionalFact(typeof(WindowsOnly))] public void GetPathNameRelativeToBaseDirectory() { var formatter = new CommandLineDiagnosticFormatter( baseDirectory: @"X:\rootdir\dir", displayFullPaths: true, displayEndLocations: true); Assert.Equal(@"a.cs", formatter.RelativizeNormalizedPath(@"X:\rootdir\dir\a.cs")); Assert.Equal(@"temp\a.cs", formatter.RelativizeNormalizedPath(@"X:\rootdir\dir\temp\a.cs")); Assert.Equal(@"Y:\rootdir\dir\a.cs", formatter.RelativizeNormalizedPath(@"Y:\rootdir\dir\a.cs")); formatter = new CommandLineDiagnosticFormatter( baseDirectory: @"X:\rootdir\..\rootdir\dir", displayFullPaths: true, displayEndLocations: true); Assert.Equal(@"a.cs", formatter.RelativizeNormalizedPath(@"X:\rootdir\dir\a.cs")); Assert.Equal(@"temp\a.cs", formatter.RelativizeNormalizedPath(@"X:\rootdir\dir\temp\a.cs")); Assert.Equal(@"Y:\rootdir\dir\a.cs", formatter.RelativizeNormalizedPath(@"Y:\rootdir\dir\a.cs")); } [ConditionalFact(typeof(WindowsOnly))] [WorkItem(14725, "https://github.com/dotnet/roslyn/issues/14725")] public void RelativizeNormalizedPathShouldHandleRootPaths_1() { var formatter = new CommandLineDiagnosticFormatter( baseDirectory: @"C:\", displayFullPaths: false, displayEndLocations: false); Assert.Equal(@"temp.cs", formatter.RelativizeNormalizedPath(@"c:\temp.cs")); } [ConditionalFact(typeof(WindowsOnly))] [WorkItem(14725, "https://github.com/dotnet/roslyn/issues/14725")] public void RelativizeNormalizedPathShouldHandleRootPaths_2() { var formatter = new CommandLineDiagnosticFormatter( baseDirectory: @"C:\A\B", displayFullPaths: false, displayEndLocations: false); Assert.Equal(@"C\D\temp.cs", formatter.RelativizeNormalizedPath(@"c:\A\B\C\D\temp.cs")); } [ConditionalFact(typeof(WindowsOnly))] [WorkItem(14725, "https://github.com/dotnet/roslyn/issues/14725")] public void RelativizeNormalizedPathShouldHandleDirectoriesWithSamePrefix_1() { var formatter = new CommandLineDiagnosticFormatter( baseDirectory: @"C:\AB", displayFullPaths: false, displayEndLocations: false); Assert.Equal(@"c:\ABCD\file.cs", formatter.RelativizeNormalizedPath(@"c:\ABCD\file.cs")); } [ConditionalFact(typeof(WindowsOnly))] [WorkItem(14725, "https://github.com/dotnet/roslyn/issues/14725")] public void RelativizeNormalizedPathShouldHandleDirectoriesWithSamePrefix_2() { var formatter = new CommandLineDiagnosticFormatter( baseDirectory: @"C:\ABCD", displayFullPaths: false, displayEndLocations: false); Assert.Equal(@"c:\AB\file.cs", formatter.RelativizeNormalizedPath(@"c:\AB\file.cs")); } } }