Esempio n. 1
0
        public void AddPackageReferences(params string[] names)
        {
            var frameworkName       = new FrameworkName(".NET Framework, Version=4.0");
            var packageReferenceSet = new PackageReferenceSet(frameworkName, names);

            FakePackageAssemblyReferences.Add(packageReferenceSet);
        }
        public void AssemblyReferencesIsFilteredCorrectlyWhenReferenceIsEmpty()
        {
            // Arrange
            var files = new IPackageFile[] {
                CreatePackageFile(@"lib\net40\one.dll"),
            };

            var references = new PackageReferenceSet[] {
            };

            var ms = GetPackageStream(files, references);

            var fileSystem = new MockFileSystem("x:\\");

            fileSystem.AddFile("pam.nupkg", ms);

            var expandedFileSystem = new MockFileSystem("y:\\");

            var ozp = new TestableOptimizedZipPackage(fileSystem, "pam.nupkg", expandedFileSystem);

            // Act
            var assemblies = ozp.AssemblyReferences.ToList();

            // Assert
            Assert.Equal(1, assemblies.Count);
            Assert.Equal(@"lib\net40\one.dll", assemblies[0].Path);
        }
Esempio n. 3
0
        private JToken WritePackageReferenceSet(PackageReferenceSet item)
        {
            var json = new JObject();

            json["targetFramework"] = item.TargetFramework.ToStringSafe();
            json["references"]      = WriteArray(item.References, WriteString);
            return(json);
        }
Esempio n. 4
0
 public EditablePackageReferenceSet(PackageReferenceSet packageReferenceSet)
 {
     if (packageReferenceSet is null)
     {
         throw new System.ArgumentNullException(nameof(packageReferenceSet));
     }
     _targetFramework = packageReferenceSet.TargetFramework;
     References       = new ObservableCollection <string>(packageReferenceSet.References);
 }
Esempio n. 5
0
            public void Should_Be_Include_Framework_Name()
            {
                // Given
                var referenceSet = new PackageReferenceSet(_dummyFrameworkName, Enumerable.Empty <FilePath>());

                // When
                var result = referenceSet.SupportedFrameworks;

                // Then
                Assert.Equal(new[] { _dummyFrameworkName }, result);
            }
Esempio n. 6
0
        private static void AssertReference(PackageReferenceSet expected, PackageReferenceSet actual)
        {
            Assert.Equal(expected.TargetFramework, actual.TargetFramework);

            var actualReferences   = actual.References.ToList();
            var expectedReferences = expected.References.ToList();

            Assert.Equal(expected.References.Count, actualReferences.Count);
            for (int i = 0; i < expectedReferences.Count; i++)
            {
                AssertReference(expectedReferences[i], actualReferences[i]);
            }
        }
Esempio n. 7
0
            public void Should_Be_Empty_When_Framework_Name_Is_Null()
            {
                // Given
                var           references    = Enumerable.Empty <FilePath>();
                FrameworkName frameworkName = null;
                var           referenceSet  = new PackageReferenceSet(frameworkName, references);

                // When
                var result = referenceSet.SupportedFrameworks;

                // Then
                Assert.Empty(result);
            }
Esempio n. 8
0
        public void AssemblyReferencesIsFilteredCorrectlyAccordingToTargetFramework()
        {
            // Arrange
            var files = new IPackageFile[] {
                CreatePackageFile(@"lib\net40\one.dll"),
                CreatePackageFile(@"lib\net40\two.dll"),

                CreatePackageFile(@"lib\sl30\one.dll"),
                CreatePackageFile(@"lib\sl30\two.dll"),

                CreatePackageFile(@"lib\net45\foo.dll"),
                CreatePackageFile(@"lib\net45\bar.dll")
            };

            var references = new PackageReferenceSet[] {
                new PackageReferenceSet(
                    new FrameworkName("Silverlight, Version=2.0"),
                    new [] { "two.dll" }),

                new PackageReferenceSet(
                    new FrameworkName(".NET, Version=4.0"),
                    new string[0]),

                new PackageReferenceSet(
                    new FrameworkName(".NET, Version=4.5"),
                    new string[] { "foo.dll", "bar.dll" }),
            };

            var ms = GetPackageStream(files, references);

            var fileSystem = new MockFileSystem("x:\\");

            fileSystem.AddFile("pam.nupkg", ms);

            var expandedFileSystem = new MockFileSystem("y:\\");

            var ozp = new TestableOptimizedZipPackage(fileSystem, "pam.nupkg", expandedFileSystem);

            // Act
            var assemblies = ozp.AssemblyReferences.OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(3, assemblies.Count);
            Assert.Equal(@"lib\net45\bar.dll", assemblies[0].Path);
            Assert.Equal(@"lib\net45\foo.dll", assemblies[1].Path);
            Assert.Equal(@"lib\sl30\two.dll", assemblies[2].Path);
        }
Esempio n. 9
0
        public void ValidateReferencesThrowsForPartialNamesThatDoNotHaveAKnownExtension()
        {
            // Arrange
            var files = new[] {
                new PhysicalPackageFile { TargetPath = @"lib\net20\foo.dll" },
                new PhysicalPackageFile { TargetPath = @"lib\net20\bar.dll" },
                new PhysicalPackageFile { TargetPath = @"lib\net20\baz.qux" },
            };
            var packageAssemblyReferences = new PackageReferenceSet(new FrameworkName("Silverlight, Version=1.0"), new string[] { "foo.dll", "bar", "baz" });

            // Act and Assert
            ExceptionAssert.Throws<InvalidDataException>(() => PackageBuilder.ValidateReferenceAssemblies(files, new [] { packageAssemblyReferences }),
                "Invalid assembly reference 'baz'. Ensure that a file named 'baz' exists in the lib directory.");
        }
Esempio n. 10
0
        public void ValidateReferencesAllowsPartialFileNames()
        {
            // Arrange
            var files = new[] {
                new PhysicalPackageFile { TargetPath = @"lib\net40\foo.dll" },
                new PhysicalPackageFile { TargetPath = @"lib\net40\bar.dll" },
                new PhysicalPackageFile { TargetPath = @"lib\net40\baz.exe" },
            };
            var packageAssemblyReferences = new PackageReferenceSet(null, new string[] { "foo.dll", "bar", "baz" });

            // Act and Assert
            PackageBuilder.ValidateReferenceAssemblies(files, new[] { packageAssemblyReferences });

            // If we've got this far, no exceptions were thrown.
            Assert.True(true);
        }
Esempio n. 11
0
        public void AssemblyReferencesIsNotFilteredAccordingToTargetFramework()
        {
            // Arrange
            var files = new IPackageFile[] {
                CreatePackageFile(@"lib\net40\one.dll"),
                CreatePackageFile(@"lib\net40\two.dll"),

                CreatePackageFile(@"lib\sl30\one.dll"),
                CreatePackageFile(@"lib\sl30\two.dll"),

                CreatePackageFile(@"lib\net45\foo.dll"),
                CreatePackageFile(@"lib\net45\bar.dll")
            };

            var references = new PackageReferenceSet[] {
                new PackageReferenceSet(
                    new FrameworkName("Silverlight, Version=2.0"),
                    new [] { "two.dll" }),

                new PackageReferenceSet(
                    new FrameworkName(".NET, Version=4.5"),
                    new string[] { "foo.dll", "bar.dll" }),
            };

            var ms = GetPackageStream(files, references);

            var fileSystem = new MockFileSystem("x:\\");
            fileSystem.AddFile("pam.nupkg", ms);

            var expandedFileSystem = new MockFileSystem("y:\\");

            var ozp = new TestableOptimizedZipPackage(fileSystem, "pam.nupkg", expandedFileSystem);

            // Act
            var assemblies = ozp.AssemblyReferences.OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(6, assemblies.Count);
            Assert.Equal(@"lib\net40\one.dll", assemblies[0].Path);
            Assert.Equal(@"lib\net40\two.dll", assemblies[1].Path);
            Assert.Equal(@"lib\net45\bar.dll", assemblies[2].Path);
            Assert.Equal(@"lib\net45\foo.dll", assemblies[3].Path);
            Assert.Equal(@"lib\sl30\one.dll", assemblies[4].Path);
            Assert.Equal(@"lib\sl30\two.dll", assemblies[5].Path);
        }
Esempio n. 12
0
        public void AssemblyReferencesIsFilteredCorrectlyWhenReferenceIsEmpty()
        {
            // Arrange
            var files = new IPackageFile[] {
                CreatePackageFile(@"lib\net40\one.dll"),
            };

            var references = new PackageReferenceSet[] {
            };

            var ms = GetPackageStream(files, references);

            var fileSystem = new MockFileSystem("x:\\");
            fileSystem.AddFile("pam.nupkg", ms);

            var expandedFileSystem = new MockFileSystem("y:\\");

            var ozp = new TestableOptimizedZipPackage(fileSystem, "pam.nupkg", expandedFileSystem);

            // Act
            var assemblies = ozp.AssemblyReferences.ToList();

            // Assert
            Assert.Equal(1, assemblies.Count);
            Assert.Equal(@"lib\net40\one.dll", assemblies[0].Path);
        }
 public EditablePackageReferenceSet(PackageReferenceSet packageReferenceSet)
 {
     _targetFramework = packageReferenceSet.TargetFramework;
     _references      = new ObservableCollection <string>(packageReferenceSet.References);
 }
Esempio n. 14
0
        private static List<ManifestReference> CreateReferences(PackageReferenceSet referenceSet)
        {
            if (referenceSet.References == null)
            {
                return new List<ManifestReference>();
            }

            return (from reference in referenceSet.References
                    select new ManifestReference { File = reference.SafeTrim() }).ToList();
        }
Esempio n. 15
0
 public AzurePackageReferenceSet(PackageReferenceSet referenceSet)
 {
     References    = referenceSet.References.ToList();
     FrameWorkName = referenceSet.TargetFramework.ToString();
 }
Esempio n. 16
0
        public void AssemblyReferencesIsFilteredCorrectlyWithOnlyNullTargetFramework()
        {
            // Arrange
            var files = new IPackageFile[] {
                CreatePackageFile(@"lib\net40\one.dll"),
                CreatePackageFile(@"lib\net40\two.dll"),

                CreatePackageFile(@"lib\sl30\one.dll"),
                CreatePackageFile(@"lib\sl30\two.dll"),

                CreatePackageFile(@"lib\net45\foo.dll"),
                CreatePackageFile(@"lib\net45\bar.dll")
            };

            var references = new PackageReferenceSet[] {
                new PackageReferenceSet(
                    null,
                    new [] { "two.dll", "bar.dll" }),
            };

            var ms = GetPackageStream(files, references);

            var fileSystem = new MockFileSystem("x:\\");
            fileSystem.AddFile("pam.nupkg", ms);

            var expandedFileSystem = new MockFileSystem("y:\\");

            var ozp = new TestableOptimizedZipPackage(fileSystem, "pam.nupkg", expandedFileSystem);

            // Act
            var assemblies = ozp.AssemblyReferences.OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(3, assemblies.Count);
            Assert.Equal(@"lib\net40\two.dll", assemblies[0].Path);
            Assert.Equal(@"lib\net45\bar.dll", assemblies[1].Path);
            Assert.Equal(@"lib\sl30\two.dll", assemblies[2].Path);
        }