From 8a52aeb4abf10f97d4cb15f3c43cfb8319e36657 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sun, 13 Jan 2013 15:39:19 +0000 Subject: [PATCH] Update Text Templating addin for SharpDevelop 5. GAC references in text templates are currently not supported unless they are referenced by the project. --- SharpDevelop.Tests.sln | 22 ++++++++++++++++++ SharpDevelop.sln | 11 +++++++++ .../Project/Src/AddInAssemblyName.cs | 2 +- .../Project/Src/CompilerErrorTask.cs | 2 +- .../Src/ITextTemplatingCustomToolContext.cs | 2 +- .../Project/Src/TextTemplatingAddInTree.cs | 3 ++- .../TextTemplatingAssemblyParserService.cs | 8 ++++--- .../Src/TextTemplatingAssemblyPathResolver.cs | 3 ++- .../Src/TextTemplatingCustomToolContext.cs | 2 +- .../Src/TextTemplatingFilePreprocessor.cs | 3 +-- .../TextTemplatingReflectionProjectContent.cs | 9 ++------ .../Project/TextTemplating.csproj | 8 ++++++- .../FakeTextTemplatingCustomToolContext.cs | 6 ++--- .../Test/Helpers/MessageLoopHelper.cs | 19 +++++++++++++++ .../Test/Helpers/ProjectHelper.cs | 3 ++- .../Test/Helpers/TestableProject.cs | 7 ++++-- .../Test/Src/CompilerErrorTaskTests.cs | 14 +++++++++++ .../Test/Src/NamespaceHintTests.cs | 14 +++++++++++ ...TextTemplatingAssemblyPathResolverTests.cs | 18 +++++++++++++++ ...tTemplatingFileGeneratorCustomToolTests.cs | 14 +++++++++++ .../Src/TextTemplatingFileGeneratorTests.cs | 23 +++++++++++++++---- ...mplatingFilePreprocessorCustomToolTests.cs | 14 +++++++++++ .../Src/TextTemplatingPreprocessorTests.cs | 21 +++++++++++++---- ...TemplatingReflectionProjectContentTests.cs | 8 ++++--- .../Test/TextTemplating.Tests.csproj | 14 ++++++----- .../Misc/TextTemplating/TextTemplating.sln | 20 ++++++++-------- 26 files changed, 217 insertions(+), 53 deletions(-) create mode 100644 src/AddIns/Misc/TextTemplating/Test/Helpers/MessageLoopHelper.cs diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 0d6a23d328..d049421efc 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -111,6 +111,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "src\AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating.Tests", "src\AddIns\Misc\TextTemplating\Test\TextTemplating.Tests.csproj", "{5186325C-DD7F-4246-9BE7-3F384EFBF5A6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -565,6 +569,22 @@ Global {E2FD63DA-8478-4066-934C-DA82A852C83A}.Release|Any CPU.ActiveCfg = Release|Any CPU {E2FD63DA-8478-4066-934C-DA82A852C83A}.Release|x86.Build.0 = Release|Any CPU {E2FD63DA-8478-4066-934C-DA82A852C83A}.Release|x86.ActiveCfg = Release|Any CPU + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Debug|Any CPU.Build.0 = Debug|x86 + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Debug|Any CPU.ActiveCfg = Debug|x86 + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Debug|x86.Build.0 = Debug|x86 + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Debug|x86.ActiveCfg = Debug|x86 + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Release|Any CPU.Build.0 = Release|x86 + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Release|Any CPU.ActiveCfg = Release|x86 + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Release|x86.Build.0 = Release|x86 + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6}.Release|x86.ActiveCfg = Release|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|Any CPU.Build.0 = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|Any CPU.ActiveCfg = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|x86.Build.0 = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|x86.ActiveCfg = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.Build.0 = Release|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.ActiveCfg = Release|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.Build.0 = Release|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.ActiveCfg = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -615,6 +635,8 @@ Global {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {A569DCC1-C608-45FD-B770-4F79335EF154} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5186325C-DD7F-4246-9BE7-3F384EFBF5A6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} diff --git a/SharpDevelop.sln b/SharpDevelop.sln index 4c0c87a32a..c0f14d45a9 100644 --- a/SharpDevelop.sln +++ b/SharpDevelop.sln @@ -101,6 +101,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortSD4AddInToSD5", "samples\PortSD4AddInToSD5\PortSD4AddInToSD5.csproj", "{E2FD63DA-8478-4066-934C-DA82A852C83A}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating", "src\AddIns\Misc\TextTemplating\Project\TextTemplating.csproj", "{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -475,6 +477,14 @@ Global {E2FD63DA-8478-4066-934C-DA82A852C83A}.Release|Any CPU.ActiveCfg = Release|Any CPU {E2FD63DA-8478-4066-934C-DA82A852C83A}.Release|x86.Build.0 = Release|Any CPU {E2FD63DA-8478-4066-934C-DA82A852C83A}.Release|x86.ActiveCfg = Release|Any CPU + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|Any CPU.Build.0 = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|Any CPU.ActiveCfg = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|x86.Build.0 = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|x86.ActiveCfg = Debug|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.Build.0 = Release|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.ActiveCfg = Release|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.Build.0 = Release|x86 + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.ActiveCfg = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -519,6 +529,7 @@ Global {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {E2FD63DA-8478-4066-934C-DA82A852C83A} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {59A30AA6-D600-41AB-B7A1-9543469DBE36} {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {59A30AA6-D600-41AB-B7A1-9543469DBE36} {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/AddInAssemblyName.cs b/src/AddIns/Misc/TextTemplating/Project/Src/AddInAssemblyName.cs index 46ea3c69e8..78a1181e86 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/AddInAssemblyName.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/AddInAssemblyName.cs @@ -2,7 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using ICSharpCode.SharpDevelop.Dom; +using ICSharpCode.SharpDevelop.Parser; namespace ICSharpCode.TextTemplating { diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/CompilerErrorTask.cs b/src/AddIns/Misc/TextTemplating/Project/Src/CompilerErrorTask.cs index b17b642a0f..7e532b173d 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/CompilerErrorTask.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/CompilerErrorTask.cs @@ -8,7 +8,7 @@ using ICSharpCode.SharpDevelop; namespace ICSharpCode.TextTemplating { - public class CompilerErrorTask : Task + public class CompilerErrorTask : SDTask { public CompilerErrorTask(CompilerError error) : base( diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/ITextTemplatingCustomToolContext.cs b/src/AddIns/Misc/TextTemplating/Project/Src/ITextTemplatingCustomToolContext.cs index e85ab976a5..f38b65a0ff 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/ITextTemplatingCustomToolContext.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/ITextTemplatingCustomToolContext.cs @@ -12,7 +12,7 @@ namespace ICSharpCode.TextTemplating FileProjectItem EnsureOutputFileIsInProject(FileProjectItem baseItem, string outputFileName); void ClearTasksExceptCommentTasks(); - void AddTask(Task task); + void AddTask(SDTask task); void BringErrorsPadToFront(); void DebugLog(string message, Exception ex); diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAddInTree.cs b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAddInTree.cs index 7f7a1cd342..c65e361b6e 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAddInTree.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAddInTree.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using ICSharpCode.Core; +using ICSharpCode.SharpDevelop; namespace ICSharpCode.TextTemplating { @@ -11,7 +12,7 @@ namespace ICSharpCode.TextTemplating { public IEnumerable GetAddIns() { - foreach (AddIn addIn in AddInTree.AddIns) { + foreach (AddIn addIn in SD.AddInTree.AddIns) { yield return new TextTemplatingAddIn(addIn); } } diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyParserService.cs b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyParserService.cs index 9b7a7641dc..46a3ffdf64 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyParserService.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyParserService.cs @@ -2,8 +2,9 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.SharpDevelop; -using ICSharpCode.SharpDevelop.Dom; +using ICSharpCode.SharpDevelop.Parser; using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.TextTemplating @@ -12,8 +13,9 @@ namespace ICSharpCode.TextTemplating { public IReflectionProjectContent GetReflectionProjectContentForReference(ReferenceProjectItem item) { - IProjectContent projectContent = AssemblyParserService.GetProjectContentForReference(item); - return new TextTemplatingReflectionProjectContent(projectContent); + //IProjectContent projectContent = SD.AssemblyParserService.GetProjectContentForReference(item); + //return new TextTemplatingReflectionProjectContent(projectContent); + return null; } } } diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyPathResolver.cs b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyPathResolver.cs index c3147abc4c..ada50602ce 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyPathResolver.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyPathResolver.cs @@ -40,7 +40,8 @@ namespace ICSharpCode.TextTemplating string resolvedAssemblyFileName = ResolveAssemblyFromProject(assemblyReference); if (resolvedAssemblyFileName == null) { - resolvedAssemblyFileName = ResolveAssemblyFromGac(assemblyReference); + // TODO GAC assembly reference. + //resolvedAssemblyFileName = ResolveAssemblyFromGac(assemblyReference); } if (resolvedAssemblyFileName != null) { return resolvedAssemblyFileName; diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingCustomToolContext.cs b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingCustomToolContext.cs index c74bd35a01..64839e396b 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingCustomToolContext.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingCustomToolContext.cs @@ -29,7 +29,7 @@ namespace ICSharpCode.TextTemplating TaskService.ClearExceptCommentTasks(); } - public void AddTask(Task task) + public void AddTask(SDTask task) { TaskService.Add(task); } diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingFilePreprocessor.cs b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingFilePreprocessor.cs index 171e5473d2..9aa9439ee4 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingFilePreprocessor.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingFilePreprocessor.cs @@ -90,8 +90,7 @@ namespace ICSharpCode.TextTemplating { return TemplateFile .Project - .LanguageProperties - .CodeDomProvider + .CreateCodeDomProvider() .CreateValidIdentifier(className); } } diff --git a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingReflectionProjectContent.cs b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingReflectionProjectContent.cs index f91243828a..40bc2b1053 100644 --- a/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingReflectionProjectContent.cs +++ b/src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingReflectionProjectContent.cs @@ -2,21 +2,16 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using ICSharpCode.SharpDevelop.Dom; +using ICSharpCode.NRefactory.TypeSystem; namespace ICSharpCode.TextTemplating { public class TextTemplatingReflectionProjectContent : IReflectionProjectContent { public TextTemplatingReflectionProjectContent(IProjectContent projectContent) - : this(projectContent as ReflectionProjectContent) - { - } - - TextTemplatingReflectionProjectContent(ReflectionProjectContent projectContent) { if (projectContent != null) { - AssemblyLocation = projectContent.AssemblyLocation; + AssemblyLocation = projectContent.Location; } } diff --git a/src/AddIns/Misc/TextTemplating/Project/TextTemplating.csproj b/src/AddIns/Misc/TextTemplating/Project/TextTemplating.csproj index 23214a0e39..1f2741026c 100644 --- a/src/AddIns/Misc/TextTemplating/Project/TextTemplating.csproj +++ b/src/AddIns/Misc/TextTemplating/Project/TextTemplating.csproj @@ -7,12 +7,13 @@ Library ICSharpCode.TextTemplating TextTemplating - v4.0 + v4.5 False False 4 false ..\..\..\..\..\AddIns\Misc\TextTemplating\ + x86 @@ -118,6 +119,11 @@ + + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371} + ICSharpCode.NRefactory + False + {2748AD25-9C63-4E12-877B-4DCE96FBED54} ICSharpCode.SharpDevelop diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/FakeTextTemplatingCustomToolContext.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/FakeTextTemplatingCustomToolContext.cs index 3d226c4f49..63832b6403 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Helpers/FakeTextTemplatingCustomToolContext.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Helpers/FakeTextTemplatingCustomToolContext.cs @@ -21,9 +21,9 @@ namespace TextTemplating.Tests.Helpers public string NamePassedToSetLogicalCallContextData; public object DataPassedToSetLogicalCallContextData; - public List TasksAdded = new List(); + public List TasksAdded = new List(); - public Task FirstTaskAdded { + public SDTask FirstTaskAdded { get { return TasksAdded[0]; } } @@ -45,7 +45,7 @@ namespace TextTemplating.Tests.Helpers IsClearTasksExceptCommentTasksCalled = true; } - public void AddTask(Task task) + public void AddTask(SDTask task) { TasksAdded.Add(task); } diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/MessageLoopHelper.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/MessageLoopHelper.cs new file mode 100644 index 0000000000..9a20b0f8da --- /dev/null +++ b/src/AddIns/Misc/TextTemplating/Test/Helpers/MessageLoopHelper.cs @@ -0,0 +1,19 @@ +// 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.SharpDevelop; +using Rhino.Mocks; + +namespace TextTemplating.Tests.Helpers +{ + public static class MessageLoopHelper + { + public static void InitializeForUnitTests() + { + IMessageLoop messageLoop = MockRepository.GenerateStub(); + SD.Services.RemoveService(typeof(IMessageLoop)); + SD.Services.AddService(typeof(IMessageLoop), messageLoop); + } + } +} diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs index 5a24640348..cceb89b63b 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; @@ -13,7 +14,7 @@ namespace TextTemplating.Tests.Helpers { var info = new ProjectCreateInformation(); info.Solution = new Solution(new MockProjectChangeWatcher()); - info.OutputProjectFileName = @"d:\projects\MyProject\MyProject.csproj"; + info.OutputProjectFileName = FileName.Create(@"d:\projects\MyProject\MyProject.csproj"); info.ProjectName = "MyProject"; return new TestableProject(info); } diff --git a/src/AddIns/Misc/TextTemplating/Test/Helpers/TestableProject.cs b/src/AddIns/Misc/TextTemplating/Test/Helpers/TestableProject.cs index e919263d6a..285d8cb64e 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Helpers/TestableProject.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Helpers/TestableProject.cs @@ -2,9 +2,11 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.CodeDom.Compiler; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; +using Microsoft.CSharp; namespace TextTemplating.Tests.Helpers { @@ -33,8 +35,9 @@ namespace TextTemplating.Tests.Helpers set { rootNamespace = value; } } - public override LanguageProperties LanguageProperties { - get { return LanguageProperties.CSharp; } + public override CodeDomProvider CreateCodeDomProvider() + { + return new CSharpCodeProvider(); } } } diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/CompilerErrorTaskTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/CompilerErrorTaskTests.cs index 0d66338729..087a6a9d49 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/CompilerErrorTaskTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/CompilerErrorTaskTests.cs @@ -7,12 +7,26 @@ using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.TextTemplating; using NUnit.Framework; +using TextTemplating.Tests.Helpers; namespace TextTemplating.Tests { [TestFixture] public class CompilerErrorTaskTests { + [SetUp] + public void Init() + { + SD.InitializeForUnitTests(); + MessageLoopHelper.InitializeForUnitTests(); + } + + [TearDown] + public void TearDown() + { + SD.TearDownForUnitTests(); + } + [Test] public void FileName_CompilerErrorFileNameIsTestTxt_ReturnsTestTxt() { diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/NamespaceHintTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/NamespaceHintTests.cs index db69fa396b..46d72f5ea0 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/NamespaceHintTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/NamespaceHintTests.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Project; using ICSharpCode.TextTemplating; using NUnit.Framework; @@ -16,6 +17,19 @@ namespace TextTemplating.Tests IProject project; TestableFileProjectItem templateFile; + [SetUp] + public void Init() + { + SD.InitializeForUnitTests(); + MessageLoopHelper.InitializeForUnitTests(); + } + + [TearDown] + public void TearDown() + { + SD.TearDownForUnitTests(); + } + void CreateProjectTemplateFile() { templateFile = new TestableFileProjectItem("MyTemplate.tt"); diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingAssemblyPathResolverTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingAssemblyPathResolverTests.cs index 21c1767938..1f6d134f36 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingAssemblyPathResolverTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingAssemblyPathResolverTests.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project; using ICSharpCode.TextTemplating; @@ -18,6 +19,19 @@ namespace TextTemplating.Tests FakeAssemblyParserService fakeAssemblyParserService; FakeTextTemplatingPathResolver fakePathResolver; + [SetUp] + public void Init() + { + SD.InitializeForUnitTests(); + MessageLoopHelper.InitializeForUnitTests(); + } + + [TearDown] + public void TearDown() + { + SD.TearDownForUnitTests(); + } + void CreateResolver() { project = ProjectHelper.CreateProject(); @@ -97,6 +111,7 @@ namespace TextTemplating.Tests } [Test] + [Ignore("TODO GAC assembly resolving")] public void ResolvePath_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReturnsFullPathToAssemblyFoundFromAssemblyParserService() { CreateResolver(); @@ -109,6 +124,7 @@ namespace TextTemplating.Tests } [Test] + [Ignore("TODO GAC assembly resolving")] public void ResolvePath_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReferenceItemPassedToAssemblyParserServiceUsesProject() { CreateResolver(); @@ -119,6 +135,7 @@ namespace TextTemplating.Tests } [Test] + [Ignore("TODO GAC assembly resolving")] public void ResolvePath_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReferenceItemPassedToAssemblyParserServiceIsReference() { CreateResolver(); @@ -129,6 +146,7 @@ namespace TextTemplating.Tests } [Test] + [Ignore("TODO GAC assembly resolving")] public void ResolvePath_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReferenceItemIncludePassedToAssemblyParserServiceIsAssemblyNameToResolvePath() { CreateResolver(); diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorCustomToolTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorCustomToolTests.cs index 110dd93804..d6cc05ba1b 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorCustomToolTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorCustomToolTests.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; using TextTemplating.Tests.Helpers; @@ -13,6 +14,19 @@ namespace TextTemplating.Tests { TestableTextTemplatingFileGeneratorCustomTool customTool; + [SetUp] + public void Init() + { + SD.InitializeForUnitTests(); + MessageLoopHelper.InitializeForUnitTests(); + } + + [TearDown] + public void TearDown() + { + SD.TearDownForUnitTests(); + } + void CreateCustomTool() { customTool = new TestableTextTemplatingFileGeneratorCustomTool(); diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorTests.cs index 059750e53c..5abb8bd5e0 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorTests.cs @@ -19,6 +19,19 @@ namespace TextTemplating.Tests FakeTextTemplatingHost templatingHost; FakeTextTemplatingCustomToolContext customToolContext; + [SetUp] + public void Init() + { + SD.InitializeForUnitTests(); + MessageLoopHelper.InitializeForUnitTests(); + } + + [TearDown] + public void TearDown() + { + SD.TearDownForUnitTests(); + } + TestableFileProjectItem ProcessTemplate(string fileName) { var projectFile = CreateGenerator(fileName); @@ -98,7 +111,7 @@ namespace TextTemplating.Tests templatingHost.ErrorsCollection.Add(new CompilerError()); generator.ProcessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; Assert.AreEqual(TaskType.Error, task.TaskType); } @@ -112,7 +125,7 @@ namespace TextTemplating.Tests templatingHost.ErrorsCollection.Add(error); generator.ProcessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; Assert.AreEqual("error text", task.Description); } @@ -125,7 +138,7 @@ namespace TextTemplating.Tests templatingHost.ExceptionToThrowWhenProcessTemplateCalled = ex; generator.ProcessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; Assert.AreEqual("invalid operation error", task.Description); } @@ -138,7 +151,7 @@ namespace TextTemplating.Tests templatingHost.ExceptionToThrowWhenProcessTemplateCalled = ex; generator.ProcessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; var expectedFileName = new FileName(@"d:\a.tt"); Assert.AreEqual(expectedFileName, task.FileName); @@ -208,7 +221,7 @@ namespace TextTemplating.Tests templatingHost.ExceptionToThrowWhenProcessTemplateCalled = ex; generator.ProcessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; Assert.AreEqual("error", task.Description); } diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFilePreprocessorCustomToolTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFilePreprocessorCustomToolTests.cs index 773a051dd7..f22412340e 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFilePreprocessorCustomToolTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFilePreprocessorCustomToolTests.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Project; using NUnit.Framework; using TextTemplating.Tests.Helpers; @@ -13,6 +14,19 @@ namespace TextTemplating.Tests { TestableTextTemplatingFilePreprocessorCustomTool customTool; + [SetUp] + public void Init() + { + SD.InitializeForUnitTests(); + MessageLoopHelper.InitializeForUnitTests(); + } + + [TearDown] + public void TearDown() + { + SD.TearDownForUnitTests(); + } + void CreateCustomTool() { customTool = new TestableTextTemplatingFilePreprocessorCustomTool(); diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingPreprocessorTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingPreprocessorTests.cs index f7bdb035e6..a056604d6a 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingPreprocessorTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingPreprocessorTests.cs @@ -21,6 +21,19 @@ namespace TextTemplating.Tests FakeTextTemplatingHost templatingHost; FakeTextTemplatingCustomToolContext customToolContext; + [SetUp] + public void Init() + { + SD.InitializeForUnitTests(); + MessageLoopHelper.InitializeForUnitTests(); + } + + [TearDown] + public void TearDown() + { + SD.TearDownForUnitTests(); + } + TestableFileProjectItem PreprocessTemplate(string fileName) { var projectFile = CreatePreprocessor(fileName); @@ -160,7 +173,7 @@ namespace TextTemplating.Tests templatingHost.ErrorsCollection.Add(new CompilerError()); preprocessor.PreprocessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; Assert.AreEqual(TaskType.Error, task.TaskType); } @@ -174,7 +187,7 @@ namespace TextTemplating.Tests templatingHost.ErrorsCollection.Add(error); preprocessor.PreprocessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; Assert.AreEqual("error text", task.Description); } @@ -197,7 +210,7 @@ namespace TextTemplating.Tests templatingHost.ExceptionToThrowWhenPreprocessTemplateCalled = ex; preprocessor.PreprocessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; Assert.AreEqual("error", task.Description); } @@ -210,7 +223,7 @@ namespace TextTemplating.Tests templatingHost.ExceptionToThrowWhenPreprocessTemplateCalled = ex; preprocessor.PreprocessTemplate(); - Task task = customToolContext.FirstTaskAdded; + SDTask task = customToolContext.FirstTaskAdded; var expectedFileName = new FileName(@"d:\a.tt"); Assert.AreEqual(expectedFileName, task.FileName); diff --git a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingReflectionProjectContentTests.cs b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingReflectionProjectContentTests.cs index 4ce156e1a4..0637c8c850 100644 --- a/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingReflectionProjectContentTests.cs +++ b/src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingReflectionProjectContentTests.cs @@ -2,21 +2,23 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.TextTemplating; using NUnit.Framework; namespace TextTemplating.Tests { [TestFixture] + [Ignore("TODO assembly location")] public class TextTemplatingReflectionProjectContentTests { [Test] public void AssemblyLocation_NullProjectContentPassedToConstructor_ReturnsNull() { - var projectContent = new TextTemplatingReflectionProjectContent(null); - string location = projectContent.AssemblyLocation; + //IProjectContent projectContent = new TextTemplatingReflectionProjectContent(null); + //string location = projectContent.AssemblyLocation; - Assert.IsNull(location); + //Assert.IsNull(location); } } } diff --git a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj index 8062f000f6..92e7b5d747 100644 --- a/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj +++ b/src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj @@ -7,13 +7,14 @@ Library TextTemplating.Tests TextTemplating.Tests - v4.0 + v4.5 Properties False False 4 false ..\..\..\..\..\bin\UnitTests\ + x86 @@ -78,6 +79,7 @@ + @@ -110,6 +112,11 @@ + + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371} + ICSharpCode.NRefactory + False + {2748AD25-9C63-4E12-877B-4DCE96FBED54} ICSharpCode.SharpDevelop @@ -118,11 +125,6 @@ {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} ICSharpCode.Core - - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} - ICSharpCode.SharpDevelop.Dom - False - {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF} TextTemplating diff --git a/src/AddIns/Misc/TextTemplating/TextTemplating.sln b/src/AddIns/Misc/TextTemplating/TextTemplating.sln index 86b919b3c8..0947486247 100644 --- a/src/AddIns/Misc/TextTemplating/TextTemplating.sln +++ b/src/AddIns/Misc/TextTemplating/TextTemplating.sln @@ -12,8 +12,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentati EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextTemplating.Tests", "Test\TextTemplating.Tests.csproj", "{5186325C-DD7F-4246-9BE7-3F384EFBF5A6}" @@ -22,6 +20,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "..\..\..\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.NRefactory", "..\..\..\Libraries\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj", "{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x86 = Debug|x86 @@ -66,14 +66,6 @@ Global {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|x86.ActiveCfg = Release|Any CPU {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.Build.0 = Release|Any CPU {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.ActiveCfg = Release|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Debug|x86.Build.0 = Debug|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Debug|x86.ActiveCfg = Debug|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Release|x86.Build.0 = Release|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Release|x86.ActiveCfg = Release|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Release|Any CPU.Build.0 = Release|Any CPU - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {8035765F-D51F-4A0C-A746-2FD100E19419}.Debug|x86.Build.0 = Debug|Any CPU {8035765F-D51F-4A0C-A746-2FD100E19419}.Debug|x86.ActiveCfg = Debug|Any CPU {8035765F-D51F-4A0C-A746-2FD100E19419}.Debug|Any CPU.Build.0 = Debug|Any CPU @@ -110,5 +102,13 @@ Global {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Debug|Any CPU.ActiveCfg = Debug|x86 {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.Build.0 = Release|x86 {B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.ActiveCfg = Release|x86 + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|x86.Build.0 = Debug|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|x86.ActiveCfg = Debug|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|x86.Build.0 = Release|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|x86.ActiveCfg = Release|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.Build.0 = Release|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection EndGlobal