예제 #1
0
        public void CreateShouldAssembleFileTileWithCorrectPath()
        {
            var lib = new TagLib();

            lib.Register(new Tags.Tiles());
            lib.Register(new Sharp());
            var locatorFactory = new FileLocatorFactory().CloneForTagLib(lib) as FileLocatorFactory;
            var factory        = new TilesFactory(new MockConfiguration("x", DateTime.Now)
            {
                Factory = locatorFactory
            });
            var entry = new MockTileEntry
            {
                Name    = "name",
                Path    = "a.htm",
                Extends = null
            };
            var tile = new TemplateTileCreator().Create(entry, factory);

            Assert.That(tile, Is.Not.Null);
            Assert.That(tile.GetType(), Is.EqualTo(typeof(TemplateTile)));
            Assert.That(tile.Name, Is.EqualTo("name"));
            var templateTile = (TemplateTile)tile;
            var fileTemplate = (FileTemplate)templateTile.Template;

            Assert.That(fileTemplate.Path.EndsWith("a.htm"));
        }
예제 #2
0
 public void SetUp()
 {
     _lib = new TagLib();
     _lib.Register(new Tags.Tiles());
     _lib.Register(new Sharp());
     _locatorFactory = new FileLocatorFactory().CloneForTagLib(_lib) as FileLocatorFactory;
 }
예제 #3
0
 public void SetUp()
 {
     _lib = new TagLib();
     _lib.Register(new Tags.Tiles());
     _lib.Register(new Sharp());
     _factory = new FileLocatorFactory().CloneForTagLib(_lib) as FileLocatorFactory;
     new TilesSet();
     _map              = new TilesMap();
     _data             = new Hashtable();
     _model            = new TagModel(_data);
     _nestedAttributes = new AttributeSet(
         "nested",
         new TileAttribute("aAttribute", new StringTile("aAttributeValue"))
         );
     _map.AddTile(new TemplateTile("fileWithAttributes", _factory.Handle("filewithtileattributes.htm", true), _nestedAttributes));
     _attributes = new AttributeSet(
         "main",
         new TileAttribute("simple", new StringTile("simpleValue")),
         new TileAttribute("file", new TemplateTile(null, _factory.Handle("a.htm", true), null)),
         new TileAttribute("fileWithVars", new TemplateTile(null, _factory.Handle("b.htm", true), null)),
         new TileAttribute("fileWithTilesAttributes", new TileReference("fileWithAttributes", _map))
         );
     _model.Decorate().With(_attributes);
     _data["simpleAsProperty"] = "simple";
     _data["some"]             = new Hashtable {
         { "a", "AA" }
     };
 }
예제 #4
0
        public void ErrorFileShouldSaveParseContext()
        {
            var lib = new TagLib();

            lib.Register(new Tags.Tiles());
            lib.Register(new Sharp());
            var factory = new FileLocatorFactory().CloneForTagLib(lib) as FileLocatorFactory;

            try
            {
                new TilesSet();
                var tile = new TemplateTile(
                    "test",
                    factory.Handle("errorinfile.htm", true),
                    null
                    );
            }
            catch (TemplateExceptionWithContext TEWC)
            {
                Assert.That(TEWC.Context, Is.Not.Null);
                Assert.That(TEWC.Context.LineNumber, Is.EqualTo(2));
                string       fullPath     = Path.GetFullPath("errorinfile.htm");
                TagException tagException =
                    TagException.UnbalancedCloseingTag(new ForEach()
                {
                    Group = new Core()
                }, new If()
                {
                    Group = new Core()
                }).Decorate(TEWC.Context);
                Assert.That(TEWC.Message,
                            Is.EqualTo(TemplateExceptionWithContext.ErrorInTemplate(fullPath, tagException).Message));
            }
        }
예제 #5
0
        public void SetUp()
        {
            _lib = new TagLib();
            _lib.Register(new Tags.Tiles());
            _lib.Register(new Sharp());
            _locatorFactory = new FileLocatorFactory().CloneForTagLib(_lib) as FileLocatorFactory;
            var config = new MockConfiguration()
            {
                Factory = _locatorFactory
            };

            _factory = new TilesFactory(config);
        }
예제 #6
0
        private static TagLib BuildTagLib()
        {
            var tagLib = new TagLib();

            tagLib.Register(new Html());
            return(tagLib);
        }
예제 #7
0
 protected void Application_Start()
 {
     RegisterRoutes(RouteTable.Routes);
     ViewEngines.Engines.Clear();
     TagLib.Register(new Tiles());
     ViewEngines.Engines.Add((IViewEngine) new org.SharpTiles.Connectors.NstlViewEngine().Init());
 }
예제 #8
0
        private static TagLibParserFactory CreateFactory()
        {
            ITagLib lib = new TagLib();

            lib.Register(new Sharp());
            return(new TagLibParserFactory(new TagLibForParsing(lib), new ExpressionLib(), new FileLocatorFactory(), null));
        }
예제 #9
0
        private static TagLibParserFactory CreateFactory()
        {
            var lib = new TagLib();

            lib.Register(new Macro());

            return(new TagLibParserFactory(new TagLibForParsing(lib), new ExpressionLib(new MacroFunctionLib()), new FileLocatorFactory(), null));
        }
예제 #10
0
        public DocumentationGenerator()
        {
            _lib = new TagLib();
            _lib.Register(new Sharp());
            _subject  = _lib;
            _all      = true;
            _fragment = false;
//            FunctionLib.Register(new MathFunctionLib());
            _specials = new List <Func <ITag, TagDocumentation, bool> >();
        }
예제 #11
0
        protected void Application_Start()
        {
            RegisterRoutes(RouteTable.Routes);
            ViewEngines.Engines.Clear();
            FunctionLib.Register(new MathLib());
            TagLib.Register(new MyTagLib());
            var engine = new TilesViewEngine();

            ViewEngines.Engines.Add(engine.Init());
            engine.LoadResourceBundle("CustomTaglibsTagsAndFunctions.Views.default");
        }
예제 #12
0
        public void GetView_Should_Update_Locator_Correct()
        {
            //Given
            var lib = new TagLib();

            lib.Register(new Html());
            lib.Register(new Tiles.Tags.Tiles());

            var factory = new FileLocatorFactory("Views").CloneForTagLib(lib);
            var cache   = new NstlCache {
                Factory = factory
            };
            var view = cache.GetView("Home/Index.htm");

            Assert.That(view, Is.Not.Null);
            var model = new TagModel(new Dictionary <string, string> {
                { "Message", "Test" }
            });

            Assert.That(view.Render(model).Contains("VIEWS"));
            //Then
        }
        public void CreateShouldAssembleFileTileWithCorrectExtendsAndPath()
        {
            var lib = new TagLib();

            lib.Register(new Tags.Tiles());
            lib.Register(new Sharp());
            var locatorFactory = new FileLocatorFactory().CloneForTagLib(lib) as FileLocatorFactory;
            var factory        = new TilesFactory(new MockConfiguration("a", DateTime.Now)
            {
                Factory = locatorFactory
            });

            var entry = new MockTileEntry
            {
                Name    = "name",
                Path    = "b.htm",
                Extends = "definition"
            };
            ITile tile = new TemplateOverridingDefinitionTileCreator().Create(entry, factory);

            Assert.That(tile, Is.Not.Null);
            Assert.That(tile.GetType(), Is.EqualTo(typeof(TemplateOveridingDefinitionTile)));
            Assert.That(tile.Name, Is.EqualTo("name"));


            var definition   = (TemplateOveridingDefinitionTile)tile;
            var tileTemplate = (FileTemplate)definition.Template;

            Assert.That(tileTemplate.Path.EndsWith("b.htm"));

            Assert.That(definition.Extends, Is.Not.Null);
            Assert.That(definition.Extends.GetType(), Is.EqualTo(typeof(TileReference)));

            var reference = (TileReference)definition.Extends;

            Assert.That(reference.Name, Is.EqualTo("definition"));
        }
예제 #14
0
        public void GenerateDocumentationForTagLib()
        {
            var lib = new TagLib();

            lib.Register(new TestGroup());

            //When
            var model  = new DocumentationGenerator().For(lib).BuildModel();
            var result = JsonConvert.SerializeObject(model, Formatting.Indented);


            // Then
            File.WriteAllText("c:/Temp/TagLib.json", result);
            Assert.That(result, Is.Not.Null);
        }