public void TryGetConfiguration_SucceedsWithAllPreRequisites() { // Arrange var expectedLanguageVersion = RazorLanguageVersion.Version_1_0; var expectedConfigurationName = "Razor-Test"; var expectedExtension1Name = "Extension1"; var expectedExtension2Name = "Extension2"; var expectedRazorConfigurationItem = new TestMSBuildItem("RazorConfiguration") { Include = expectedConfigurationName, }; expectedRazorConfigurationItem.TestMetadata.SetValue("Extensions", "Extension1;Extension2"); var projectItems = new IMSBuildItemEvaluated[] { new TestMSBuildItem("RazorConfiguration") { Include = "UnconfiguredRazorConfiguration", }, new TestMSBuildItem("RazorExtension") { Include = "UnconfiguredExtensionName", }, new TestMSBuildItem("RazorExtension") { Include = expectedExtension1Name, }, new TestMSBuildItem("RazorExtension") { Include = expectedExtension2Name, }, expectedRazorConfigurationItem, }; var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorDefaultConfiguration", expectedConfigurationName); projectProperties.SetValue("RazorLangVersion", "1.0"); // Act var result = DefaultRazorProjectHost.TryGetConfiguration(projectProperties, projectItems, out var configuration); // Assert Assert.True(result); Assert.Equal(expectedLanguageVersion, configuration.LanguageVersion); Assert.Equal(expectedConfigurationName, configuration.ConfigurationName); Assert.Collection( configuration.Extensions, extension => Assert.Equal(expectedExtension1Name, extension.ExtensionName), extension => Assert.Equal(expectedExtension2Name, extension.ExtensionName)); }
public void TryGetConfiguration_FailsIfNoConfigurationItems() { // Arrange var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorDefaultConfiguration", "Razor-13.37"); projectProperties.SetValue("RazorLangVersion", "1.0"); var projectItems = new IMSBuildItemEvaluated[0]; // Act var result = DefaultRazorProjectHost.TryGetConfiguration(projectProperties, projectItems, out var configuration); // Assert Assert.False(result); Assert.Null(configuration); }
public override void ApplyChanges() { if (widget.PackOnBuild != packOnBuild) { propertyGroup.SetValue("PackOnBuild", widget.PackOnBuild, false); } }
protected override void OnPrepareForEvaluation(MSBuildProject project) { MSBuildPropertyGroup globalGroup = project.GetGlobalPropertyGroup(); var provider = new MSBuildGlobalPropertyProvider(); foreach (KeyValuePair <string, string> property in provider.GetGlobalProperties()) { globalGroup.SetValue(property.Key, property.Value, property.Value); } }
void SetProperty(MSBuildPropertyGroup propertyGroup, string name, bool value) { if (value) { propertyGroup.SetValue(name, value); } else { propertyGroup.RemoveProperty(name); } }
void SetProperty(MSBuildPropertyGroup propertyGroup, string name, string value) { if (string.IsNullOrEmpty(value)) { propertyGroup.RemoveProperty(name); } else { propertyGroup.SetValue(name, value); } }
public void TryGetConfiguration_SucceedsWithoutConfiguredExtensionNames() { // Arrange var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorDefaultConfiguration", "Razor-13.37"); projectProperties.SetValue("RazorLangVersion", "1.0"); var projectItems = new IMSBuildItemEvaluated[] { new TestMSBuildItem("RazorConfiguration") { Include = "Razor-13.37", }, }; // Act var result = DefaultRazorProjectHost.TryGetConfiguration(projectProperties, projectItems, out var configuration); // Assert Assert.True(result); Assert.Empty(configuration.Extensions); }
public void TryGetLanguageVersion_SucceedsWithValidLanguageVersion() { // Arrange var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorLangVersion", "1.0"); // Act var result = DefaultRazorProjectHost.TryGetLanguageVersion(projectProperties, out var languageVersion); // Assert Assert.True(result); Assert.Same(RazorLanguageVersion.Version_1_0, languageVersion); }
public void TryGetLanguageVersion_FailsIfEmptyLanguageVersion() { // Arrange var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorLangVersion", string.Empty); // Act var result = DefaultRazorProjectHost.TryGetLanguageVersion(projectProperties, out var languageVersion); // Assert Assert.False(result); Assert.Null(languageVersion); }
public void TryGetDefaultConfiguration_FailsIfEmptyConfiguration() { // Arrange var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorDefaultConfiguration", string.Empty); // Act var result = DefaultRazorProjectHost.TryGetDefaultConfiguration(projectProperties, out var defaultConfiguration); // Assert Assert.False(result); Assert.Null(defaultConfiguration); }
public void TryGetLanguageVersion_SucceedsWithUnknownLanguageVersion_DefaultsToLatest() { // Arrange var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorLangVersion", "13.37"); // Act var result = DefaultRazorProjectHost.TryGetLanguageVersion(projectProperties, out var languageVersion); // Assert Assert.True(result); Assert.Same(RazorLanguageVersion.Latest, languageVersion); }
public void TryGetDefaultConfiguration_SucceedsWithValidConfiguration() { // Arrange var expectedConfiguration = "Razor-13.37"; var projectProperties = new MSBuildPropertyGroup(); projectProperties.SetValue("RazorDefaultConfiguration", expectedConfiguration); // Act var result = DefaultRazorProjectHost.TryGetDefaultConfiguration(projectProperties, out var defaultConfiguration); // Assert Assert.True(result); Assert.Equal(expectedConfiguration, defaultConfiguration); }
MSBuildProperty AddProperty(MSBuildPropertyGroup propertyGroup, string name, string unevaluatedValue) { propertyGroup.SetValue(name, unevaluatedValue); return(propertyGroup.GetProperty(name)); }
void AddPropertyWithNotEmptyCondition(MSBuildPropertyGroup propertyGroup, string name, string unevaluatedValue) { string condition = String.Format("'$({0})' == ''", name); propertyGroup.SetValue(name, unevaluatedValue, condition: condition); }
void SetProperty (MSBuildPropertyGroup propertyGroup, string name, bool value) { if (value) propertyGroup.SetValue (name, value); else propertyGroup.RemoveProperty (name); }
void SetProperty (MSBuildPropertyGroup propertyGroup, string name, string value) { if (string.IsNullOrEmpty (value)) propertyGroup.RemoveProperty (name); else propertyGroup.SetValue (name, value); }