public void ParseBlockStartingWithEndTagProducesRazorErrorThenOutputsMarkupSegmentAndEndsBlock() { ParseBlockTest("</foo> bar baz", new MarkupBlock( new MarkupTagBlock( Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None)), Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)), new RazorError( LegacyResources.FormatParseError_UnexpectedEndTag("foo"), new SourceLocation(2, 0, 2), length: 3)); }
public void ParseBlockHandlesOpenAngleWithProperTagFollowingIt() { ParseDocumentTest("@{" + Environment.NewLine + "<" + Environment.NewLine + "</html>", new MarkupBlock( Factory.EmptyHtml(), new StatementBlock( Factory.CodeTransition(), Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), Factory.Code(Environment.NewLine) .AsStatement() .AutoCompleteWith("}"), new MarkupBlock( new MarkupTagBlock( Factory.Markup("<" + Environment.NewLine)) ), new MarkupBlock( new MarkupTagBlock( Factory.Markup("</html>").Accepts(AcceptedCharactersInternal.None)) ), Factory.EmptyCSharp().AsStatement() ) ), designTime: true, expectedErrors: new[] { new RazorError( LegacyResources.FormatParseError_UnexpectedEndTag("html"), new SourceLocation(5 + Environment.NewLine.Length * 2, 2, 2), length: 4), new RazorError( LegacyResources.FormatParseError_Expected_EndOfBlock_Before_EOF("code", "}", "{"), new SourceLocation(1, 0, 1), length: 1) }); }