コード例 #1
0
ファイル: XrcItem_Test.cs プロジェクト: davideicardi/xrc
        public void It_Should_be_possible_to_get_configfile()
        {
            var structure = new TestPageStructure1();
            var root = structure.GetRoot();

            Assert.AreEqual("~/xrc.config", root.ConfigFile.ResourceLocation);

            var news = root.Directories["news"];
            Assert.IsNull(news.ConfigFile);
        }
コード例 #2
0
ファイル: XrcItem_Test.cs プロジェクト: davideicardi/xrc
        public void It_Should_be_possible_to_check_IsIndex()
        {
            var structure = new TestPageStructure1();
            var root = structure.GetRoot();

            var index = root.Files["index.xrc"];
            Assert.AreEqual(true, index.IsIndex);

            var teamsTeamPlayerStats = root.Directories["teams"].Directories["{teamid}"].Directories["{playerid}"].Files["stats.xrc"];
            Assert.AreEqual(false, teamsTeamPlayerStats.IsIndex);
        }
コード例 #3
0
ファイル: XrcItem_Test.cs プロジェクト: davideicardi/xrc
        public void It_Should_be_possible_to_check_IsSlot()
        {
            var structure = new TestPageStructure1();
            var root = structure.GetRoot();

            var index = root.Files["index.xrc"];
            Assert.AreEqual(false, index.IsSlot);

            var newsSlot1 = root.Directories["news"].Files["_slot1.xrc"];
            Assert.AreEqual(true, newsSlot1.IsSlot);
        }
コード例 #4
0
        public void Default_layout_should_not_override_specific_layout_set_to_empty()
        {
            var root = new TestPageStructure1().GetRoot();
            var layout = root.DefaultLayoutFile;
            var config = root.ConfigFile;
            var file = root.Files["about.xrc"];

            var pageDefinition = new PageDefinition();
            pageDefinition.Actions.Add(new PageAction("GET") { Layout = "" });

            var target = CreateTarget();
            SetupUrl(file.BuildUrl(), new PageLocatorResult(file, new UriSegmentParameterList()), pageDefinition);
            _pageParser.Setup(p => p.Parse(config.ResourceLocation)).Returns(new PageDefinition());

            var page = target.GetPage(file.BuildUrl());
            var actionGet = page.Actions["get"];
            Assert.AreEqual("", actionGet.Layout);
        }
コード例 #5
0
ファイル: XrcItem_Test.cs プロジェクト: davideicardi/xrc
        public void It_Should_be_possible_to_get_layoutfile()
        {
            var structure = new TestPageStructure1();
            var root = structure.GetRoot();

            var index = root.Files["index.xrc"];
            Assert.AreEqual("~/_layout.xrc", index.DefaultLayoutFile.ResourceLocation);

            var newsIndex = root.Directories["news"].Files["index.xrc"];
            Assert.AreEqual("~/_layout.xrc", newsIndex.DefaultLayoutFile.ResourceLocation);

            var teamsTeamPlayerStats = root.Directories["teams"].Directories["{teamid}"].Directories["{playerid}"].Files["stats.xrc"];
            Assert.AreEqual("~/teams/{teamid}/{playerid}/_layout.xrc", teamsTeamPlayerStats.DefaultLayoutFile.ResourceLocation);
        }
コード例 #6
0
        public void It_Should_be_possible_to_parse_folder_parameters()
        {
            var root = new TestPageStructure1().GetRoot();
            var config = root.ConfigFile;
            var file = root.Files["about.xrc"];

            var configParserResult = new PageDefinition();
            configParserResult.Parameters.Add(new PageParameter("folderParameter1", new XValue("folder")));
            configParserResult.Parameters.Add(new PageParameter("folderParameter2", new XValue("folder")));

            var pageParserResult = new PageDefinition();
            pageParserResult.Parameters.Add(new PageParameter("folderParameter2", new XValue("page")));

            var target = CreateTarget();
            SetupUrl(file.BuildUrl(), new PageLocatorResult(file, new UriSegmentParameterList()), pageParserResult);
            _pageParser.Setup(p => p.Parse(config.ResourceLocation)).Returns(configParserResult);

            var page = target.GetPage(file.BuildUrl());
            Assert.AreEqual("folder", page.PageParameters["folderParameter1"].Value.ToString());
            Assert.AreEqual("page", page.PageParameters["folderParameter2"].Value.ToString());
        }
コード例 #7
0
        public void Slot_pages_should_not_have_a_default_layout()
        {
            var root = new TestPageStructure1().GetRoot();
            var layout = root.DefaultLayoutFile;
            var config = root.ConfigFile;
            var fileNormal = root.Directories["news"].Files["index.xrc"];
            var fileslot = root.Directories["news"].Files["_slot1.xrc"];

            var pageNormalDefinition = new PageDefinition();
            pageNormalDefinition.Actions.Add(new PageAction("GET"));
            var pageSlotDefinition = new PageDefinition();
            pageSlotDefinition.Actions.Add(new PageAction("GET"));

            var target = CreateTarget();
            SetupUrl(fileNormal.BuildUrl(), new PageLocatorResult(fileNormal, new UriSegmentParameterList()), pageNormalDefinition);
            SetupUrl(fileslot.BuildUrl(), new PageLocatorResult(fileslot, new UriSegmentParameterList()), pageSlotDefinition);
            _pageParser.Setup(p => p.Parse(config.ResourceLocation)).Returns(new PageDefinition());

            var page = target.GetPage(fileNormal.BuildUrl());
            var actionGet = page.Actions["get"];
            Assert.AreEqual("~/_layout", actionGet.Layout);

            var pageSlot = target.GetPage(fileslot.BuildUrl());
            var actionGetSlot = pageSlot.Actions["get"];
            Assert.IsNull(actionGetSlot.Layout);
        }
コード例 #8
0
        public void It_Should_be_possible_to_parse_page_and_get_default_layout_only_on_GET()
        {
            var root = new TestPageStructure1().GetRoot();
            var layout = root.DefaultLayoutFile;
            var config = root.ConfigFile;
            var file = root.Files["about.xrc"];

            var pageDefinition = new PageDefinition();
            pageDefinition.Actions.Add(new PageAction("GET"));
            pageDefinition.Actions.Add(new PageAction("POST"));

            var target = CreateTarget();
            SetupUrl(file.BuildUrl(), new PageLocatorResult(file, new UriSegmentParameterList()), pageDefinition);
            _pageParser.Setup(p => p.Parse(config.ResourceLocation)).Returns(new PageDefinition());

            var page = target.GetPage(file.BuildUrl());
            var actionGet = page.Actions["get"];
            Assert.AreEqual("~/_layout", actionGet.Layout);

            var actionPost = page.Actions["post"];
            Assert.IsNull(actionPost.Layout);
        }