예제 #1
0
        public void ImplicitExpressionAcceptsDotIfTrailingDotsAreAllowed()
        {
            var factory = new SpanFactory();
            var changed = new StringTextSnapshot("@{@foo.}");
            var old     = new StringTextSnapshot("@{@foo}");

            RunPartialParseTest(new TestEdit(6, 0, old, 1, changed, "."),
                                new MarkupBlock(
                                    factory.EmptyHtml(),
                                    new StatementBlock(
                                        factory.CodeTransition(),
                                        factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
                                        factory.EmptyCSharp()
                                        .AsStatement()
                                        .AutoCompleteWith(autoCompleteString: null),
                                        new ExpressionBlock(
                                            factory.CodeTransition(),
                                            factory.Code("foo.")
                                            .AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: true)
                                            .Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
                                        factory.EmptyCSharp().AsStatement(),
                                        factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
                                    factory.EmptyHtml()));
        }