public TagHelperSpanBaselineException(TagHelperSpanInternal span, string expected, string actual, string userMessage) : base(Format(span, expected, actual, userMessage)) { Span = span; Expected = expected; Actual = actual; }
public override void VisitMarkupTagHelperElement(MarkupTagHelperElementSyntax node) { var span = new TagHelperSpanInternal(node.GetSourceSpan(_source), node.TagHelperInfo.BindingResult); _spans.Add(span); base.VisitMarkupTagHelperElement(node); }
public override void VisitTagHelperSpan(TagHelperSpanInternal span) { var expected = _index < _baseline.Length ? _baseline[_index++] : null; _writer.GetStringBuilder().Clear(); base.VisitTagHelperSpan(span); var actual = _writer.GetStringBuilder().ToString(); AssertEqual(span, expected, actual); }
protected void WriteTagHelperSpan(TagHelperSpanInternal span) { Write($"TagHelper span at {span.Span}"); foreach (var tagHelper in span.TagHelpers) { WriteSeparator(); // Get the type name without the namespace. var typeName = tagHelper.Name.Substring(tagHelper.Name.LastIndexOf('.') + 1); Write(typeName); } }
private void AssertEqual(TagHelperSpanInternal span, string expected, string actual) { if (string.Equals(expected, actual)) { return; } if (expected == null) { var message = "The span is missing from baseline."; throw new TagHelperSpanBaselineException(span, expected, actual, message); } else { var message = "Contents are not equal."; throw new TagHelperSpanBaselineException(span, expected, actual, message); } }
private static string Format(TagHelperSpanInternal span, string expected, string actual, string userMessage) { var builder = new StringBuilder(); builder.AppendLine(userMessage); builder.AppendLine(); if (expected != null) { builder.Append("Expected: "); builder.AppendLine(expected); } if (actual != null) { builder.Append("Actual: "); builder.AppendLine(actual); } return(builder.ToString()); }
public virtual void VisitTagHelperSpan(TagHelperSpanInternal span) { WriteTagHelperSpan(span); }