fix line endings related errors in dotnet-add-p2p tests
This commit is contained in:
parent
4d45444266
commit
5095981ec3
3 changed files with 40 additions and 12 deletions
|
@ -91,7 +91,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Transforms
|
|||
MigrationTrace.Instance.WriteLine(String.Format(LocalizableStrings.ItemTransformApplicatorAddItemHeader, nameof(ItemTransformApplicator), outputItem.ItemType, outputItem.Condition, outputItem.Include, outputItem.Exclude, outputItem.Update));
|
||||
|
||||
itemGroup.AppendChild(outputItem);
|
||||
outputItem.AddMetadata(item.Metadata);
|
||||
outputItem.AddMetadata(item.Metadata, MigrationTrace.Instance);
|
||||
}
|
||||
|
||||
private ProjectItemElement MergeWithExistingItemsWithACondition(ProjectItemElement item, ProjectItemGroupElement destinationItemGroup)
|
||||
|
@ -110,7 +110,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Transforms
|
|||
foreach (var existingItem in existingItemsWithACondition)
|
||||
{
|
||||
// If this item is encompassing items in a condition, remove the encompassed includes from the existing item
|
||||
var encompassedIncludes = item.GetEncompassedIncludes(existingItem);
|
||||
var encompassedIncludes = item.GetEncompassedIncludes(existingItem, MigrationTrace.Instance);
|
||||
if (encompassedIncludes.Any())
|
||||
{
|
||||
MigrationTrace.Instance.WriteLine(String.Format(LocalizableStrings.ItemTransformApplicatorEncompassedIncludes, nameof(ItemTransformApplicator), string.Join(", ", encompassedIncludes)));
|
||||
|
@ -179,7 +179,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Transforms
|
|||
// conditionless item
|
||||
foreach (var existingItem in existingItemsWithNoCondition)
|
||||
{
|
||||
var encompassedIncludes = existingItem.GetEncompassedIncludes(item);
|
||||
var encompassedIncludes = existingItem.GetEncompassedIncludes(item, MigrationTrace.Instance);
|
||||
if (encompassedIncludes.Any())
|
||||
{
|
||||
MigrationTrace.Instance.WriteLine(String.Format(LocalizableStrings.ItemTransformApplicatorEncompassedIncludes, nameof(ItemTransformApplicator), string.Join(", ", encompassedIncludes)));
|
||||
|
@ -280,7 +280,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Transforms
|
|||
mergedItem.UnionExcludes(existingItem.Excludes());
|
||||
mergedItem.UnionExcludes(item.Excludes());
|
||||
|
||||
mergedItem.AddMetadata(MergeMetadata(existingItem.Metadata, item.Metadata));
|
||||
mergedItem.AddMetadata(MergeMetadata(existingItem.Metadata, item.Metadata), MigrationTrace.Instance);
|
||||
|
||||
item.RemoveIncludes(commonIncludes);
|
||||
existingItem.RemoveIncludes(commonIncludes);
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using FluentAssertions;
|
||||
using FluentAssertions.Execution;
|
||||
using FluentAssertions.Primitives;
|
||||
|
||||
namespace Microsoft.DotNet.Tools.Test.Utilities
|
||||
{
|
||||
public static class StringAssertionsExtensions
|
||||
{
|
||||
private static string NormalizeLineEndings(string s)
|
||||
{
|
||||
return s.Replace("\r\n", "\n");
|
||||
}
|
||||
|
||||
public static AndConstraint<StringAssertions> BeVisuallyEquivalentTo(this StringAssertions assertions, string expected, string because = "", params object[] becauseArgs)
|
||||
{
|
||||
Execute.Assertion
|
||||
.ForCondition(NormalizeLineEndings(assertions.Subject) == NormalizeLineEndings(expected))
|
||||
.BecauseOf(because, becauseArgs)
|
||||
.FailWith($"String \"{assertions.Subject}\" is not visually equivalent to expected string \"{expected}\".");
|
||||
|
||||
return new AndConstraint<StringAssertions>(assertions);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -36,7 +36,7 @@ Additional Arguments:
|
|||
const string ProjectNotCompatibleErrorMessageRegEx = "Project `[^`]*` cannot be added due to incompatible targeted frameworks between the two projects\\. Please review the project you are trying to add and verify that is compatible with the following targets\\:";
|
||||
const string ProjectDoesNotTargetFrameworkErrorMessageRegEx = "Project `[^`]*` does not target framework `[^`]*`.";
|
||||
static readonly string[] DefaultFrameworks = new string[] { "netcoreapp1.0", "net451" };
|
||||
|
||||
|
||||
private TestSetup Setup([System.Runtime.CompilerServices.CallerMemberName] string callingMethod = nameof(Setup), string identifier = "")
|
||||
{
|
||||
return new TestSetup(
|
||||
|
@ -92,7 +92,7 @@ Additional Arguments:
|
|||
{
|
||||
var cmd = new AddP2PCommand().Execute(helpArg);
|
||||
cmd.Should().Pass();
|
||||
cmd.StdOut.Should().Be(HelpText);
|
||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(HelpText);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
|
@ -130,7 +130,7 @@ Additional Arguments:
|
|||
.Execute($"\"{setup.ValidRefCsprojPath}\"");
|
||||
cmd.ExitCode.Should().NotBe(0);
|
||||
cmd.StdErr.Should().Be($"Could not find project or directory `{projName}`.");
|
||||
cmd.StdOut.Should().Be(HelpText);
|
||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(HelpText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -145,7 +145,7 @@ Additional Arguments:
|
|||
.Execute($"\"{setup.ValidRefCsprojPath}\"");
|
||||
cmd.ExitCode.Should().NotBe(0);
|
||||
cmd.StdErr.Should().Be("Project `Broken/Broken.csproj` is invalid.");
|
||||
cmd.StdOut.Should().Be(HelpText);
|
||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(HelpText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -159,7 +159,7 @@ Additional Arguments:
|
|||
.Execute($"\"{setup.ValidRefCsprojRelToOtherProjPath}\"");
|
||||
cmd.ExitCode.Should().NotBe(0);
|
||||
cmd.StdErr.Should().Be($"Found more than one project in `{workingDir + Path.DirectorySeparatorChar}`. Please specify which one to use.");
|
||||
cmd.StdOut.Should().Be(HelpText);
|
||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(HelpText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -172,7 +172,7 @@ Additional Arguments:
|
|||
.Execute($"\"{setup.ValidRefCsprojPath}\"");
|
||||
cmd.ExitCode.Should().NotBe(0);
|
||||
cmd.StdErr.Should().Be($"Could not find any project in `{setup.TestRoot + Path.DirectorySeparatorChar}`.");
|
||||
cmd.StdOut.Should().Be(HelpText);
|
||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(HelpText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -489,7 +489,7 @@ Reference `DotnetAddP2PProjects\ValidRef\ValidRef.csproj` added to the project."
|
|||
.WithProject(lib.CsProjPath)
|
||||
.Execute($"\"{setup.LibCsprojPath}\" \"{setup.ValidRefCsprojPath}\"");
|
||||
cmd.Should().Pass();
|
||||
cmd.StdOut.Should().Be(OutputText);
|
||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(OutputText);
|
||||
var csproj = lib.CsProj();
|
||||
csproj.NumberOfItemGroupsWithoutCondition().Should().Be(noCondBefore + 1);
|
||||
csproj.NumberOfProjectReferencesWithIncludeContaining(setup.ValidRefCsprojName).Should().Be(1);
|
||||
|
@ -511,7 +511,7 @@ Reference `DotnetAddP2PProjects\ValidRef\ValidRef.csproj` added to the project."
|
|||
.WithProject(lib.CsProjPath)
|
||||
.Execute($"{FrameworkNet451Arg} \"{setup.LibCsprojPath}\" \"{setup.ValidRefCsprojPath}\"");
|
||||
cmd.Should().Pass();
|
||||
cmd.StdOut.Should().Be(OutputText);
|
||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(OutputText);
|
||||
var csproj = lib.CsProj();
|
||||
csproj.NumberOfItemGroupsWithConditionContaining(ConditionFrameworkNet451).Should().Be(noCondBefore + 1);
|
||||
csproj.NumberOfProjectReferencesWithIncludeAndConditionContaining(setup.ValidRefCsprojName, ConditionFrameworkNet451).Should().Be(1);
|
||||
|
|
Loading…
Reference in a new issue