Пример #1
0
        public void DocTypeCapture()
        {
            TestParser parser = new TestParser(CreateRootState(), true);

            parser.Parse(@"
		<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN""
""DTD/xhtml1-strict.dtd""
[
<!-- foo -->
<!bar #baz>
]>
<doc><foo/></doc>");
            parser.AssertEmpty();
            XDocument doc = (XDocument)parser.Nodes.Peek();

            Assert.IsTrue(doc.FirstChild is XDocType);
            XDocType dt = (XDocType)doc.FirstChild;

            Assert.AreEqual("html", dt.RootElement.FullName);
            Assert.AreEqual("-//W3C//DTD XHTML 1.0 Strict//EN", dt.PublicFpi);
            Assert.AreEqual("DTD/xhtml1-strict.dtd", dt.Uri);
            Assert.AreEqual(dt.InternalDeclarationRegion.Begin.Line, 4);
            Assert.AreEqual(dt.InternalDeclarationRegion.End.Line, 7);
            parser.AssertNoErrors();
        }
Пример #2
0
        public void Directives()
        {
            var parser = new TestParser(CreateRootState(), true);

            parser.Parse(@"<%@ Page Language=""C#"" Inherits=""SomeGenericType<int>"" %>");
            parser.AssertNoErrors();
            var doc       = (XDocument)parser.Nodes.Peek();
            var directive = doc.Nodes.First() as AspNetDirective;

            Assert.NotNull(directive);
            Assert.AreEqual("Page", directive.Name.FullName);
            Assert.AreEqual(2, directive.Attributes.Count());
            var att = directive.Attributes[0];

            Assert.AreEqual("Language", att.Name.FullName);
            Assert.AreEqual("C#", att.Value);
            att = directive.Attributes[1];
            Assert.AreEqual("Inherits", att.Name.FullName);
            Assert.AreEqual("SomeGenericType<int>", att.Value);
        }
Пример #3
0
        public void AttributeWithExpression()
        {
            var parser = new TestParser(CreateRootState(), true);

            parser.Parse(@"<tag
foo='<%=5$%>'
bar=""<%$$5$%><%--$--%>""
baz='<%#5$%>=<%:fhfjhf %0 $%>'
quux = <% 5 $%>  />", delegate {
                parser.AssertNodeIs <AspNetRenderExpression> ();
            }, delegate {
                parser.AssertNodeIs <AspNetResourceExpression> ();
            }, delegate {
                parser.AssertNodeIs <AspNetServerComment> ();
            }, delegate {
                parser.AssertNodeIs <AspNetDataBindingExpression> ();
            }, delegate {
                parser.AssertNodeIs <AspNetHtmlEncodedExpression> ();
            }, delegate {
                parser.AssertNodeIs <AspNetRenderBlock> ();
            });
            parser.AssertNoErrors();
            var doc = (XDocument)parser.Nodes.Peek();
        }