public void ProjectFactoryInitializesPropertiesForPreprocessor() { // arrange const string inputSpec = @"<?xml version=""1.0""?> <package> <metadata> <id>$id$</id> <version>$version$</version> <description>$description$</description> <authors>$author$</authors> <copyright>$copyright$</copyright> <licenseUrl>http://nuget.codeplex.com/license</licenseUrl> <projectUrl>http://nuget.codeplex.com</projectUrl> <tags>nuget</tags> </metadata> </package>"; var metadata = new ManifestMetadata { Id = "ProjectFactoryTest", Version = "2.0.30619.9000", Title = "NuGet.Test", Description = "", Copyright = "\x00a9 Outercurve Foundation. All rights reserved.", Authors = "Outercurve Foundation", }; var projectMock = new Mock <Project>(); var factory = new ProjectFactory(projectMock.Object); // act var author = factory.InitializeProperties(metadata); var actual = Preprocessor.Process(inputSpec.AsStream(), factory, false); // assert Assert.Equal("Outercurve Foundation", author); const string expected = @"<?xml version=""1.0""?> <package> <metadata> <id>ProjectFactoryTest</id> <version>2.0.30619.9000</version> <description></description> <authors>Outercurve Foundation</authors> <copyright>© Outercurve Foundation. All rights reserved.</copyright> <licenseUrl>http://nuget.codeplex.com/license</licenseUrl> <projectUrl>http://nuget.codeplex.com</projectUrl> <tags>nuget</tags> </metadata> </package>"; Assert.Equal(expected, actual); }
public void ProjectFactoryInitializesPropertiesForPreprocessor() { // arrange const string inputSpec = @"<?xml version=""1.0""?> <package> <metadata> <id>$id$</id> <version>$version$</version> <description>$description$</description> <authors>$author$</authors> <copyright>$copyright$</copyright> <licenseUrl>https://github.com/NuGet/NuGet.Client/blob/master/LICENSE.txt</licenseUrl> <projectUrl>https://github.com/NuGet/NuGet.Client</projectUrl> <tags>nuget</tags> </metadata> </package>"; var metadata = new ManifestMetadata { Id = "ProjectFactoryTest", Version = NuGetVersion.Parse("2.0.30619.9000"), Title = "NuGet.Test", Description = "", Copyright = "\x00a9 Outercurve. All rights reserved.", Authors = new[] { "Outercurve Foundation" }, }; var projectMock = new Mock <MockProject>(); var msbuildDirectory = NuGet.CommandLine.MsBuildUtility.GetMsBuildDirectory("4.0", console: null); var factory = new ProjectFactory(msbuildDirectory, projectMock.Object); // act var author = factory.InitializeProperties(metadata); var actual = NuGet.Common.Preprocessor.Process(inputSpec.AsStream(), propName => factory.GetPropertyValue(propName)); // assert Assert.Equal("Outercurve Foundation", author); var xdoc = XDocument.Load(new StringReader(actual)); Assert.Equal(metadata.Id, xdoc.XPathSelectElement("/package/metadata/id").Value); Assert.Equal(metadata.Version.ToString(), xdoc.XPathSelectElement("/package/metadata/version").Value); Assert.Equal(metadata.Description, xdoc.XPathSelectElement("/package/metadata/description").Value); Assert.Equal(string.Join(",", metadata.Authors), xdoc.XPathSelectElement("/package/metadata/authors").Value); Assert.Equal(metadata.Copyright, xdoc.XPathSelectElement("/package/metadata/copyright").Value); }