public void It_Should_be_possible_to_parse_xslt_with_xml()
        {
            var viewType = typeof(XsltView);

            string resourceLocation = "~/item.xrc.xslt";

            var expectedContent = new XDocument(new XElement("test"));
            var expectedXml = new XDocument(new XElement("test"));

            var viewCatalog = new Mocks.ViewCatalogServiceMock(new ComponentDefinition(viewType.Name, viewType));
            var pageProvider = new Mock<IResourceProviderService>();
            pageProvider.Setup(p => p.ResourceToXml(resourceLocation)).Returns(expectedContent);
            pageProvider.Setup(p => p.ResourceToXml("~/item.xml")).Returns(expectedXml);
            pageProvider.Setup(p => p.ResourceExists("~/item.xml")).Returns(true);

            var target = new XsltParser(viewCatalog, pageProvider.Object);

            PageDefinition page = target.Parse(resourceLocation);
            var view = page.Actions["GET"].Views.Single();
            Assert.AreEqual(viewType, view.Component.Type);

            var content = (XDocument)view.Properties["Xslt"].Value.Value;
            Assert.AreEqual(expectedContent, content);

            content = (XDocument)view.Properties["Data"].Value.Value;
            Assert.AreEqual(expectedXml, content);
        }
        public void It_Should_be_possible_to_parse_razor()
        {
            var resourceLocation = "item.xrc.cshtml";
            var viewType = typeof(RazorView);

            var viewCatalog = new Mocks.ViewCatalogServiceMock(new ComponentDefinition(viewType.Name, viewType));

            var target = new RazorParser(viewCatalog);

            PageDefinition page = target.Parse(resourceLocation);
            var view = page.Actions["GET"].Views.Single();
            Assert.AreEqual(viewType, view.Component.Type);

            var content = (string)view.Properties["ViewUrl"].Value.Value;
            Assert.AreEqual("item.xrc.cshtml", content);
        }
        public void It_Should_be_possible_to_parse_html()
        {
            var viewType = typeof(HtmlView);

            var expectedContent = "<h1>test</h1>";
            string resourceLocation = "~/item.xrc.html";

            var viewCatalog = new Mocks.ViewCatalogServiceMock(new ComponentDefinition(viewType.Name, viewType));
            var pageProvider = new Mock<IResourceProviderService>();
            pageProvider.Setup(p => p.ResourceToHtml(resourceLocation)).Returns(expectedContent);

            var target = new HtmlParser(viewCatalog, pageProvider.Object);

            PageDefinition page = target.Parse(resourceLocation);
            var view = page.Actions["GET"].Views.Single();
            Assert.AreEqual(viewType, view.Component.Type);

            var content = (string)view.Properties["Content"].Value.Value;
            Assert.AreEqual(expectedContent, content);
        }