public void PackageReader_LegacyFolders() { // Verify legacy folder names such as 40 and 35 parse to frameworks var zip = TestPackages.GetZip(TestPackages.GetLegacyFolderPackage()); using (PackageReader reader = new PackageReader(zip)) { var groups = reader.GetReferenceItems().ToArray(); Assert.Equal(4, groups.Count()); Assert.Equal(NuGetFramework.AnyFramework, groups[0].TargetFramework); Assert.Equal("lib/a.dll", groups[0].Items.ToArray()[0]); Assert.Equal(NuGetFramework.Parse("net35"), groups[1].TargetFramework); Assert.Equal("lib/35/b.dll", groups[1].Items.ToArray()[0]); Assert.Equal(NuGetFramework.Parse("net4"), groups[2].TargetFramework); Assert.Equal("lib/40/test40.dll", groups[2].Items.ToArray()[0]); Assert.Equal("lib/40/x86/testx86.dll", groups[2].Items.ToArray()[1]); Assert.Equal(NuGetFramework.Parse("net45"), groups[3].TargetFramework); Assert.Equal("lib/45/a.dll", groups[3].Items.ToArray()[0]); } }
public void PackageReader_ReferencesWithoutGroups() { using (var packageFile = TestPackages.GetLegacyTestPackageWithPre25References()) { var zip = TestPackages.GetZip(packageFile); using (PackageArchiveReader reader = new PackageArchiveReader(zip)) { var groups = reader.GetReferenceItems().ToArray(); Assert.Equal(3, groups.Count()); Assert.Equal(NuGetFramework.AnyFramework, groups[0].TargetFramework); Assert.Equal(1, groups[0].Items.Count()); Assert.Equal("lib/test.dll", groups[0].Items.Single()); Assert.Equal(NuGetFramework.Parse("net40"), groups[1].TargetFramework); Assert.Equal(1, groups[1].Items.Count()); Assert.Equal("lib/net40/test.dll", groups[1].Items.Single()); Assert.Equal(NuGetFramework.Parse("net451"), groups[2].TargetFramework); Assert.Equal(1, groups[1].Items.Count()); Assert.Equal("lib/net451/test.dll", groups[2].Items.Single()); } } }
public void PackageReader_SupportedFrameworksForInvalidPortableFrameworkThrows() { using (var packageFile = TestPackages.GetLegacyTestPackageWithInvalidPortableFrameworkFolderName()) { var zip = TestPackages.GetZip(packageFile); using (PackageArchiveReader reader = new PackageArchiveReader(zip)) { var ex = Assert.Throws <PackagingException>( () => reader.GetSupportedFrameworks()); Assert.Equal( "The framework in the folder name of '" + "lib/portable-net+win+wpa+wp+sl+net-cf+netmf+MonoAndroid+MonoTouch+Xamarin.iOS/test.dll" + "' in package 'packageA.2.0.3' could not be parsed.", ex.Message); Assert.NotNull(ex.InnerException); Assert.IsType <ArgumentException>(ex.InnerException); Assert.Equal( "Invalid portable frameworks '" + "net+win+wpa+wp+sl+net-cf+netmf+MonoAndroid+MonoTouch+Xamarin.iOS" + "'. A hyphen may not be in any of the portable framework names.", ex.InnerException.Message); } } }
public void PackageReader_NestedReferenceItemsMixed() { using (var packageFile = TestPackages.GetLibEmptyFolderPackage()) { var zip = TestPackages.GetZip(packageFile); using (PackageArchiveReader reader = new PackageArchiveReader(zip)) { var groups = reader.GetReferenceItems().ToArray(); Assert.Equal(3, groups.Count()); Assert.Equal(NuGetFramework.AnyFramework, groups[0].TargetFramework); Assert.Equal(2, groups[0].Items.Count()); Assert.Equal("lib/a.dll", groups[0].Items.ToArray()[0]); Assert.Equal("lib/x86/b.dll", groups[0].Items.ToArray()[1]); Assert.Equal(NuGetFramework.Parse("net40"), groups[1].TargetFramework); Assert.Equal(2, groups[1].Items.Count()); Assert.Equal("lib/net40/test40.dll", groups[1].Items.ToArray()[0]); Assert.Equal("lib/net40/x86/testx86.dll", groups[1].Items.ToArray()[1]); Assert.Equal(NuGetFramework.Parse("net45"), groups[2].TargetFramework); Assert.Equal(0, groups[2].Items.Count()); } } }
public void PackageReader_MinClientVersion(string minClientVersion, string expected) { var zip = TestPackages.GetZip(TestPackages.GetLegacyTestPackageMinClient(minClientVersion)); using (PackageReader reader = new PackageReader(zip)) { var version = reader.GetMinClientVersion(); Assert.Equal(expected, version.ToNormalizedString()); } }
public void PackageReader_ContentWithFrameworks() { var zip = TestPackages.GetZip(TestPackages.GetLegacyContentPackageWithFrameworks()); using (PackageReader reader = new PackageReader(zip)) { var groups = reader.GetContentItems().ToArray(); Assert.Equal(3, groups.Count()); } }
public void PackageReader_AgnosticFramework() { var zip = TestPackages.GetZip(TestPackages.GetLegacyContentPackage()); using (PackageReader reader = new PackageReader(zip)) { string[] frameworks = reader.GetSupportedFrameworks().Select(f => f.DotNetFrameworkName).ToArray(); Assert.Equal("Agnostic, Version=v0.0", frameworks[0]); Assert.Equal(frameworks.Length, 1); } }
public void PackageReader_EmptyLibFolder() { var zip = TestPackages.GetZip(TestPackages.GetLibEmptyFolderPackage()); using (PackageReader reader = new PackageReader(zip)) { var groups = reader.GetReferenceItems().ToArray(); var emptyGroup = groups.Where(g => g.TargetFramework == NuGetFramework.ParseFolder("net45")).Single(); Assert.Equal(0, emptyGroup.Items.Count()); } }
public void PackageReader_NoReferences() { var zip = TestPackages.GetZip(TestPackages.GetLegacyTestPackage()); using (PackageReader reader = new PackageReader(zip)) { var groups = reader.GetReferenceItems().ToArray(); Assert.Equal(3, groups.Count()); Assert.Equal(4, groups.SelectMany(e => e.Items).Count()); } }
public void PackageReader_ContentWithMixedFrameworks() { using (var packageFile = TestPackages.GetLegacyContentPackageMixed()) { var zip = TestPackages.GetZip(packageFile); using (PackageArchiveReader reader = new PackageArchiveReader(zip)) { var groups = reader.GetContentItems().ToArray(); Assert.Equal(3, groups.Count()); } } }
public void PackageReader_SupportedFrameworks() { var zip = TestPackages.GetZip(TestPackages.GetLegacyTestPackage()); using (PackageReader reader = new PackageReader(zip)) { string[] frameworks = reader.GetSupportedFrameworks().Select(f => f.DotNetFrameworkName).ToArray(); Assert.Equal("Any, Version=v0.0", frameworks[0]); Assert.Equal(".NETFramework, Version=v4.0", frameworks[1]); Assert.Equal(".NETFramework, Version=v4.5", frameworks[2]); Assert.Equal(frameworks.Length, 3); } }
public void PackageReader_ContentNoFrameworks() { var zip = TestPackages.GetZip(TestPackages.GetLegacyContentPackage()); using (PackageReader reader = new PackageReader(zip)) { var groups = reader.GetContentItems().ToArray(); Assert.Equal(1, groups.Count()); Assert.Equal(NuGetFramework.AnyFramework, groups.Single().TargetFramework); Assert.Equal(3, groups.Single().Items.Count()); } }
public void PackageReader_NestedReferenceItems() { var zip = TestPackages.GetZip(TestPackages.GetLibSubFolderPackage()); using (PackageReader reader = new PackageReader(zip)) { var groups = reader.GetReferenceItems().ToArray(); Assert.Equal(1, groups.Count()); Assert.Equal(NuGetFramework.Parse("net40"), groups[0].TargetFramework); Assert.Equal(2, groups[0].Items.Count()); Assert.Equal("lib/net40/test40.dll", groups[0].Items.ToArray()[0]); Assert.Equal("lib/net40/x86/testx86.dll", groups[0].Items.ToArray()[1]); } }
public void PackageReader_Serviceable() { // Arrange using (var packageFile = TestPackages.GetServiceablePackage()) { var zip = TestPackages.GetZip(packageFile); using (PackageArchiveReader reader = new PackageArchiveReader(zip)) { // Act var actual = reader.IsServiceable(); // Assert Assert.True(actual); } } }
public void PackageReader_ReferencesWithGroups() { var zip = TestPackages.GetZip(TestPackages.GetLegacyTestPackageWithReferenceGroups()); using (PackageReader reader = new PackageReader(zip)) { var groups = reader.GetReferenceItems().ToArray(); Assert.Equal(2, groups.Count()); Assert.Equal(NuGetFramework.AnyFramework, groups[0].TargetFramework); Assert.Equal(1, groups[0].Items.Count()); Assert.Equal("lib/test.dll", groups[0].Items.Single()); Assert.Equal(NuGetFramework.Parse("net45"), groups[1].TargetFramework); Assert.Equal(1, groups[1].Items.Count()); Assert.Equal("lib/net45/test45.dll", groups[1].Items.Single()); } }
public void PackageReader_RespectReferencesAccordingToDifferentFrameworks() { // Copy of the InstallPackageRespectReferencesAccordingToDifferentFrameworks functional test // Arrange var zip = TestPackages.GetZip(TestPackages.GetNearestReferenceFilteringPackage()); var reader = new PackageReader(zip); // Act var references = reader.GetReferenceItems(); var netResult = NuGetFrameworkUtility.GetNearest <FrameworkSpecificGroup>(references, NuGetFramework.Parse("net45")); var slResult = NuGetFrameworkUtility.GetNearest <FrameworkSpecificGroup>(references, NuGetFramework.Parse("sl5")); // Assert Assert.Equal(2, netResult.Items.Count()); Assert.Equal(1, slResult.Items.Count()); Assert.Equal("lib/sl40/a.dll", slResult.Items.First()); Assert.Equal("lib/net40/one.dll", netResult.Items.First()); Assert.Equal("lib/net40/three.dll", netResult.Items.Skip(1).First()); }
public void PackageReader_PackageTypes() { // Arrange using (var packageFile = TestPackages.GetPackageWithPackageTypes()) { var zip = TestPackages.GetZip(packageFile); using (PackageArchiveReader reader = new PackageArchiveReader(zip)) { // Act var actual = reader.GetPackageTypes(); // Assert Assert.Equal(2, actual.Count); Assert.Equal("foo", actual[0].Name); Assert.Equal(new Version(0, 0), actual[0].Version); Assert.Equal("bar", actual[1].Name); Assert.Equal(new Version(2, 0, 0), actual[1].Version); } } }