public void RemoveGlobalProperties() { Project project = new Project(); ProjectPropertyElement propertyElement = project.Xml.AddProperty("p", "v0"); propertyElement.Condition = "'$(g)'==''"; project.SetGlobalProperty("g", "v1"); project.ReevaluateIfNecessary(); Assert.Equal(String.Empty, project.GetPropertyValue("p")); bool existed = project.RemoveGlobalProperty("g"); Assert.Equal(true, existed); Assert.Equal(true, project.IsDirty); project.ReevaluateIfNecessary(); Assert.Equal("v0", project.GetPropertyValue("p")); Assert.Equal(false, project.GlobalProperties.ContainsKey("g")); }
/// <param name="project">Uses GlobalProjectCollection if null.</param> /// <param name="name"></param> /// <returns>Returns true if the value of the global property was set.</returns> protected virtual bool removeGlobalProperty(Project project, string name) { if(project == null) { return ProjectCollection.GlobalProjectCollection.RemoveGlobalProperty(name); } return project.RemoveGlobalProperty(name); }
public void RemoveNonExistentGlobalProperties() { Project project = new Project(); bool existed = project.RemoveGlobalProperty("x"); Assert.Equal(false, existed); Assert.Equal(false, project.IsDirty); }
public void ProjectChangedEvent() { ProjectCollection collection = new ProjectCollection(); ProjectRootElement pre = null; Project project = null; bool dirtyRaised = false; collection.ProjectChanged += (sender, e) => { Assert.Same(collection, sender); Assert.Same(project, e.Project); dirtyRaised = true; }; Assert.False(dirtyRaised); pre = ProjectRootElement.Create(collection); project = new Project(pre, null, null, collection); // all these should still pass with disableMarkDirty set collection.DisableMarkDirty = true; project.DisableMarkDirty = true; dirtyRaised = false; pre.AppendChild(pre.CreatePropertyGroupElement()); Assert.False(dirtyRaised); // "Dirtying the XML directly should not result in a ProjectChanged event." // No events should be raised before we associate a filename with the PRE dirtyRaised = false; project.SetGlobalProperty("someGlobal", "someValue"); Assert.False(dirtyRaised); dirtyRaised = false; project.SetProperty("someProp", "someValue"); Assert.False(dirtyRaised); pre.FullPath = FileUtilities.GetTemporaryFile(); dirtyRaised = false; project.SetGlobalProperty("someGlobal", "someValue2"); Assert.True(dirtyRaised); dirtyRaised = false; project.RemoveGlobalProperty("someGlobal"); Assert.True(dirtyRaised); dirtyRaised = false; collection.SetGlobalProperty("somePCglobal", "someValue"); Assert.True(dirtyRaised); dirtyRaised = false; project.SetProperty("someProp", "someValue2"); Assert.True(dirtyRaised); }