public void GetCompiledTemplate_BaseTemplateSpecified_UsesSpecifiedTemplateBaseType()
        {
            // Arrange
            var viewSourceCollection = new ViewSourceCollection { ViewSourceBuilder.Create() };

            // Act
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(object));

            // Assert
            _templateFactoryFactoryMock.Verify(x => x.CompileTemplateFactory(viewSourceCollection.GetClassName(), viewSourceCollection, typeof(object)));
        }
        public void GetCompiledTemplate_MultipleCalls_OnlyCompilesTemplateOnce()
        {
            // Arrange
            var viewSourceCollection = new ViewSourceCollection { ViewSourceBuilder.Create() };

            // Act
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(DummyTemplate));
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(DummyTemplate));

            // Assert
            _templateFactoryFactoryMock.Verify(x => x.CompileTemplateFactory(viewSourceCollection.GetClassName(), viewSourceCollection, typeof(DummyTemplate)), Times.Once());
        }
Exemple #3
0
        public void GetCompiledTemplate_BaseTemplateSpecified_UsesSpecifiedTemplateBaseType()
        {
            // Arrange
            var viewSourceCollection = new ViewSourceCollection {
                ViewSourceBuilder.Create()
            };

            // Act
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(object));

            // Assert
            _templateFactoryFactoryMock.Verify(x => x.CompileTemplateFactory(viewSourceCollection.GetClassName(), viewSourceCollection, typeof(object)));
        }
Exemple #4
0
        public void GetCompiledTemplate_NormalUse_CallsTemplateFactoryFactoryCompileTemplateFactory()
        {
            // Arrange
            var viewSourceCollection = new ViewSourceCollection {
                ViewSourceBuilder.Create()
            };

            // Act
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(object));

            // Assert
            _templateFactoryFactoryMock.Verify(x => x.CompileTemplateFactory(viewSourceCollection.GetClassName(), viewSourceCollection, It.IsAny <Type>()));
        }
Exemple #5
0
        public TemplateFactory GetCompiledTemplate(ViewSourceCollection viewSourceCollection, Type templateBaseType)
        {
            Invariant.ArgumentNotNull(viewSourceCollection, "viewSourceCollection");
            Invariant.ArgumentNotNull(templateBaseType, "templateBaseType");

            templateBaseType = ProxyExtracter.GetNonProxiedType(templateBaseType);
            var className = viewSourceCollection.GetClassName();

            lock ( _compiledTemplateCache )
            {
                return(_compiledTemplateCache.GetOrAdd(className, viewSourceCollection[0].TimeStamp,
                                                       () => _templateFactoryFactory.CompileTemplateFactory(className, viewSourceCollection, templateBaseType)));
            }
        }
Exemple #6
0
        public TemplateFactory GetCompiledTemplate(ViewSourceCollection viewSourceCollection, Type templateBaseType)
        {
            Invariant.ArgumentNotNull(viewSourceCollection, "viewSourceCollection");
            Invariant.ArgumentNotNull(templateBaseType, "templateBaseType");

            templateBaseType = ProxyExtracter.GetNonProxiedType(templateBaseType);
            var className = viewSourceCollection.GetClassName();

            lock( _compiledTemplateCache )
            {
                return _compiledTemplateCache.GetOrAdd(className, viewSourceCollection[0].TimeStamp,
                    () => _templateFactoryFactory.CompileTemplateFactory(className, viewSourceCollection, templateBaseType));
            }
        }
Exemple #7
0
        public void GetCompiledTemplate_MultipleCalls_OnlyCompilesTemplateOnce()
        {
            // Arrange
            var viewSourceCollection = new ViewSourceCollection {
                ViewSourceBuilder.Create()
            };

            // Act
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(DummyTemplate));
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(DummyTemplate));

            // Assert
            _templateFactoryFactoryMock.Verify(x => x.CompileTemplateFactory(viewSourceCollection.GetClassName(), viewSourceCollection, typeof(DummyTemplate)), Times.Once());
        }
        public void PartialsIntegrationTest()
        {
            // Arrange
            const string template1Content = "This is a test\n_File2";
            const string template2Content = "Of a partial";

            var viewSourceList = new ViewSourceCollection {
                ViewSourceBuilder.Create(template1Content),
                ViewSourceBuilder.Create(template2Content, "File2")
            };

            // Act
            var templateFactory = _templateFactoryFactory.CompileTemplateFactory(viewSourceList.GetClassName(), viewSourceList);
            Template template = templateFactory.CreateTemplate();
            var textWriter = new StringWriter();
            template.Render(textWriter);

            // Assert
            Assert.AreEqual("This is a test\nOf a partial", textWriter.ToString());
        }
Exemple #9
0
 public string GetTemplateSource(ViewSource viewSource, Type templateBaseType)
 {
     var viewSourceCollection = new ViewSourceCollection { viewSource };
     var className = viewSourceCollection.GetClassName();
     return _templateFactoryFactory.GetTemplateSource(className, viewSourceCollection, templateBaseType);
 }
Exemple #10
0
        public void PartialsIntegrationTest()
        {
            // Arrange
            const string template1Content = "This is a test\n_File2";
            const string template2Content = "Of a partial";

            var viewSourceList = new ViewSourceCollection {
                ViewSourceBuilder.Create(template1Content),
                ViewSourceBuilder.Create(template2Content, "File2")
            };

            // Act
            var      templateFactory = _templateFactoryFactory.CompileTemplateFactory(viewSourceList.GetClassName(), viewSourceList);
            Template template        = templateFactory.CreateTemplate();
            var      textWriter      = new StringWriter();

            template.Render(textWriter);

            // Assert
            Assert.AreEqual("This is a test\nOf a partial", textWriter.ToString());
        }
        public void GetCompiledTemplate_NormalUse_CallsTemplateFactoryFactoryCompileTemplateFactory()
        {
            // Arrange
            var viewSourceCollection = new ViewSourceCollection { ViewSourceBuilder.Create() };

            // Act
            _templateEngine.GetCompiledTemplate(viewSourceCollection, typeof(object));

            // Assert
            _templateFactoryFactoryMock.Verify(x => x.CompileTemplateFactory(viewSourceCollection.GetClassName(), viewSourceCollection, It.IsAny<Type>()));
        }