Exemple #1
0
        public void ParseBlockRequiresControlFlowStatementsToHaveBraces()
        {
            var expectedMessage = Resources.FormatParseError_SingleLine_ControlFlowStatements_Not_Allowed("{", "<");

            ParseBlockTest("if(foo) <p>Bar</p> else if(bar) <p>Baz</p> else <p>Boz</p>",
                           new StatementBlock(
                               Factory.Code("if(foo) ").AsStatement(),
                               new MarkupBlock(
                                   BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
                                   Factory.Markup("Bar"),
                                   BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
                                   Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
                               Factory.Code("else if(bar) ").AsStatement(),
                               new MarkupBlock(
                                   BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
                                   Factory.Markup("Baz"),
                                   BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
                                   Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
                               Factory.Code("else ").AsStatement(),
                               new MarkupBlock(
                                   BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
                                   Factory.Markup("Boz"),
                                   BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None)),
                               Factory.EmptyCSharp().AsStatement()
                               ),
                           RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
                               new SourceSpan(new SourceLocation(8, 0, 8), contentLength: 1), "{", "<"),
                           RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
                               new SourceSpan(new SourceLocation(32, 0, 32), contentLength: 1), "{", "<"),
                           RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
                               new SourceSpan(new SourceLocation(48, 0, 48), contentLength: 1), "{", "<"));
        }
Exemple #2
0
 public void ParseBlockIncludesUnexpectedCharacterInSingleStatementControlFlowStatementError()
 {
     ParseBlockTest("if(foo)) { var bar = foo; }",
                    new StatementBlock(
                        Factory.Code("if(foo)) { var bar = foo; }").AsStatement()
                        ),
                    RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
                        new SourceSpan(new SourceLocation(7, 0, 7), contentLength: 1), "{", ")"));
 }