Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/NuGet.BuildTasks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Wilkinson <matt@hirespace.com>2016-01-26 18:45:07 +0300
committerMatt Wilkinson <matthew.wilkinson@gmail.com>2016-02-07 22:58:12 +0300
commitaea47c9acbca28b94f52d4333a44249a751302f1 (patch)
treeea25c734ce00902a36d89749b9940f3204f3622f
parent3d88f1058c26bdbbe82b9765921af21fb82493d7 (diff)
A couple of tests to ensure all TaskItem's are getting NuGetIsFrameworkReference assigned and that all references are correctly tagged
-rw-r--r--src/Microsoft.NuGet.Build.Tasks.Tests/NuGetTestHelpers.cs2
-rw-r--r--src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs42
-rw-r--r--src/Microsoft.NuGet.Build.Tasks.Tests/ResolvePackagesResult.cs13
3 files changed, 55 insertions, 2 deletions
diff --git a/src/Microsoft.NuGet.Build.Tasks.Tests/NuGetTestHelpers.cs b/src/Microsoft.NuGet.Build.Tasks.Tests/NuGetTestHelpers.cs
index 44d848b..478d6ae 100644
--- a/src/Microsoft.NuGet.Build.Tasks.Tests/NuGetTestHelpers.cs
+++ b/src/Microsoft.NuGet.Build.Tasks.Tests/NuGetTestHelpers.cs
@@ -67,7 +67,7 @@ namespace Microsoft.NuGet.Build.Tasks.Tests
var references = task.ResolvedReferences;
var referencedPackages = task.ReferencedPackages;
- return new ResolvePackagesResult(analyzers, copyLocalItems, references, referencedPackages);
+ return new ResolvePackagesResult(analyzers, copyLocalItems, references, referencedPackages, rootDirectory.Root);
}
}
}
diff --git a/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs b/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs
index 86f6988..4c1cad4 100644
--- a/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs
+++ b/src/Microsoft.NuGet.Build.Tasks.Tests/ReferenceResolutionTests.cs
@@ -233,6 +233,48 @@ namespace Microsoft.NuGet.Build.Tasks.Tests
}
[Fact]
+ public static void AllNuGetReferencesHaveValidIsFrameworkReferenceProperty()
+ {
+ var result = NuGetTestHelpers.ResolvePackagesWithJsonFileContents(
+ Default.GetString(Json.Json.FluentAssertions),
+ targetMoniker: ".NETFramework,Version=v4.5.2",
+ runtimeIdentifier: "");
+
+ var key = ResolveNuGetPackageAssets.NuGetIsFrameworkReference;
+ var values = result.References.Select(r => r.GetMetadata(key));
+
+ Assert.All(result.References, r => Assert.Contains(key, r.MetadataNames.Cast<string>()));
+ Assert.All(values, v => Assert.Contains(v, new [] { "true", "false" }));
+ }
+
+ [Fact]
+ public static void AllReferencesHaveCorrectIsFrameworkReferenceProperty()
+ {
+ var result = NuGetTestHelpers.ResolvePackagesWithJsonFileContents(
+ Default.GetString(Json.Json.FluentAssertions),
+ targetMoniker: ".NETFramework,Version=v4.5.2",
+ runtimeIdentifier: "");
+
+ var references = result.References.ToDictionary(
+ r => r.ItemSpec,
+ r => r.GetMetadata(ResolveNuGetPackageAssets.NuGetIsFrameworkReference)
+ );
+
+ Assert.Equal(4, references.Count);
+
+ var corePath = Path.Combine(result.ReferenceTemporaryPath, @"FluentAssertions\3.4.1\lib\net45\FluentAssertions.Core.dll");
+ Assert.True(references.ContainsKey(corePath));
+ Assert.Equal("false", references[corePath]);
+
+ var mainPath = Path.Combine(result.ReferenceTemporaryPath, @"FluentAssertions\3.4.1\lib\net45\FluentAssertions.dll");
+ Assert.True(references.ContainsKey(mainPath));
+ Assert.Equal("false", references[mainPath]);
+
+ Assert.Equal("true", references["System.Xml"]);
+ Assert.Equal("true", references["System.Xml.Linq"]);
+ }
+
+ [Fact]
public static void NativeWinMDSetsMetadata()
{
string imageRuntimeVersion = "WindowsRuntime 1.3";
diff --git a/src/Microsoft.NuGet.Build.Tasks.Tests/ResolvePackagesResult.cs b/src/Microsoft.NuGet.Build.Tasks.Tests/ResolvePackagesResult.cs
index 45da404..f2e7844 100644
--- a/src/Microsoft.NuGet.Build.Tasks.Tests/ResolvePackagesResult.cs
+++ b/src/Microsoft.NuGet.Build.Tasks.Tests/ResolvePackagesResult.cs
@@ -21,17 +21,28 @@ namespace Microsoft.NuGet.Build.Tasks.Tests
ITaskItem[] analyzers,
ITaskItem[] copyLocalItems,
ITaskItem[] references,
- ITaskItem[] referencedPackages)
+ ITaskItem[] referencedPackages,
+ string referenceTemporaryPath)
{
Analyzers = analyzers ?? new ITaskItem[] { };
CopyLocalItems = copyLocalItems ?? new ITaskItem[] { };
References = references ?? new ITaskItem[] { };
ReferencedPackages = referencedPackages ?? new ITaskItem[] { };
+ ReferenceTemporaryPath = referenceTemporaryPath;
}
public ITaskItem[] Analyzers { get; }
public ITaskItem[] CopyLocalItems { get; }
public ITaskItem[] References { get; }
public ITaskItem[] ReferencedPackages { get; }
+
+
+ /// <summary>
+ /// Gets the temporary path created during testing process
+ /// </summary>
+ /// <remarks>
+ /// You must assume this path no longer exists on disk, and can only be used to form absolute paths that match items in this object from relative paths
+ /// </remarks>
+ public string ReferenceTemporaryPath { get; }
}
}