Browse Source

Update Text Templating addin for SharpDevelop 5.

GAC references in text templates are currently not supported
unless they are referenced by the project.
newNRvisualizers
Matt Ward 13 years ago
parent
commit
8a52aeb4ab
  1. 22
      SharpDevelop.Tests.sln
  2. 11
      SharpDevelop.sln
  3. 2
      src/AddIns/Misc/TextTemplating/Project/Src/AddInAssemblyName.cs
  4. 2
      src/AddIns/Misc/TextTemplating/Project/Src/CompilerErrorTask.cs
  5. 2
      src/AddIns/Misc/TextTemplating/Project/Src/ITextTemplatingCustomToolContext.cs
  6. 3
      src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAddInTree.cs
  7. 8
      src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyParserService.cs
  8. 3
      src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyPathResolver.cs
  9. 2
      src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingCustomToolContext.cs
  10. 3
      src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingFilePreprocessor.cs
  11. 9
      src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingReflectionProjectContent.cs
  12. 8
      src/AddIns/Misc/TextTemplating/Project/TextTemplating.csproj
  13. 6
      src/AddIns/Misc/TextTemplating/Test/Helpers/FakeTextTemplatingCustomToolContext.cs
  14. 19
      src/AddIns/Misc/TextTemplating/Test/Helpers/MessageLoopHelper.cs
  15. 3
      src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs
  16. 7
      src/AddIns/Misc/TextTemplating/Test/Helpers/TestableProject.cs
  17. 14
      src/AddIns/Misc/TextTemplating/Test/Src/CompilerErrorTaskTests.cs
  18. 14
      src/AddIns/Misc/TextTemplating/Test/Src/NamespaceHintTests.cs
  19. 18
      src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingAssemblyPathResolverTests.cs
  20. 14
      src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorCustomToolTests.cs
  21. 23
      src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorTests.cs
  22. 14
      src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFilePreprocessorCustomToolTests.cs
  23. 21
      src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingPreprocessorTests.cs
  24. 8
      src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingReflectionProjectContentTests.cs
  25. 14
      src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj
  26. 20
      src/AddIns/Misc/TextTemplating/TextTemplating.sln

22
SharpDevelop.Tests.sln

@ -111,6 +111,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", @@ -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 @@ -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 @@ -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}

11
SharpDevelop.sln

@ -101,6 +101,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc @@ -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 @@ -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 @@ -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}

2
src/AddIns/Misc/TextTemplating/Project/Src/AddInAssemblyName.cs

@ -2,7 +2,7 @@ @@ -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
{

2
src/AddIns/Misc/TextTemplating/Project/Src/CompilerErrorTask.cs

@ -8,7 +8,7 @@ using ICSharpCode.SharpDevelop; @@ -8,7 +8,7 @@ using ICSharpCode.SharpDevelop;
namespace ICSharpCode.TextTemplating
{
public class CompilerErrorTask : Task
public class CompilerErrorTask : SDTask
{
public CompilerErrorTask(CompilerError error)
: base(

2
src/AddIns/Misc/TextTemplating/Project/Src/ITextTemplatingCustomToolContext.cs

@ -12,7 +12,7 @@ namespace ICSharpCode.TextTemplating @@ -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);

3
src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAddInTree.cs

@ -4,6 +4,7 @@ @@ -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 @@ -11,7 +12,7 @@ namespace ICSharpCode.TextTemplating
{
public IEnumerable<IAddIn> GetAddIns()
{
foreach (AddIn addIn in AddInTree.AddIns) {
foreach (AddIn addIn in SD.AddInTree.AddIns) {
yield return new TextTemplatingAddIn(addIn);
}
}

8
src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyParserService.cs

@ -2,8 +2,9 @@ @@ -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 @@ -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;
}
}
}

3
src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingAssemblyPathResolver.cs

@ -40,7 +40,8 @@ namespace ICSharpCode.TextTemplating @@ -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;

2
src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingCustomToolContext.cs

@ -29,7 +29,7 @@ namespace ICSharpCode.TextTemplating @@ -29,7 +29,7 @@ namespace ICSharpCode.TextTemplating
TaskService.ClearExceptCommentTasks();
}
public void AddTask(Task task)
public void AddTask(SDTask task)
{
TaskService.Add(task);
}

3
src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingFilePreprocessor.cs

@ -90,8 +90,7 @@ namespace ICSharpCode.TextTemplating @@ -90,8 +90,7 @@ namespace ICSharpCode.TextTemplating
{
return TemplateFile
.Project
.LanguageProperties
.CodeDomProvider
.CreateCodeDomProvider()
.CreateValidIdentifier(className);
}
}

9
src/AddIns/Misc/TextTemplating/Project/Src/TextTemplatingReflectionProjectContent.cs

@ -2,21 +2,16 @@ @@ -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;
}
}

8
src/AddIns/Misc/TextTemplating/Project/TextTemplating.csproj

@ -7,12 +7,13 @@ @@ -7,12 +7,13 @@
<OutputType>Library</OutputType>
<RootNamespace>ICSharpCode.TextTemplating</RootNamespace>
<AssemblyName>TextTemplating</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<OutputPath>..\..\..\..\..\AddIns\Misc\TextTemplating\</OutputPath>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'x86' ">
<PlatformTarget>x86</PlatformTarget>
@ -118,6 +119,11 @@ @@ -118,6 +119,11 @@
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Libraries\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj">
<Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
<Name>ICSharpCode.NRefactory</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>

6
src/AddIns/Misc/TextTemplating/Test/Helpers/FakeTextTemplatingCustomToolContext.cs

@ -21,9 +21,9 @@ namespace TextTemplating.Tests.Helpers @@ -21,9 +21,9 @@ namespace TextTemplating.Tests.Helpers
public string NamePassedToSetLogicalCallContextData;
public object DataPassedToSetLogicalCallContextData;
public List<Task> TasksAdded = new List<Task>();
public List<SDTask> TasksAdded = new List<SDTask>();
public Task FirstTaskAdded {
public SDTask FirstTaskAdded {
get { return TasksAdded[0]; }
}
@ -45,7 +45,7 @@ namespace TextTemplating.Tests.Helpers @@ -45,7 +45,7 @@ namespace TextTemplating.Tests.Helpers
IsClearTasksExceptCommentTasksCalled = true;
}
public void AddTask(Task task)
public void AddTask(SDTask task)
{
TasksAdded.Add(task);
}

19
src/AddIns/Misc/TextTemplating/Test/Helpers/MessageLoopHelper.cs

@ -0,0 +1,19 @@ @@ -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<IMessageLoop>();
SD.Services.RemoveService(typeof(IMessageLoop));
SD.Services.AddService(typeof(IMessageLoop), messageLoop);
}
}
}

3
src/AddIns/Misc/TextTemplating/Test/Helpers/ProjectHelper.cs

@ -2,6 +2,7 @@ @@ -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 @@ -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);
}

7
src/AddIns/Misc/TextTemplating/Test/Helpers/TestableProject.cs

@ -2,9 +2,11 @@ @@ -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 @@ -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();
}
}
}

14
src/AddIns/Misc/TextTemplating/Test/Src/CompilerErrorTaskTests.cs

@ -7,12 +7,26 @@ using ICSharpCode.Core; @@ -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()
{

14
src/AddIns/Misc/TextTemplating/Test/Src/NamespaceHintTests.cs

@ -2,6 +2,7 @@ @@ -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 @@ -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");

18
src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingAssemblyPathResolverTests.cs

@ -2,6 +2,7 @@ @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -129,6 +146,7 @@ namespace TextTemplating.Tests
}
[Test]
[Ignore("TODO GAC assembly resolving")]
public void ResolvePath_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReferenceItemIncludePassedToAssemblyParserServiceIsAssemblyNameToResolvePath()
{
CreateResolver();

14
src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorCustomToolTests.cs

@ -2,6 +2,7 @@ @@ -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 @@ -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();

23
src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFileGeneratorTests.cs

@ -19,6 +19,19 @@ namespace TextTemplating.Tests @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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);
}

14
src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingFilePreprocessorCustomToolTests.cs

@ -2,6 +2,7 @@ @@ -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 @@ -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();

21
src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingPreprocessorTests.cs

@ -21,6 +21,19 @@ namespace TextTemplating.Tests @@ -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 @@ -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 @@ -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 @@ -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 @@ -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);

8
src/AddIns/Misc/TextTemplating/Test/Src/TextTemplatingReflectionProjectContentTests.cs

@ -2,21 +2,23 @@ @@ -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);
}
}
}

14
src/AddIns/Misc/TextTemplating/Test/TextTemplating.Tests.csproj

@ -7,13 +7,14 @@ @@ -7,13 +7,14 @@
<OutputType>Library</OutputType>
<RootNamespace>TextTemplating.Tests</RootNamespace>
<AssemblyName>TextTemplating.Tests</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<OutputPath>..\..\..\..\..\bin\UnitTests\</OutputPath>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'x86' ">
<PlatformTarget>x86</PlatformTarget>
@ -78,6 +79,7 @@ @@ -78,6 +79,7 @@
<Compile Include="Helpers\FakeTextTemplatingPathResolver.cs" />
<Compile Include="Helpers\FakeTextTemplatingStringParser.cs" />
<Compile Include="Helpers\FakeTextTemplatingVariables.cs" />
<Compile Include="Helpers\MessageLoopHelper.cs" />
<Compile Include="Helpers\ProjectHelper.cs" />
<Compile Include="Helpers\TestableFileProjectItem.cs" />
<Compile Include="Helpers\TestableProject.cs" />
@ -110,6 +112,11 @@ @@ -110,6 +112,11 @@
<Folder Include="Helpers" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Libraries\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj">
<Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
<Name>ICSharpCode.NRefactory</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>
@ -118,11 +125,6 @@ @@ -118,11 +125,6 @@
<Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project>
<Name>ICSharpCode.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\Project\TextTemplating.csproj">
<Project>{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}</Project>
<Name>TextTemplating</Name>

20
src/AddIns/Misc/TextTemplating/TextTemplating.sln

@ -12,8 +12,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentati @@ -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", @@ -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 @@ -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 @@ -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

Loading…
Cancel
Save