コード例 #1
0
        public void FluentTemplateServiceConfiguration_CanSetActivator_UsingActivator()
        {
            var mock = new Mock <IActivator>();

            var config = new FluentTemplateServiceConfiguration(c => c.ActivateUsing(mock.Object));

            Assert.That(config.Activator == mock.Object);
        }
コード例 #2
0
        public void FluentTemplateServiceConfiguration_CanSetActivator_UsingActivator()
        {
            var mock = new Mock<IActivator>();

            var config = new FluentTemplateServiceConfiguration(c => c.ActivateUsing(mock.Object));

            Assert.That(config.Activator == mock.Object);
        }
コード例 #3
0
        public void FluentTemplateServiceConfiguration_CanSetCompilerServiceFactory()
        {
            var mock = new Mock <ICompilerServiceFactory>();

            var config = new FluentTemplateServiceConfiguration(c => c.CompileUsing(mock.Object));

            Assert.That(config.CompilerServiceFactory == mock.Object);
        }
コード例 #4
0
        public void FluentTemplateServiceConfiguration_CanSetEncodedStringFactory()
        {
            var mock = new Mock <IEncodedStringFactory>();

            var config = new FluentTemplateServiceConfiguration(c => c.EncodeUsing(mock.Object));

            Assert.That(config.EncodedStringFactory == mock.Object);
        }
コード例 #5
0
        public void FluentTemplateServiceConfigutation_CanSetActivator_UsingDelegate()
        {
            Func <InstanceContext, ITemplate> activator = i => null;

            var config            = new FluentTemplateServiceConfiguration(c => c.ActivateUsing(activator));
            var delegateActivator = (DelegateActivator)config.Activator;

            Assert.That(delegateActivator.Activator == activator);
        }
コード例 #6
0
        public RazorTemplateEngine(PipelineContext context, Configuration.Template template, IReader templateReader)
        {
            _context        = context;
            _template       = template;
            _templateReader = templateReader;
            var config = new FluentTemplateServiceConfiguration(
                c => c.WithEncoding(_template.ContentType == "html" ? Encoding.Html : Encoding.Raw)
                .WithCodeLanguage(Language.CSharp)
                );

            _service = RazorEngineService.Create(config);
        }
コード例 #7
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithSpecificCodeLanguage()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.WithCodeLanguage(Language.VisualBasic));

            using (var service = new TemplateService(config))
            {
                const string template = "@Code Dim name = \"Matt\" End Code\n@name";
                const string expected = "\nMatt";

                string result = service.Parse(template, null, null, null);

                Assert.That(result == expected, "Result does not match expected: " + result);
            }
        }
コード例 #8
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithAdditionalNamespaces()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.IncludeNamespaces("System.IO"));

            using (var service = new TemplateService(config))
            {
                const string template = @"@Directory.GetFiles(Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Personal)), ""*.*"").Length";

                int    expected = Directory.GetFiles(Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Personal)), "*.*").Length;
                string result   = service.Parse(template, null, null, null);

                Assert.AreEqual(expected.ToString(), result);
            }
        }
コード例 #9
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithAdditionalNamespaces()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.IncludeNamespaces("System.IO"));

            using (var service = new TemplateService(config))
            {
                const string template = @"@Directory.GetFiles(Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Personal)), ""*.*"").Length";

                int expected = Directory.GetFiles(Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Personal)), "*.*").Length;
                string result = service.Parse(template, null, null, null);

                Assert.AreEqual(expected.ToString(), result);
            }
        }
コード例 #10
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithAdditionalNamespaces()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.IncludeNamespaces("System.IO"));

            using (var service = new TemplateService(config))
            {
                const string template = "@Directory.GetFiles(\"C:\\\\\", \"*.*\").Length";

                int    expected = Directory.GetFiles(@"C:\", "*.*").Length;
                string result   = service.Parse(template, null, null, null);

                Assert.That(expected == int.Parse(result));
            }
        }
コード例 #11
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithSpecificCodeLanguage()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.WithCodeLanguage(Language.VisualBasic));

            using (var service = RazorEngineService.Create(config))
            {
                const string template = "@Code Dim name As String = \"Matt\" End Code\n@name";
                const string expected = "\nMatt";

                string result = service.RunCompile(templateSource: template, name: "template");

                Assert.That(result == expected, "Result does not match expected: " + result);
            }
        }
コード例 #12
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithSpecificCodeLanguage()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.WithCodeLanguage(Language.VisualBasic));

            using (var service = new TemplateService(config))
            {
                const string template = "@Code Dim name = \"Matt\" End Code\n@name";
                const string expected = "\nMatt";

                string result = service.Parse(template, null, null, null);

                Assert.That(result == expected, "Result does not match expected: " + result);
            }
        }
コード例 #13
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithAdditionalNamespaces()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.IncludeNamespaces("System.IO"));

            using (var service = new TemplateService(config))
            {
                const string template = "@Directory.GetFiles(\"C:\\\\\", \"*.*\").Length";

                int expected = Directory.GetFiles(@"C:\", "*.*").Length;
                string result = service.Parse(template, null, null, null);

                Assert.That(expected == int.Parse(result));
            }
        }
コード例 #14
0
        public RazorEngineViewRenderer(
            ITemplateManager templateManager,
            IViewFileReader viewFileReader,
            IActivator activator
            )
        {
            _viewFileReader = viewFileReader;
            var config = new FluentTemplateServiceConfiguration(x => x
                                                                .ManageUsing(templateManager)
                                                                .ActivateUsing(activator)
                                                                //.IncludeNamespaces() - could add some default namespaces here if need be
                                                                );

            _razorEngine     = RazorEngineService.Create(config);
            _templateManager = templateManager;
        }
コード例 #15
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithSpecificEncoding()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.WithEncoding(Encoding.Raw));

            using (var service = new TemplateService(config))
            {
                const string template = "<h1>Hello @Model.String</h1>";
                const string expected = "<h1>Hello Matt & World</h1>";

                var model = new { String = "Matt & World" };
                string result = service.Parse(template, model, null, null);

                Assert.That(result == expected, "Result does not match expected: " + result);
            }
        }
コード例 #16
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithSpecificEncoding()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.WithEncoding(Encoding.Raw));

            using (var service = new TemplateService(config))
            {
                const string template = "<h1>Hello @Model.String</h1>";
                const string expected = "<h1>Hello Matt & World</h1>";

                var    model  = new { String = "Matt & World" };
                string result = service.Parse(template, model, null, null);

                Assert.That(result == expected, "Result does not match expected: " + result);
            }
        }
コード例 #17
0
ファイル: TflProcess.cs プロジェクト: mindis/Transformalize
        private void RegisterRazor(ILogger logger)
        {
            if (TemplateContentType == "html")
            {
                return;
            }

            if (!Templates.Any() && !GetAllTransforms().Any(t => t.Method == "template" || t.Method == "razor"))
            {
                return;
            }

            var config          = new FluentTemplateServiceConfiguration(c => c.WithEncoding(Encoding.Raw));
            var templateService = new TemplateService(config);

            logger.Debug("Switching RazorEngine content type to raw.");
            Razor.SetTemplateService(templateService);
        }
コード例 #18
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithAdditionalNamespaces()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.IncludeNamespaces("System.IO"));

            using (var service = RazorEngineService.Create(config))
                using (var writer = new StringWriter())
                {
                    const string template = @"@Directory.GetFiles(Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Personal)), ""*.*"").Length";

                    int expected = Directory.GetFiles(Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Personal)), "*.*").Length;

                    var key    = service.GetKey("testTemplate");
                    var source = new LoadedTemplateSource(template);
                    service.AddTemplate(key, source);
                    service.Compile(key);
                    service.Run(key, writer);
                    var result = writer.ToString();
                    Assert.AreEqual(expected.ToString(), result);
                }
        }
コード例 #19
0
        private string RenderContent()
        {
            if (Contents.Content.Equals(string.Empty))
            {
                _process.Logger.Warn("Template {0} is empty.", Name);
                return(string.Empty);
            }

            string renderedContent;

            if (Engine.Equals("velocity"))
            {
                var context = new VelocityContext();
                context.Put("Process", _process);
                foreach (var parameter in Parameters)
                {
                    context.Put(parameter.Value.Name, parameter.Value.Value);
                }
                using (var sw = new StringWriter()) {
                    Velocity.Evaluate(context, sw, string.Empty, Contents.Content);
                    renderedContent = sw.GetLifetimeService().ToString();
                }
            }
            else
            {
                var config          = new FluentTemplateServiceConfiguration(c => c.WithEncoding(ContentType));
                var templateService = new TemplateService(config);
                Razor.SetTemplateService(templateService);

                renderedContent = Razor.Parse(Contents.Content, new {
                    Process    = _process,
                    Parameters = Parameters.ToExpandoObject()
                });
            }

            _process.Logger.Debug("Rendered {0} template.", Name);
            return(renderedContent);
        }
コード例 #20
0
        public void FluentTemplateServiceConfiguration_CanConfigureTemplateService_WithSpecificEncoding()
        {
            var config = new FluentTemplateServiceConfiguration(
                c => c.WithEncoding(Encoding.Raw));

            using (var service = RazorEngineService.Create(config))
                using (var writer = new StringWriter())
                {
                    const string template = "<h1>Hello @Model.String</h1>";
                    const string expected = "<h1>Hello Matt & World</h1>";

                    var model  = new { String = "Matt & World" };
                    var source = new LoadedTemplateSource(template);
                    var key    = service.GetKey("testTemplate");

                    service.Compile(source, key);
                    service.Run(key, writer, model: model);

                    var contents = writer.ToString();

                    Assert.AreEqual(expected, contents);
                }
        }
コード例 #21
0
        public void FluentTemplateServiceConfiguration_CanSetEncoding_UsingRawEncoding()
        {
            var config = new FluentTemplateServiceConfiguration(c => c.WithEncoding(Encoding.Raw));

            Assert.That(config.EncodedStringFactory is RawStringFactory);
        }
コード例 #22
0
        public void FluentTemplateServiceConfiguration_CanAddNamespaces()
        {
            var config = new FluentTemplateServiceConfiguration(c => c.IncludeNamespaces("RazorEngine.Templating"));

            Assert.That(config.Namespaces.Contains("RazorEngine.Templating"));
        }
コード例 #23
0
        /// <summary>
        /// Статический
        /// </summary>
        static StrategyBase()
        {
            var cfg = new FluentTemplateServiceConfiguration(x => x.WithEncoding(Encoding.Raw));

            razor = new TemplateService(cfg);
        }
コード例 #24
0
        public void FluentTemplateServiceConfiguration_CanSetEncoding_UsingRawEncoding()
        {
            var config = new FluentTemplateServiceConfiguration(c => c.WithEncoding(Encoding.Raw));

            Assert.That(config.EncodedStringFactory is RawStringFactory);
        }
コード例 #25
0
        public void FluentTemplateServiceConfiguration_CanSetCodeLanguage()
        {
            var config = new FluentTemplateServiceConfiguration(c => c.WithCodeLanguage(Language.VisualBasic));

            Assert.That(config.Language == Language.VisualBasic);
        }
コード例 #26
0
        public void FluentTemplateServiceConfiguration_CanSetCodeLanguage()
        {
            var config = new FluentTemplateServiceConfiguration(c => c.WithCodeLanguage(Language.VisualBasic));

            Assert.That(config.Language == Language.VisualBasic);
        }
コード例 #27
0
        public void FluentTemplateServiceConfiguration_CanSetCompilerServiceFactory()
        {
            var mock = new Mock<ICompilerServiceFactory>();

            var config = new FluentTemplateServiceConfiguration(c => c.CompileUsing(mock.Object));

            Assert.That(config.CompilerServiceFactory == mock.Object);
        }
コード例 #28
0
        public void FluentTemplateServiceConfiguration_CanSetEncodedStringFactory()
        {
            var mock = new Mock<IEncodedStringFactory>();

            var config = new FluentTemplateServiceConfiguration(c => c.EncodeUsing(mock.Object));

            Assert.That(config.EncodedStringFactory == mock.Object);
        }
コード例 #29
0
        public void FluentTemplateServiceConfigutation_CanSetActivator_UsingDelegate()
        {
            Func<InstanceContext, ITemplate> activator = i => null;

            var config = new FluentTemplateServiceConfiguration(c => c.ActivateUsing(activator));
            var delegateActivator = (DelegateActivator)config.Activator;

            Assert.That(delegateActivator.Activator == activator);
        }
コード例 #30
0
        public void FluentTemplateServiceConfiguration_CanAddNamespaces()
        {
            var config = new FluentTemplateServiceConfiguration(c => c.IncludeNamespaces("RazorEngine.Templating"));

            Assert.That(config.Namespaces.Contains("RazorEngine.Templating"));
        }