From c2872cc9cc9944fb0da903b836cead02f5ca43e0 Mon Sep 17 00:00:00 2001 From: nosami Date: Thu, 29 Aug 2019 15:13:53 +0100 Subject: Add test --- main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs | 6 ++++++ .../ProjectFolderNodeBuilder.cs | 3 +-- .../MonoDevelop.Projects/ProjectTests.cs | 10 ++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) (limited to 'main') diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs index ebb1a3215e..c415bbc86c 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs @@ -4757,6 +4757,12 @@ namespace MonoDevelop.Projects } } + public bool PathExistsInProject (FilePath path) + { + string basePath = path.ToRelative (BaseDirectory); + return files.GetFile(path) != null || files.GetFilesInVirtualPath (basePath).Any (); + } + public event EventHandler ProjectItemAdded; public event EventHandler ProjectItemRemoved; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs index a4d7493962..6f1406df4a 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs @@ -383,8 +383,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad internal static bool PathExistsInProject (Project project, FilePath path) { - string basePath = path.ToRelative (project.BaseDirectory); - return project.Files.GetFile (path) != null || project.Files.GetFilesInVirtualPath (basePath).Any (); + return project.PathExistsInProject (path); } internal static bool ContainsDirectorySeparator (string name) diff --git a/main/tests/MonoDevelop.Core.Tests/MonoDevelop.Projects/ProjectTests.cs b/main/tests/MonoDevelop.Core.Tests/MonoDevelop.Projects/ProjectTests.cs index 36a177441f..316f241060 100644 --- a/main/tests/MonoDevelop.Core.Tests/MonoDevelop.Projects/ProjectTests.cs +++ b/main/tests/MonoDevelop.Core.Tests/MonoDevelop.Projects/ProjectTests.cs @@ -1275,6 +1275,16 @@ namespace MonoDevelop.Projects } } + [Test] + public void EmptyFolderExistsInProject() + { + // Test case for bug #970095 + var p = Services.ProjectService.CreateProject ("C#"); + p.AddDirectory ("Model"); + Assert.True(p.PathExistsInProject ("Model")); + p.Dispose (); + } + class TestGetReferencesProjectExtension : DotNetProjectExtension { protected internal override Task> OnGetReferences (ConfigurationSelector configuration, CancellationToken token) -- cgit v1.2.3