Пример #1
0
        public void ParseBlockRequiresControlFlowStatementsToHaveBraces()
        {
            var expectedMessage = LegacyResources.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()
                               ),
                           new RazorError(expectedMessage, 8, 0, 8, 1),
                           new RazorError(expectedMessage, 32, 0, 32, 1),
                           new RazorError(expectedMessage, 48, 0, 48, 1));
        }
Пример #2
0
 public void ParseBlockIncludesUnexpectedCharacterInSingleStatementControlFlowStatementError()
 {
     ParseBlockTest("if(foo)) { var bar = foo; }",
                    new StatementBlock(
                        Factory.Code("if(foo)) { var bar = foo; }").AsStatement()
                        ),
                    new RazorError(
                        LegacyResources.FormatParseError_SingleLine_ControlFlowStatements_Not_Allowed("{", ")"),
                        new SourceLocation(7, 0, 7),
                        length: 1));
 }