@@ -642,7 +642,7 @@ End If
642
642
[ TestMethod ]
643
643
[ TestCategory ( "Grammar" ) ]
644
644
[ TestCategory ( "Selection" ) ]
645
- public void Selection_Token_BlankLines_Contains ( )
645
+ public void GivenOnlyBlankLines_EndColumn_Works ( )
646
646
{
647
647
const string inputCode = @"
648
648
@@ -661,15 +661,38 @@ public void Selection_Token_BlankLines_Contains()
661
661
662
662
// Reminder: token columns are zero-based but lines are one-based
663
663
Assert . IsTrue ( startToken . EndColumn ( ) == 0 ) ;
664
- Assert . IsTrue ( startToken . EndLine ( ) == 1 ) ;
665
664
Assert . IsTrue ( endToken . EndColumn ( ) == 0 ) ;
665
+ }
666
+
667
+ [ TestMethod ]
668
+ [ TestCategory ( "Grammar" ) ]
669
+ [ TestCategory ( "Selection" ) ]
670
+ public void GivenOnlyBlankLines_EndLine_Works ( )
671
+ {
672
+ const string inputCode = @"
673
+
674
+
675
+
676
+ " ;
677
+
678
+ var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out var component ) ;
679
+ var pane = component . CodeModule . CodePane ;
680
+ var state = MockParser . CreateAndParse ( vbe . Object ) ;
681
+
682
+
683
+ var tree = ( Antlr4 . Runtime . ParserRuleContext ) state . GetParseTree ( new QualifiedModuleName ( component ) ) ;
684
+ var startToken = tree . Start ;
685
+ var endToken = tree . Stop ;
686
+
687
+ // Reminder: token columns are zero-based but lines are one-based
688
+ Assert . IsTrue ( startToken . EndLine ( ) == 1 ) ;
666
689
Assert . IsTrue ( endToken . EndLine ( ) == 4 ) ;
667
690
}
668
-
691
+
669
692
[ TestMethod ]
670
693
[ TestCategory ( "Grammar" ) ]
671
694
[ TestCategory ( "Selection" ) ]
672
- public void Selection_Token_BlankLines_LeadingSpaces_Contains ( )
695
+ public void GivenBlankLinesWithLeadingSpaces_EndColumn_Works ( )
673
696
{
674
697
const string inputCode = @"
675
698
@@ -687,8 +710,30 @@ public void Selection_Token_BlankLines_LeadingSpaces_Contains()
687
710
688
711
// Reminder: token columns are zero-based but lines are one-based
689
712
Assert . IsTrue ( startToken . EndColumn ( ) == 0 ) ;
690
- Assert . IsTrue ( startToken . EndLine ( ) == 1 ) ;
691
713
Assert . IsTrue ( endToken . EndColumn ( ) == 3 ) ;
714
+ }
715
+
716
+ [ TestMethod ]
717
+ [ TestCategory ( "Grammar" ) ]
718
+ [ TestCategory ( "Selection" ) ]
719
+ public void GivenBlankLinesWithLeadingSpaces_EndLine_Works ( )
720
+ {
721
+ const string inputCode = @"
722
+
723
+
724
+ " ;
725
+
726
+ var vbe = MockVbeBuilder . BuildFromSingleStandardModule ( inputCode , out var component ) ;
727
+ var pane = component . CodeModule . CodePane ;
728
+ var state = MockParser . CreateAndParse ( vbe . Object ) ;
729
+
730
+
731
+ var tree = ( Antlr4 . Runtime . ParserRuleContext ) state . GetParseTree ( new QualifiedModuleName ( component ) ) ;
732
+ var startToken = tree . Start ;
733
+ var endToken = tree . Stop ;
734
+
735
+ // Reminder: token columns are zero-based but lines are one-based
736
+ Assert . IsTrue ( startToken . EndLine ( ) == 1 ) ;
692
737
Assert . IsTrue ( endToken . EndLine ( ) == 3 ) ;
693
738
}
694
739
}
0 commit comments