From c44e50dfc4df81ec89260004a1b74e57230decca Mon Sep 17 00:00:00 2001 From: Bryan Thornbury Date: Mon, 10 Oct 2016 14:24:49 -0700 Subject: [PATCH] type build tests --- .../MigratePackageDependenciesAndToolsRule.cs | 2 +- ...enThatIWantToMigratePackageDependencies.cs | 59 +++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.ProjectJsonMigration/Rules/MigratePackageDependenciesAndToolsRule.cs b/src/Microsoft.DotNet.ProjectJsonMigration/Rules/MigratePackageDependenciesAndToolsRule.cs index 7249b8696..1145eea47 100644 --- a/src/Microsoft.DotNet.ProjectJsonMigration/Rules/MigratePackageDependenciesAndToolsRule.cs +++ b/src/Microsoft.DotNet.ProjectJsonMigration/Rules/MigratePackageDependenciesAndToolsRule.cs @@ -141,7 +141,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules transform = PackageDependencyTransform(); if (packageDependency.Type == LibraryDependencyType.Build) { - transform = transform.WithMetadata("PrivateAssets", "all"); + transform = transform.WithMetadata("PrivateAssets", "All"); } else if (packageDependency.SuppressParent != LibraryIncludeFlagUtils.DefaultSuppressParent) { diff --git a/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigratePackageDependencies.cs b/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigratePackageDependencies.cs index 36ca01a99..226132e63 100644 --- a/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigratePackageDependencies.cs +++ b/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigratePackageDependencies.cs @@ -6,6 +6,7 @@ using Microsoft.DotNet.Tools.Test.Utilities; using System.Linq; using Xunit; using FluentAssertions; +using Microsoft.DotNet.ProjectJsonMigration; using Microsoft.DotNet.ProjectJsonMigration.Rules; using System; @@ -27,6 +28,64 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests EmitsPackageReferences(mockProj, Tuple.Create("APackage", "1.0.0-preview", ""), Tuple.Create("BPackage", "1.0.0", "")); } + [Fact] + public void It_migrates_type_build_to_PrivateAssets() + { + var mockProj = RunPackageDependenciesRuleOnPj(@" + { + ""dependencies"": { + ""APackage"" : { + ""version"": ""1.0.0-preview"", + ""type"": ""build"" + } + } + }"); + + var packageRef = mockProj.Items.First(i => i.Include == "APackage" && i.ItemType == "PackageReference"); + + var privateAssetsMetadata = packageRef.GetMetadataWithName("PrivateAssets"); + privateAssetsMetadata.Value.Should().Be("All"); + } + + [Fact] + public void It_migrates_suppress_parent_to_PrivateAssets() + { + var mockProj = RunPackageDependenciesRuleOnPj(@" + { + ""dependencies"": { + ""APackage"" : { + ""version"": ""1.0.0-preview"", + ""suppressParent"":[ ""runtime"", ""native"" ] + } + } + }"); + + var packageRef = mockProj.Items.First(i => i.Include == "APackage" && i.ItemType == "PackageReference"); + + var privateAssetsMetadata = packageRef.GetMetadataWithName("PrivateAssets"); + privateAssetsMetadata.Value.Should().Be("runtime;native"); + } + + [Fact] + public void It_migrates_include_exclude_to_IncludeAssets() + { + var mockProj = RunPackageDependenciesRuleOnPj(@" + { + ""dependencies"": { + ""APackage"" : { + ""version"": ""1.0.0-preview"", + ""include"": [ ""compile"", ""runtime"", ""native"" ], + ""exclude"": [ ""native"" ] + } + } + }"); + + var packageRef = mockProj.Items.First(i => i.Include == "APackage" && i.ItemType == "PackageReference"); + + var privateAssetsMetadata = packageRef.GetMetadataWithName("IncludeAssets"); + privateAssetsMetadata.Value.Should().Be("compile;runtime"); + } + [Fact] public void It_migrates_Tools() {