public void Visit(HtmlTag table) { if (table.TagName().ToLower() != HtmlTagConstants.Table) { throw new ArgumentException(string.Format("Expected tag to be a <{0}> tag, but was <{1}>", HtmlTagConstants.Table, table.TagName())); } table.Children.ForEach(VisitTableChild); }
public ExportImage VisitImage(HtmlTag imageTag) { if (imageTag.TagName().ToLower() != HtmlTagConstants.Img) { throw new ArgumentException(string.Format("Expected tag to be a <{0}> tag, but was <{1}>", HtmlTagConstants.Img, imageTag.TagName())); } var image = (ImageTag) imageTag; return new ExportImage {Source = image.Src(), AlternateText = image.Alt()}; }
public ExportList VisitList(HtmlTag list ) { if(list.TagName().ToLower() != HtmlTagConstants.Ul ) { throw new ArgumentException(string.Format("Expected tag to be a <{0}> tag, but was <{1}>", HtmlTagConstants.Ul, list.TagName())); } var exportList = new ExportList(); list.Children.ForEach(f => VisitListItem(f, exportList)); return exportList; }
private void AssertOptionGroup( HtmlTag optgroup, string display) { Assert.Equal("optgroup", optgroup.TagName()); Assert.Equal(display, optgroup.Attr("label")); }
public void do_nothing_to_a_link_that_is_authorized() { var tag = new HtmlTag("a").Authorized(true) .ReadOnlyIfNotAuthorized(); tag.Authorized().ShouldBeTrue(); tag.TagName().ShouldEqual("a"); }
public void do_nothing_to_a_div() { var tag = new HtmlTag("div").Authorized(false) .ReadOnlyIfNotAuthorized(); tag.Authorized().ShouldBeFalse(); tag.TagName().ShouldEqual("div"); }
public void change_an_unauthorized_link_to_a_span_and_authorize_the_span() { var tag = new HtmlTag("a").Authorized(false) .ReadOnlyIfNotAuthorized(); tag.Authorized().ShouldBeTrue(); tag.TagName().ShouldEqual("span"); }
private void AssertOption( HtmlTag option, string display, object value) { Assert.Equal("option", option.TagName()); Assert.Equal(display, option.Text()); Assert.True(option.ValueIsEqual(value)); }
public void VisitListItem(HtmlTag list, ExportListItem exportList) { var item = new ExportListItem(); if(list.TagName().ToLower() == HtmlTagConstants.Ul) { item = new ExportList(); } list.Children.ForEach(f => VisitListItem(f, item)); item.Text = ExportFromTable.HtmlTagRegex.Replace(list.Text(), String.Empty); exportList.AddItem(item); }
public void AssertValid(HtmlTag tag, string tagName, string name, string type = "", object value = null) { Assert.Equal(tagName, tag.TagName()); Assert.Equal(name, tag.Attr("name")); Assert.Equal(name, tag.Attr("id")); if (type == null) Assert.False(tag.HasAttr("type")); else Assert.Equal(type, tag.Attr("type")); if (value == null) Assert.True(!tag.HasAttr("value") || tag.Attr("value") == ""); else Assert.Equal(value.ToString(), tag.Attr("value")); }
public ChildTagBuilder(SpecHierarchyBuilder builder, HtmlTag parent) { if (parent.TagName() != "ul") { throw new ArgumentOutOfRangeException("Only ul tags are valid here: \n" + parent.ToString()); } _builder = builder; _parent = parent; }
public HtmlTag TopTag(HtmlTag topChild) { if (topChild.TagName() != "ul") { throw new ArgumentOutOfRangeException("Only ul tags are valid here: \n" + topChild.ToString()); } var topUrl = _urls.UrlFor<JasminePages>(x => x.AllSpecs()); return new HtmlTag("ul", tag => { tag.Id("all-specs-node").AddClass("filetree"); var link = new LinkTag("All Specs", topUrl, "all-specs"); var li = tag.Add("li"); li.Add("span").AddClass("folder").Append(link); li.Append(topChild); }); }
private void VisitTableChild(HtmlTag child) { var tag = child.TagName().ToLower(); switch (tag) { case HtmlTagConstants.Tr: VisitTableRow(child); break; case HtmlTagConstants.Caption: VisitCaption(child); break; default: child.Children.ForEach(VisitTableChild); break; } }
private static void VisitTableCell(HtmlTag cell, ExportRow exportRow) { var tag = cell.TagName().ToLower(); if (tag != HtmlTagConstants.Td && tag != HtmlTagConstants.Th ) { cell.Children.ForEach(c => VisitTableCell(c, exportRow)); return; } var isImage = cell.Children.Any(c => c.TagName().ToLower() == HtmlTagConstants.Img); var text = cell.Children.Any() ? cell.ToString() : cell.Text(); var exportCell = new ExportCell { Text = ExportFromTable.HtmlTagRegex.Replace(text ?? string.Empty, string.Empty), Markup = isImage ? cell.FirstChild().ToString():string.Empty }; SetColspan(cell, exportCell); exportRow.AddCell(exportCell); }