diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IMvcProject.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IMvcProject.cs index 01c7ab4ded..c8b3ee96fe 100644 --- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IMvcProject.cs +++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IMvcProject.cs @@ -15,6 +15,7 @@ namespace ICSharpCode.AspNet.Mvc string OutputAssemblyFullPath { get; } void Save(); + bool IsVisualBasic(); MvcTextTemplateLanguage GetTemplateLanguage(); IEnumerable GetModelClasses(); diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcClass.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcClass.cs index 1b335522ba..9a58af58fe 100644 --- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcClass.cs +++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcClass.cs @@ -82,7 +82,7 @@ namespace ICSharpCode.AspNet.Mvc bool IsVisualBasicClassFromMyNamespace() { - if (project.GetTemplateLanguage().IsVisualBasic()) { + if (project.IsVisualBasic()) { return FullName.Contains(".My."); } return false; diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcProject.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcProject.cs index 0a22a60478..a8dacfd12c 100644 --- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcProject.cs +++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcProject.cs @@ -24,6 +24,11 @@ namespace ICSharpCode.AspNet.Mvc public IProject Project { get; private set; } + public bool IsVisualBasic() + { + return GetTemplateLanguage().IsVisualBasic(); + } + public string RootNamespace { get { return Project.RootNamespace; } } diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcTextTemplateLanguageConverter.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcTextTemplateLanguageConverter.cs index 0541f1c5b2..cd84fe0d8b 100644 --- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcTextTemplateLanguageConverter.cs +++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcTextTemplateLanguageConverter.cs @@ -7,13 +7,15 @@ namespace ICSharpCode.AspNet.Mvc { public static class MvcTextTemplateLanguageConverter { + public static readonly string VisualBasicProjectLanguage = "VBNet"; + /// /// Converts from an IProject.Language string to an MvcTemplateLanguage. Only C# and VB.NET languages /// are supported. /// public static MvcTextTemplateLanguage Convert(string language) { - if (language == "VBNet") { + if (language == VisualBasicProjectLanguage) { return MvcTextTemplateLanguage.VisualBasic; } return MvcTextTemplateLanguage.CSharp; diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Helpers/FakeMvcProject.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Helpers/FakeMvcProject.cs index 58cfb43908..1ad9301e0a 100644 --- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Helpers/FakeMvcProject.cs +++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Helpers/FakeMvcProject.cs @@ -38,6 +38,11 @@ namespace AspNet.Mvc.Tests.Helpers TemplateLanguageToReturnFromGetTemplateLanguage = MvcTextTemplateLanguage.VisualBasic; } + public bool IsVisualBasic() + { + return TemplateLanguageToReturnFromGetTemplateLanguage == MvcTextTemplateLanguage.VisualBasic; + } + public MvcTextTemplateLanguage GetTemplateLanguage() { return TemplateLanguageToReturnFromGetTemplateLanguage; diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/MvcProjectTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/MvcProjectTests.cs index 25d013df86..69e10c664c 100644 --- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/MvcProjectTests.cs +++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/MvcProjectTests.cs @@ -268,5 +268,27 @@ namespace AspNet.Mvc.Tests Assert.AreEqual(expectedAssemblyPath, assemblyPath); } + + [Test] + public void IsVisualBasic_ProjectIsVisualBasic_ReturnsTrue() + { + CreateProject(); + testableProject.SetLanguage(MvcTextTemplateLanguageConverter.VisualBasicProjectLanguage); + + bool result = project.IsVisualBasic(); + + Assert.IsTrue(result); + } + + [Test] + public void IsVisualBasic_ProjectIsCSharp_ReturnsFalse() + { + CreateProject(); + testableProject.SetLanguage("C#"); + + bool result = project.IsVisualBasic(); + + Assert.IsFalse(result); + } } }