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(); }
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); }
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(); }