public TagHelperSpanBaselineException(TagHelperSpanInternal span, string expected, string actual, string userMessage)
     : base(Format(span, expected, actual, userMessage))
 {
     Span     = span;
     Expected = expected;
     Actual   = actual;
 }
Exemple #2
0
        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);
        }
Exemple #4
0
    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());
            }
Exemple #7
0
 public virtual void VisitTagHelperSpan(TagHelperSpanInternal span)
 {
     WriteTagHelperSpan(span);
 }