@@ -35,23 +35,30 @@ function FunctionWithExtraSpace
3535
3636
3737 FunctionNameOnDifferentLine
38+
39+ function IndentedFunction { } IndentedFunction
3840" ;
3941 private static readonly ScriptBlockAst s_ast = ( ScriptBlockAst ) ScriptBlock . Create ( s_scriptString ) . Ast ;
4042
4143 [ Theory ]
44+ [ InlineData ( 1 , 15 , "BasicFunction" ) ]
4245 [ InlineData ( 2 , 3 , "BasicFunction" ) ]
46+ [ InlineData ( 4 , 31 , "FunctionWithExtraSpace" ) ]
4347 [ InlineData ( 7 , 18 , "FunctionWithExtraSpace" ) ]
48+ [ InlineData ( 12 , 22 , "FunctionNameOnDifferentLine" ) ]
4449 [ InlineData ( 22 , 13 , "FunctionNameOnDifferentLine" ) ]
45- public void CanFindSymbolAtPostion ( int lineNumber , int columnNumber , string expectedName )
50+ [ InlineData ( 24 , 30 , "IndentedFunction" ) ]
51+ [ InlineData ( 24 , 52 , "IndentedFunction" ) ]
52+ public void CanFindSymbolAtPosition ( int lineNumber , int columnNumber , string expectedName )
4653 {
4754 SymbolReference reference = AstOperations . FindSymbolAtPosition ( s_ast , lineNumber , columnNumber ) ;
4855 Assert . NotNull ( reference ) ;
4956 Assert . Equal ( expectedName , reference . SymbolName ) ;
5057 }
5158
5259 [ Theory ]
53- [ MemberData ( nameof ( FindReferencesOfSymbolAtPostionData ) ) ]
54- public void CanFindReferencesOfSymbolAtPostion ( int lineNumber , int columnNumber , Position [ ] positions )
60+ [ MemberData ( nameof ( FindReferencesOfSymbolAtPositionData ) ) ]
61+ public void CanFindReferencesOfSymbolAtPosition ( int lineNumber , int columnNumber , Range [ ] symbolRange )
5562 {
5663 SymbolReference symbol = AstOperations . FindSymbolAtPosition ( s_ast , lineNumber , columnNumber ) ;
5764
@@ -60,18 +67,25 @@ public void CanFindReferencesOfSymbolAtPostion(int lineNumber, int columnNumber,
6067 int positionsIndex = 0 ;
6168 foreach ( SymbolReference reference in references )
6269 {
63- Assert . Equal ( positions [ positionsIndex ] . Line , reference . ScriptRegion . StartLineNumber ) ;
64- Assert . Equal ( positions [ positionsIndex ] . Character , reference . ScriptRegion . StartColumnNumber ) ;
70+ Assert . Equal ( symbolRange [ positionsIndex ] . Start . Line , reference . ScriptRegion . StartLineNumber ) ;
71+ Assert . Equal ( symbolRange [ positionsIndex ] . Start . Character , reference . ScriptRegion . StartColumnNumber ) ;
72+ Assert . Equal ( symbolRange [ positionsIndex ] . End . Line , reference . ScriptRegion . EndLineNumber ) ;
73+ Assert . Equal ( symbolRange [ positionsIndex ] . End . Character , reference . ScriptRegion . EndColumnNumber ) ;
6574
6675 positionsIndex ++ ;
6776 }
6877 }
6978
70- public static object [ ] [ ] FindReferencesOfSymbolAtPostionData { get ; } = new object [ ] [ ]
79+ public static object [ ] [ ] FindReferencesOfSymbolAtPositionData { get ; } = new object [ ] [ ]
7180 {
72- new object [ ] { 2 , 3 , new [ ] { new Position ( 1 , 10 ) , new Position ( 2 , 1 ) } } ,
73- new object [ ] { 7 , 18 , new [ ] { new Position ( 4 , 19 ) , new Position ( 7 , 3 ) } } ,
74- new object [ ] { 22 , 13 , new [ ] { new Position ( 12 , 8 ) , new Position ( 22 , 5 ) } } ,
81+ new object [ ] { 1 , 15 , new [ ] { new Range ( 1 , 10 , 1 , 23 ) , new Range ( 2 , 1 , 2 , 14 ) } } ,
82+ new object [ ] { 2 , 3 , new [ ] { new Range ( 1 , 10 , 1 , 23 ) , new Range ( 2 , 1 , 2 , 14 ) } } ,
83+ new object [ ] { 4 , 31 , new [ ] { new Range ( 4 , 19 , 4 , 41 ) , new Range ( 7 , 3 , 7 , 25 ) } } ,
84+ new object [ ] { 7 , 18 , new [ ] { new Range ( 4 , 19 , 4 , 41 ) , new Range ( 7 , 3 , 7 , 25 ) } } ,
85+ new object [ ] { 22 , 13 , new [ ] { new Range ( 12 , 8 , 12 , 35 ) , new Range ( 22 , 5 , 22 , 32 ) } } ,
86+ new object [ ] { 12 , 22 , new [ ] { new Range ( 12 , 8 , 12 , 35 ) , new Range ( 22 , 5 , 22 , 32 ) } } ,
87+ new object [ ] { 24 , 30 , new [ ] { new Range ( 24 , 22 , 24 , 38 ) , new Range ( 24 , 44 , 24 , 60 ) } } ,
88+ new object [ ] { 24 , 52 , new [ ] { new Range ( 24 , 22 , 24 , 38 ) , new Range ( 24 , 44 , 24 , 60 ) } } ,
7589 } ;
7690 }
7791}
0 commit comments