[Adapdev-commits] Adapdev/src/Adapdev.CodeGen.Tests CodeDOMSample.cs,NONE,1.1 CodeGeneratorTest.cs,N
Status: Beta
Brought to you by:
intesar66
From: Sean M. <int...@us...> - 2006-03-29 05:30:56
|
Update of /cvsroot/adapdev/Adapdev/src/Adapdev.CodeGen.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30391/src/Adapdev.CodeGen.Tests Modified Files: Adapdev.CodeGen.Tests.csproj Added Files: CodeDOMSample.cs CodeGeneratorTest.cs NVelocityCodeTemplateTest.cs NVelocityTemplateTest.cs directive.properties nvelocity.properties template.t Log Message: --- NEW FILE: template.t --- Today's date is $date --- NEW FILE: directive.properties --- directive.1=NVelocity.Runtime.Directive.Foreach directive.2=NVelocity.Runtime.Directive.Include directive.3=NVelocity.Runtime.Directive.Parse directive.4=NVelocity.Runtime.Directive.Macro directive.5=NVelocity.Runtime.Directive.Literal --- NEW FILE: NVelocityTemplateTest.cs --- using System; using System.IO; using NUnit.Framework; using Adapdev.CodeGen; namespace Adapdev.CodeGen.Tests { [TestFixture] public class NVelocityTemplateTest { [Test] public void DynamicTemplate() { NVelocityTemplate template = new NVelocityTemplate(); template.AddContext("date",DateTime.Now); template.SetTemplate("Today's date is $date"); string text = template.GetOutput(); Console.WriteLine(text); Assert.IsTrue(text.IndexOf("$date") == -1); Assert.IsTrue(text.Length > 0, "No content was returned."); } [Test] public void FileTemplate() { NVelocityTemplate template = new NVelocityTemplate(); template.AddContext("date",DateTime.Now); template.SetFileTemplate("template.t"); string text = template.GetOutput(); Console.WriteLine(text); Assert.IsTrue(text.IndexOf("$date") == -1); Assert.IsTrue(text.Length > 0, "No content was returned."); } } } --- NEW FILE: nvelocity.properties --- #---------------------------------------------------------------------------- # These are the default properties for the # NVelocity Runtime. These values are used when # Runtime.init() is called, and when Runtime.init(properties) # fails to find the specificed properties file. #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- # R U N T I M E L O G #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- # default LogSystem to use: default: SimpleLog4NetLogSystem #---------------------------------------------------------------------------- runtime.log.logsystem.class = NVelocity.Runtime.Log.SimpleLog4NetLogSystem #--------------------------------------------------------------------------- # This is the location of the NVelocity Runtime log. #---------------------------------------------------------------------------- runtime.log = nvelocity.log #---------------------------------------------------------------------------- # This controls if Runtime.error(), info() and warn() messages include the # whole stack trace. The last property controls whether invalid references # are logged. #---------------------------------------------------------------------------- runtime.log.error.stacktrace = false runtime.log.warn.stacktrace = false runtime.log.info.stacktrace = false runtime.log.invalid.reference = true #---------------------------------------------------------------------------- # Configuration for the Log4NetLogSystem. # You must define the runtime.log.logsystem.class property to be: # NVelocity.Runtime.Log.Log4NetLogSystem # # You must also include log4net dll files into your classpath. They are # included with the Velocity distribution in the build/lib directory. # # There are several different options that you can configure. # Uncomment the ones that you want and also define their settings. #---------------------------------------------------------------------------- #runtime.log.logsystem.log4net.pattern=%d - %m%n #runtime.log.logsystem.log4net.file.size=100000 #runtime.log.logsystem.log4net.file.backups=1 #runtime.log.logsystem.log4net.syslogd.host=my.syslog.server.com #runtime.log.logsystem.log4net.syslogd.facility=LOG_DAEMON #runtime.log.logsystem.log4net.remote.host=my.remote.server.com #runtime.log.logsystem.log4net.remote.port=1099 #runtime.log.logsystem.log4net.email.server=localhost #runtime.log.logsystem.log4net.email.from=root@localhost #runtime.log.logsystem.log4net.email.to=root@localhost #runtime.log.logsystem.log4net.email.subject=NVelocity Error Report #runtime.log.logsystem.log4net.email.buffer.size=512 #---------------------------------------------------------------------------- # T E M P L A T E E N C O D I N G #---------------------------------------------------------------------------- input.encoding=ISO-8859-1 output.encoding=ISO-8859-1 #---------------------------------------------------------------------------- # F O R E A C H P R O P E R T I E S #---------------------------------------------------------------------------- # These properties control how the counter is accessed in the #foreach # directive. By default the reference $velocityCount will be available # in the body of the #foreach directive. The default starting value # for this reference is 1. #---------------------------------------------------------------------------- directive.foreach.counter.name = velocityCount directive.foreach.counter.initial.value = 1 #---------------------------------------------------------------------------- # I N C L U D E P R O P E R T I E S #---------------------------------------------------------------------------- # These are the properties that governed the way #include'd content # is governed. #---------------------------------------------------------------------------- directive.include.output.errormsg.start = <!-- include error : directive.include.output.errormsg.end = see error log --> #---------------------------------------------------------------------------- # P A R S E P R O P E R T I E S #---------------------------------------------------------------------------- directive.parse.max.depth = 10 #---------------------------------------------------------------------------- # T E M P L A T E L O A D E R S #---------------------------------------------------------------------------- # # #---------------------------------------------------------------------------- resource.loader = file file.resource.loader.description = NVelocity File Resource Loader file.resource.loader.class = NVelocity.Runtime.Resource.Loader.FileResourceLoader file.resource.loader.path = . file.resource.loader.cache = false file.resource.loader.modificationCheckInterval = 2 #---------------------------------------------------------------------------- # VELOCIMACRO PROPERTIES #---------------------------------------------------------------------------- # global : name of default global library. It is expected to be in the regular # template path. You may remove it (either the file or this property) if # you wish with no harm. #---------------------------------------------------------------------------- velocimacro.library = VM_global_library.vm velocimacro.permissions.allow.inline = true velocimacro.permissions.allow.inline.to.replace.global = false velocimacro.permissions.allow.inline.local.scope = false velocimacro.context.localscope = false #---------------------------------------------------------------------------- # INTERPOLATION #---------------------------------------------------------------------------- # turn off and on interpolation of references and directives in string # literals. ON by default :) #---------------------------------------------------------------------------- runtime.interpolate.string.literals = true #---------------------------------------------------------------------------- # RESOURCE MANAGEMENT #---------------------------------------------------------------------------- # Allows alternative ResourceManager and ResourceCache implementations # to be plugged in. #---------------------------------------------------------------------------- resource.manager.class = NVelocity.Runtime.Resource.ResourceManagerImpl resource.manager.cache.class = NVelocity.Runtime.Resource.ResourceCacheImpl --- NEW FILE: CodeDOMSample.cs --- using System; using System.CodeDom; using System.Reflection; namespace Adapdev.CodeGen.Tests { /// <summary> /// Summary description for CodeDOMSample. /// </summary> public class CodeDOMSample : ICodeDomTemplate { public CodeDOMSample() { // // TODO: Add constructor logic here // } #region ICodeDomTemplate Members public void ProcessCustomCode() { // TODO: Add CodeDOMSample.ProcessCustomCode implementation } public bool Overwrite { get { // TODO: Add CodeDOMSample.Overwrite getter implementation return false; } set { // TODO: Add CodeDOMSample.Overwrite setter implementation } } public CodeCompileUnit GetCodeCompileUnit() { CodeCompileUnit compileUnit = new CodeCompileUnit(); CodeNamespace namespace1 = new CodeNamespace("TestNamespace"); compileUnit.Namespaces.Add( namespace1 ); return compileUnit; } public string Namespace { get { // TODO: Add CodeDOMSample.Namespace getter implementation return null; } set { // TODO: Add CodeDOMSample.Namespace setter implementation } } public string FileName { get { // TODO: Add CodeDOMSample.FileName getter implementation return null; } set { // TODO: Add CodeDOMSample.FileName setter implementation } } public string OutputDirectory { get { // TODO: Add CodeDOMSample.OutputDirectory getter implementation return null; } set { // TODO: Add CodeDOMSample.OutputDirectory setter implementation } } public string ClassName { get { // TODO: Add CodeDOMSample.ClassName getter implementation return null; } set { // TODO: Add CodeDOMSample.ClassName setter implementation } } #endregion } } Index: Adapdev.CodeGen.Tests.csproj =================================================================== RCS file: /cvsroot/adapdev/Adapdev/src/Adapdev.CodeGen.Tests/Adapdev.CodeGen.Tests.csproj,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Adapdev.CodeGen.Tests.csproj 16 Nov 2005 07:01:47 -0000 1.7 --- Adapdev.CodeGen.Tests.csproj 29 Mar 2006 05:30:53 -0000 1.8 *************** *** 17,21 **** DelaySign = "false" OutputType = "Library" ! PreBuildEvent = "" PostBuildEvent = "" RootNamespace = "Adapdev.CodeGen.Tests" --- 17,21 ---- DelaySign = "false" OutputType = "Library" ! PreBuildEvent = "copy $(ProjectDir)*.t $(TargetDir)
copy $(ProjectDir)*.properties $(TargetDir)" PostBuildEvent = "" RootNamespace = "Adapdev.CodeGen.Tests" *************** *** 105,108 **** --- 105,140 ---- BuildAction = "Compile" /> + <File + RelPath = "CodeDOMSample.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "CodeGeneratorTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "directive.properties" + BuildAction = "None" + /> + <File + RelPath = "nvelocity.properties" + BuildAction = "None" + /> + <File + RelPath = "NVelocityCodeTemplateTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "NVelocityTemplateTest.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "template.t" + BuildAction = "None" + /> </Include> </Files> --- NEW FILE: CodeGeneratorTest.cs --- using System; using NUnit.Framework; using Adapdev.CodeGen; namespace Adapdev.CodeGen.Tests { [TestFixture] public class CodeGeneratorTest { [Test] public void CPPInMemory() { string output = this.InMemory(LanguageType.CPP); Console.WriteLine(output); Assert.IsTrue(output.Length > 0, "No code was generated"); Assert.IsTrue(output.IndexOf("namespace") >= 0); } [Test] public void CSharpInMemory() { string output = this.InMemory(LanguageType.CSHARP); Console.WriteLine(output); Assert.IsTrue(output.Length > 0, "No code was generated"); Assert.IsTrue(output.IndexOf("namespace") >= 0); } [Test] public void JavaInMemory() { string output = this.InMemory(LanguageType.JAVA); Console.WriteLine(output); Assert.IsTrue(output.Length > 0, "No code was generated"); Assert.IsTrue(output.IndexOf("namespace") >= 0); } [Test] public void JScriptInMemory() { string output = this.InMemory(LanguageType.JSCRIPT); Console.WriteLine(output); Assert.IsTrue(output.Length > 0, "No code was generated"); Assert.IsTrue(output.IndexOf("package") >= 0); } [Test] public void JSharpInMemory() { string output = this.InMemory(LanguageType.JSHARP); Console.WriteLine(output); Assert.IsTrue(output.Length > 0, "No code was generated"); Assert.IsTrue(output.IndexOf("package") >= 0); } [Test] public void VBNETInMemory() { string output = this.InMemory(LanguageType.VBNET); Console.WriteLine(output); Assert.IsTrue(output.Length > 0, "No code was generated"); Assert.IsTrue(output.IndexOf("Namespace") >= 0); } private string InMemory(LanguageType type) { CodeGenerator c = new CodeGenerator(AppDomain.CurrentDomain.BaseDirectory); return c.ProcessICodeDomTemplate(new CodeDOMSample(), type); } } } --- NEW FILE: NVelocityCodeTemplateTest.cs --- using System; using NUnit.Framework; using Adapdev.CodeGen; namespace Adapdev.CodeGen.Tests { [TestFixture] public class NVelocityCodeTemplateTest { [Test] public void FileTemplate() { INVelocityTemplate template = new NVelocityCodeTemplate("test","cs","template.t",AppDomain.CurrentDomain.BaseDirectory); template.AddContext("date",DateTime.Now); string text = template.GetOutput(); Assert.IsTrue(text.IndexOf("$date") == -1); Assert.IsTrue(text.Length > 0, "No content was returned."); } } } |