diff --git a/src/Main/Base/Project/Src/Services/NavigationService/NavigationService.cs b/src/Main/Base/Project/Src/Services/NavigationService/NavigationService.cs index 70f27caf42..fb4513d96b 100644 --- a/src/Main/Base/Project/Src/Services/NavigationService/NavigationService.cs +++ b/src/Main/Base/Project/Src/Services/NavigationService/NavigationService.cs @@ -125,7 +125,8 @@ namespace ICSharpCode.Core private static void LogInternal(INavigationPoint p) { if (p == null - || p.FileName==null) { // HACK: why/how do we get here? + || p.FileName==null // HACK: why/how do we get here? + || p.FileName==String.Empty) { // HACK: why/how do we get here? return; } if (currentNode==null) { diff --git a/src/Main/Base/Test/Services_Navigation/NavigationServiceTestFixture.cs b/src/Main/Base/Test/Services_Navigation/NavigationServiceTestFixture.cs index 5d5558f643..398298240b 100644 --- a/src/Main/Base/Test/Services_Navigation/NavigationServiceTestFixture.cs +++ b/src/Main/Base/Test/Services_Navigation/NavigationServiceTestFixture.cs @@ -572,6 +572,22 @@ namespace NavigationServiceTests Assert.IsTrue(NavigationService.CanNavigateForwards); } + [Test] + /// + /// Addresses SD2-939: + /// Code Navigate Back dropdown first menu has a blank filename + /// + public void IgnoreBlankFilenamesTest() + { + Assert.AreEqual(0, NavigationService.Count); + + INavigationPoint testPoint = new TestNavigationPoint(String.Empty); + Assert.AreEqual(String.Empty, testPoint.FileName); + + NavigationService.Log(testPoint); + Assert.AreEqual(0, NavigationService.Count); + } + #region setup / tear down [SetUp]