示例#1
0
 public void SetUp()
 {
     _templateFactoryFactory = new TemplateFactoryFactory(
         new FileTemplateContentProvider(),
         new HamlTreeParser(new HamlFileLexer()),
         new HamlDocumentWalker(new CodeDomClassBuilder()),
         new CodeDomTemplateCompiler(new CSharp2TemplateTypeBuilder()),
         new List <string>(),
         new List <string>());
 }
示例#2
0
 public void Setup()
 {
     _treeParserMock              = new Mock <ITreeParser>();
     _documentWalkerMock          = new Mock <IDocumentWalker>();
     _templateCompilerMock        = new Mock <ITemplateFactoryCompiler>();
     _templateContentProviderMock = new Mock <ITemplateContentProvider>();
     _templateFactoryFactory      = new TemplateFactoryFactory(_templateContentProviderMock.Object,
                                                               _treeParserMock.Object,
                                                               _documentWalkerMock.Object,
                                                               _templateCompilerMock.Object,
                                                               new List <string>(),
                                                               new List <string>());
 }
        public void CompileTemplateFactory_CallsTreeParser()
        {
            // Arrange
            var fakeHamlSource = ViewSourceBuilder.Create();

            // Act
            var compiledTemplate = new TemplateFactoryFactory(_templateContentProviderMock.Object, _parserMock.Object,
                                                              _documentWalkerMock.Object, _compilerMock.Object, new List <string>(), new List <string>());

            compiledTemplate.CompileTemplateFactory("className", fakeHamlSource);

            // Assert
            _parserMock.Verify(x => x.ParseViewSource(fakeHamlSource));
        }
示例#4
0
        private static TemplateEngine GetTemplateEngine(ITemplateContentProvider templateContentProvider, NHamlConfigurationSection nhamlConfiguration, IEnumerable<string> imports, IEnumerable<string> referencedAssemblies)
        {
            var templateCache = new SimpleTemplateCache();

            var templateFactoryFactory = new TemplateFactoryFactory(
                templateContentProvider,
                new HamlTreeParser(new HamlFileLexer()),
                new HamlDocumentWalker(new CodeDomClassBuilder()),
                new CodeDomTemplateCompiler(new CSharp2TemplateTypeBuilder()),
                nhamlConfiguration.ImportsList.Concat(imports),
                nhamlConfiguration.ReferencedAssembliesList.Concat(referencedAssemblies));

            return new TemplateEngine(templateCache, templateFactoryFactory);
        }
示例#5
0
        private static TemplateEngine GetTemplateEngine(ITemplateContentProvider templateContentProvider, NHamlConfigurationSection nhamlConfiguration, IEnumerable <string> imports, IEnumerable <string> referencedAssemblies)
        {
            var templateCache = new SimpleTemplateCache();

            var templateFactoryFactory = new TemplateFactoryFactory(
                templateContentProvider,
                new HamlTreeParser(new HamlFileLexer()),
                new HamlDocumentWalker(new CodeDomClassBuilder()),
                new CodeDomTemplateCompiler(new CSharp2TemplateTypeBuilder()),
                nhamlConfiguration.ImportsList.Concat(imports),
                nhamlConfiguration.ReferencedAssembliesList.Concat(referencedAssemblies));

            return(new TemplateEngine(templateCache, templateFactoryFactory));
        }
        public void CompileTemplateFactory_CallsCompile()
        {
            // Arrange
            var fakeTemplateSource = "FakeTemplateSource";

            _documentWalkerMock.Setup(x => x.Walk(It.IsAny <HamlDocument>(), It.IsAny <string>(),
                                                  It.IsAny <Type>(), It.IsAny <IList <string> >()))
            .Returns(fakeTemplateSource);
            var viewSource = ViewSourceBuilder.Create();
            var assemblies = new List <string>();

            // Act
            var compiledTemplate = new TemplateFactoryFactory(_contentProviderMock.Object, _parserMock.Object,
                                                              _documentWalkerMock.Object, _compilerMock.Object, new List <string>(), assemblies);

            compiledTemplate.CompileTemplateFactory(viewSource.GetClassName(), viewSource);

            // Assert
            _compilerMock.Verify(x => x.Compile(fakeTemplateSource, viewSource.GetClassName(), assemblies));
        }
        public void CompileTemplateFactory_CallsDocumentWalker()
        {
            // Arrange
            const string className = "className";
            var          baseType  = typeof(Template);

            var fakeHamlDocument = HamlDocumentBuilder.Create("");

            _parserMock.Setup(x => x.ParseViewSource(It.IsAny <ViewSource>()))
            .Returns(fakeHamlDocument);
            var viewSource = ViewSourceBuilder.Create();
            var imports    = new List <string>();

            // Act
            var compiledTemplate = new TemplateFactoryFactory(_contentProviderMock.Object, _parserMock.Object,
                                                              _documentWalkerMock.Object, _compilerMock.Object, new List <string>(), imports);

            compiledTemplate.CompileTemplateFactory(className, new ViewSourceCollection {
                viewSource
            }, baseType);

            // Assert
            _documentWalkerMock.Verify(x => x.Walk(fakeHamlDocument, className, baseType, imports));
        }