public void ParseBlockTerminatesAtEOF() { ParseBlockTest("<foo>", new MarkupBlock( new MarkupTagBlock( Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None))), RazorDiagnosticFactory.CreateParsing_MissingEndTag( new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 3), "foo")); }
public void EmptyTagNestsLikeNormalTag() { ParseBlockTest("<p></> Bar", new MarkupBlock( BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None), BlockFactory.MarkupTagBlock("</>", AcceptedCharactersInternal.None), Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)), RazorDiagnosticFactory.CreateParsing_MissingEndTag( new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p")); }
public void ParseBlockWithUnclosedTagAtEOFThrowsMissingEndTagException() { ParseBlockTest("<foo>blah blah blah blah blah", new MarkupBlock( new MarkupTagBlock( Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)), Factory.Markup("blah blah blah blah blah")), RazorDiagnosticFactory.CreateParsing_MissingEndTag( new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 3), "foo")); }
public void ParseBlockTreatsMalformedTagsAsContent() { ParseBlockTest("<foo></!-- bar --></foo>", new MarkupBlock( new MarkupTagBlock( Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)), new MarkupTagBlock( Factory.Markup("</!-- bar -->").Accepts(AcceptedCharactersInternal.None))), RazorDiagnosticFactory.CreateParsing_MissingEndTag( new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 3), "foo")); }
public void ParseBlockWithUnclosedTopLevelTagThrowsMissingEndTagParserExceptionOnOutermostUnclosedTag() { ParseBlockTest("<p><foo></bar>", new MarkupBlock( new MarkupTagBlock( Factory.Markup("<p>").Accepts(AcceptedCharactersInternal.None)), new MarkupTagBlock( Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)), new MarkupTagBlock( Factory.Markup("</bar>").Accepts(AcceptedCharactersInternal.None))), RazorDiagnosticFactory.CreateParsing_MissingEndTag( new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p")); }
public void RazorCommentInVerbatimBlock() { ParseDocumentTest("@{" + Environment.NewLine + " <text" + Environment.NewLine + " @**@" + Environment.NewLine + "}", new MarkupBlock( Factory.EmptyHtml(), new StatementBlock( Factory.CodeTransition(), Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), Factory.Code($"{Environment.NewLine} ") .AsStatement() .AutoCompleteWith("}"), new MarkupBlock( new MarkupTagBlock( Factory.MarkupTransition("<text").Accepts(AcceptedCharactersInternal.Any)), Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None), Factory.Markup(" ").With(SpanChunkGenerator.Null), new CommentBlock( Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) .Accepts(AcceptedCharactersInternal.None), Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) .Accepts(AcceptedCharactersInternal.None), Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( string.Empty, HtmlSymbolType.Unknown)) .Accepts(AcceptedCharactersInternal.Any), Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) .Accepts(AcceptedCharactersInternal.None), Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) .Accepts(AcceptedCharactersInternal.None)), Factory.Markup(Environment.NewLine).With(SpanChunkGenerator.Null), Factory.Markup("}")))), RazorDiagnosticFactory.CreateParsing_TextTagCannotContainAttributes( new SourceSpan(new SourceLocation(7 + Environment.NewLine.Length, 1, 5), contentLength: 4)), RazorDiagnosticFactory.CreateParsing_MissingEndTag( new SourceSpan(new SourceLocation(7 + Environment.NewLine.Length, 1, 5), contentLength: 4), "text"), RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{")); }