@@ -35,23 +35,30 @@ function FunctionWithExtraSpace
35
35
36
36
37
37
FunctionNameOnDifferentLine
38
+
39
+ function IndentedFunction { } IndentedFunction
38
40
" ;
39
41
private static readonly ScriptBlockAst s_ast = ( ScriptBlockAst ) ScriptBlock . Create ( s_scriptString ) . Ast ;
40
42
41
43
[ Theory ]
44
+ [ InlineData ( 1 , 15 , "BasicFunction" ) ]
42
45
[ InlineData ( 2 , 3 , "BasicFunction" ) ]
46
+ [ InlineData ( 4 , 31 , "FunctionWithExtraSpace" ) ]
43
47
[ InlineData ( 7 , 18 , "FunctionWithExtraSpace" ) ]
48
+ [ InlineData ( 12 , 22 , "FunctionNameOnDifferentLine" ) ]
44
49
[ 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 )
46
53
{
47
54
SymbolReference reference = AstOperations . FindSymbolAtPosition ( s_ast , lineNumber , columnNumber ) ;
48
55
Assert . NotNull ( reference ) ;
49
56
Assert . Equal ( expectedName , reference . SymbolName ) ;
50
57
}
51
58
52
59
[ 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 )
55
62
{
56
63
SymbolReference symbol = AstOperations . FindSymbolAtPosition ( s_ast , lineNumber , columnNumber ) ;
57
64
@@ -60,18 +67,25 @@ public void CanFindReferencesOfSymbolAtPostion(int lineNumber, int columnNumber,
60
67
int positionsIndex = 0 ;
61
68
foreach ( SymbolReference reference in references )
62
69
{
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 ) ;
65
74
66
75
positionsIndex ++ ;
67
76
}
68
77
}
69
78
70
- public static object [ ] [ ] FindReferencesOfSymbolAtPostionData { get ; } = new object [ ] [ ]
79
+ public static object [ ] [ ] FindReferencesOfSymbolAtPositionData { get ; } = new object [ ] [ ]
71
80
{
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 ) } } ,
75
89
} ;
76
90
}
77
91
}
0 commit comments