diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/AspNet.Mvc.csproj b/src/AddIns/BackendBindings/AspNet.Mvc/Project/AspNet.Mvc.csproj
index a63deddf95..0fdedfc86f 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/AspNet.Mvc.csproj
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/AspNet.Mvc.csproj
@@ -69,6 +69,7 @@
+
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcControllerFolderSelectedConditionEvaluator.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcControllerFolderSelectedConditionEvaluator.cs
index a306180bb8..39001d8192 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcControllerFolderSelectedConditionEvaluator.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcControllerFolderSelectedConditionEvaluator.cs
@@ -2,17 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
-using ICSharpCode.Core;
-using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.AspNet.Mvc
{
- public class IsMvcControllerFolderSelectedConditionEvaluator : IConditionEvaluator
+ public class IsMvcControllerFolderSelectedConditionEvaluator : IsMvcFolderSelectedConditionEvaluator
{
- public bool IsValid(object owner, Condition condition)
- {
- var directoryNode = owner as DirectoryNode;
- return directoryNode != null;
- }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcFolderSelectedConditionEvaluator.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcFolderSelectedConditionEvaluator.cs
new file mode 100644
index 0000000000..104e401c7a
--- /dev/null
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcFolderSelectedConditionEvaluator.cs
@@ -0,0 +1,26 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
+
+using System;
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop.Project;
+
+namespace ICSharpCode.AspNet.Mvc
+{
+ public abstract class IsMvcFolderSelectedConditionEvaluator : IConditionEvaluator
+ {
+ public bool IsValid(object owner, Condition condition)
+ {
+ if (IsProjectNode(owner)) {
+ return false;
+ }
+ var directoryNode = owner as DirectoryNode;
+ return directoryNode != null;
+ }
+
+ bool IsProjectNode(object owner)
+ {
+ return owner is ProjectNode;
+ }
+ }
+}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcViewFolderSelectedConditionEvaluator.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcViewFolderSelectedConditionEvaluator.cs
index fc24a325cd..488f57d223 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcViewFolderSelectedConditionEvaluator.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcViewFolderSelectedConditionEvaluator.cs
@@ -2,17 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
-using ICSharpCode.Core;
-using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.AspNet.Mvc
{
- public class IsMvcViewFolderSelectedConditionEvaluator : IConditionEvaluator
+ public class IsMvcViewFolderSelectedConditionEvaluator : IsMvcFolderSelectedConditionEvaluator
{
- public bool IsValid(object owner, Condition condition)
- {
- var directoryNode = owner as DirectoryNode;
- return directoryNode != null;
- }
}
}
\ No newline at end of file
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcControllerFolderSelectedConditionEvaluatorTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcControllerFolderSelectedConditionEvaluatorTests.cs
index e0f4a26368..197a2c4c9e 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcControllerFolderSelectedConditionEvaluatorTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcControllerFolderSelectedConditionEvaluatorTests.cs
@@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
+using AspNet.Mvc.Tests.Helpers;
using ICSharpCode.AspNet.Mvc;
using ICSharpCode.SharpDevelop.Project;
using NUnit.Framework;
@@ -30,6 +31,12 @@ namespace AspNet.Mvc.Tests
return node;
}
+ ProjectNode CreateProjectNode()
+ {
+ var project = TestableProject.CreateProject();
+ return new ProjectNode(project);
+ }
+
[Test]
public void IsValid_NullOwnerIsPassed_ReturnsFalse()
{
@@ -46,5 +53,14 @@ namespace AspNet.Mvc.Tests
Assert.IsTrue(valid);
}
+
+ [Test]
+ public void IsValid_ProjectNodePassed_ReturnsFalse()
+ {
+ ProjectNode owner = CreateProjectNode();
+ bool valid = IsValid(owner);
+
+ Assert.IsFalse(valid);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcViewFolderSelectedConditionEvaluatorTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcViewFolderSelectedConditionEvaluatorTests.cs
index 3313866632..dbc55c67cf 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcViewFolderSelectedConditionEvaluatorTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcViewFolderSelectedConditionEvaluatorTests.cs
@@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
+using AspNet.Mvc.Tests.Helpers;
using ICSharpCode.AspNet.Mvc;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
@@ -31,6 +32,12 @@ namespace AspNet.Mvc.Tests
return node;
}
+ ProjectNode CreateProjectNode()
+ {
+ var project = TestableProject.CreateProject();
+ return new ProjectNode(project);
+ }
+
[Test]
public void IsValid_NullOwnerIsPassed_ReturnsFalse()
{
@@ -47,5 +54,14 @@ namespace AspNet.Mvc.Tests
Assert.IsTrue(valid);
}
+
+ [Test]
+ public void IsValid_ProjectNodePassed_ReturnsFalse()
+ {
+ ProjectNode owner = CreateProjectNode();
+ bool valid = IsValid(owner);
+
+ Assert.IsFalse(valid);
+ }
}
}
\ No newline at end of file