Skip to content

Commit da00afe

Browse files
committed
Fix output extension directive and add test
Fixes #142
1 parent 927d5f1 commit da00afe

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

Mono.TextTemplating.Tests/ProcessingTests.cs

+17
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
using System.CodeDom.Compiler;
2929
using System.IO;
3030
using System.Linq;
31+
using System.Reflection.Emit;
3132
using System.Threading.Tasks;
3233

3334
using Xunit;
@@ -117,6 +118,22 @@ public async Task SetLangVersionViaAdditionalArgsInProcess ()
117118
}
118119
#endif
119120

121+
[Fact]
122+
public async Task SetOutputExtension ()
123+
{
124+
string inputContent = "<#@ output extension=\".cfg\" #>";
125+
string inputFile = "hello.tt";
126+
string outputName = "hello.txt";
127+
128+
// this reproduces the calls made by dotnet-t4
129+
var gen = new TemplateGenerator ();
130+
var pt = gen.ParseTemplate (inputFile, inputContent);
131+
TemplateSettings settings = TemplatingEngine.GetSettings (gen, pt);
132+
(outputName, _) = await gen.ProcessTemplateAsync (pt, inputFile, inputContent, outputName, settings);
133+
134+
Assert.Equal ("hello.cfg", outputName);
135+
}
136+
120137
[Fact]
121138
public async Task ImportReferencesTest ()
122139
{

Mono.TextTemplating/Mono.TextTemplating/TemplateGenerator.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ public string PreprocessTemplate (
268268

269269
var outputContent = await Engine.ProcessTemplateAsync (pt, inputContent, settings, this, token).ConfigureAwait (false);
270270

271-
return (outputFileName, outputContent);
271+
return (OutputFile, outputContent);
272272
}
273273

274274
#region Virtual members

0 commit comments

Comments
 (0)