Example #1
0
        public TemplateOptions()
        {
            Usings     = new Set <string>(new[] { "System", "System.IO", "System.Web", "NHaml", "NHaml.Utils", "System.Collections.Generic" });
            References = new Set <string>(new[]
            {
                typeof(TemplateEngine).Assembly.Location,         // NHaml
                typeof(INotifyPropertyChanged).Assembly.Location, // System
                typeof(HttpUtility).Assembly.Location             // System.Web
            });
            AutoClosingTags         = new Set <string>(new[] { "META", "IMG", "LINK", "BR", "HR", "INPUT" });
            ReferencedTypeHandles   = new List <RuntimeTypeHandle>();
            MarkupRules             = new List <MarkupRule>();
            _indentSize             = 2;
            _templateBaseType       = typeof(Template);
            _templateCompiler       = new CSharp3TemplateCompiler();
            TemplateContentProvider = new FileTemplateContentProvider();

            AddRule(new EofMarkupRule());
            AddRule(new MetaMarkupRule());
            AddRule(new DocTypeMarkupRule());
            AddRule(new TagMarkupRule());
            AddRule(new ClassMarkupRule());
            AddRule(new IdMarkupRule());
            AddRule(new EvalMarkupRule());
            AddRule(new EncodedEvalMarkupRule());
            AddRule(new SilentEvalMarkupRule());
            AddRule(new PreambleMarkupRule());
            AddRule(new CommentMarkupRule());
            AddRule(new EscapeMarkupRule());
            AddRule(new PartialMarkupRule());
            AddRule(new NotEncodedEvalMarkupRule());
        }
Example #2
0
        public void GetTemplateEngine_AdditionalUsingAndReferencedAssemblies_ContainsExtraUsingStatement()
        {
            var viewSource      = ViewSourceBuilder.Create("= new StringBuilder(\"Default\")");
            var contentProvider = new FileTemplateContentProvider();
            var importsList     = new List <string> {
                "System.Text"
            };
            var referencedAssembliesList = new List <string>();

            var templateEngine  = XmlConfigurator.GetTemplateEngine(contentProvider, importsList, referencedAssembliesList);
            var templateFactory = templateEngine.GetCompiledTemplate(viewSource, typeof(Template));
            var template        = templateFactory.CreateTemplate();
            var textWriter      = new StringWriter();

            template.Render(textWriter);
            Assert.That(textWriter.ToString(), Is.StringMatching("Default"));
        }