Ejemplo n.º 1
0
            public void Should_Replace_Template_Tokens_In_Nuspec_Without_Namespaces()
            {
                // Given
                var fixture = new NuGetPackerFixture();

                fixture.WithNuSpecXml(Resources.Nuspec_NoMetadataValues_WithoutNamespaces);

                fixture.Settings.Id          = "The ID";
                fixture.Settings.Version     = "The version";
                fixture.Settings.Title       = "The title";
                fixture.Settings.Authors     = new[] { "Author #1", "Author #2" };
                fixture.Settings.Owners      = new[] { "Owner #1", "Owner #2" };
                fixture.Settings.Description = "The description";
                fixture.Settings.Summary     = "The summary";
                fixture.Settings.LicenseUrl  = new Uri("https://license.com");
                fixture.Settings.ProjectUrl  = new Uri("https://project.com");
                fixture.Settings.IconUrl     = new Uri("https://icon.com");
                fixture.Settings.RequireLicenseAcceptance = true;
                fixture.Settings.Copyright    = "The copyright";
                fixture.Settings.ReleaseNotes = new[] { "Line #1", "Line #2", "Line #3" };
                fixture.Settings.Tags         = new[] { "Tag1", "Tag2", "Tag3" };

                // When
                var result = fixture.Pack();

                // Then
                Assert.Equal(
                    Resources.Nuspec_Metadata_WithoutNamespaces.NormalizeLineEndings(),
                    result.NormalizeLineEndings());
            }
Ejemplo n.º 2
0
            public void Should_Add_Metadata_Element_To_Nuspec_If_Missing()
            {
                // Given
                var fixture = new NuGetPackerFixture();

                fixture.WithNuSpecXml(Resources.Nuspec_NoMetadataElement);

                fixture.Settings.Id          = "The ID";
                fixture.Settings.Version     = "The version";
                fixture.Settings.Title       = "The title";
                fixture.Settings.Authors     = new[] { "Author #1", "Author #2" };
                fixture.Settings.Owners      = new[] { "Owner #1", "Owner #2" };
                fixture.Settings.Description = "The description";
                fixture.Settings.Summary     = "The summary";
                fixture.Settings.LicenseUrl  = new Uri("https://license.com");
                fixture.Settings.ProjectUrl  = new Uri("https://project.com");
                fixture.Settings.IconUrl     = new Uri("https://icon.com");
                fixture.Settings.RequireLicenseAcceptance = true;
                fixture.Settings.Copyright    = "The copyright";
                fixture.Settings.ReleaseNotes = new[] { "Line #1", "Line #2", "Line #3" };
                fixture.Settings.Tags         = new[] { "Tag1", "Tag2", "Tag3" };

                // When
                fixture.Pack();

                // Then
                Assert.Equal(
                    Resources.Nuspec_Metadata.NormalizeLineEndings(),
                    fixture.FileSystem.GetTextContent("/Working/existing.temp.nuspec").NormalizeLineEndings());
            }
Ejemplo n.º 3
0
        public void Should_Replace_Template_Tokens_In_Nuspec_With_Files_Without_Namespaces()
        {
            // Given
            var fixture = new NuGetPackerFixture();

            fixture.WithNuSpecXml(Resources.Nuspec_NoMetadataValues_WithoutNamespaces);

            fixture.Settings.Id          = "The ID";
            fixture.Settings.Version     = "The version";
            fixture.Settings.Title       = "The title";
            fixture.Settings.Authors     = new[] { "Author #1", "Author #2" };
            fixture.Settings.Owners      = new[] { "Owner #1", "Owner #2" };
            fixture.Settings.Description = "The description";
            fixture.Settings.Summary     = "The summary";
            fixture.Settings.LicenseUrl  = new Uri("https://license.com");
            fixture.Settings.ProjectUrl  = new Uri("https://project.com");
            fixture.Settings.IconUrl     = new Uri("https://icon.com");
            fixture.Settings.RequireLicenseAcceptance = true;
            fixture.Settings.Copyright    = "The copyright";
            fixture.Settings.ReleaseNotes = new[] { "Line #1", "Line #2", "Line #3" };
            fixture.Settings.Tags         = new[] { "Tag1", "Tag2", "Tag3" };
            fixture.Settings.Files        = new[]
            {
                new NuSpecContent {
                    Source = "Cake.Core.dll", Target = "lib/net45"
                },
                new NuSpecContent {
                    Source = "Cake.Core.xml", Target = "lib/net45"
                },
                new NuSpecContent {
                    Source = "Cake.Core.pdb", Target = "lib/net45"
                },
                new NuSpecContent {
                    Source = "LICENSE"
                }
            };

            // When
            fixture.Pack();

            // Then
            Assert.Equal(
                Resources.Nuspec_Metadata_WithoutNamespaces.NormalizeLineEndings(),
                fixture.FileSystem.GetTextContent("/Working/existing.temp.nuspec").NormalizeLineEndings());
        }