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[] { RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( new SourceSpan(new SourceLocation(5 + Environment.NewLine.Length * 2, 2, 2), contentLength: 4), "html"), RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), }); }
public void ParseBlockStartingWithEndTagProducesRazorErrorThenOutputsMarkupSegmentAndEndsBlock() { ParseBlockTest("</foo> bar baz", new MarkupBlock( new MarkupTagBlock( Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None)), Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)), RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( new SourceSpan(new SourceLocation(2, 0, 2), contentLength: 3), "foo")); }