@@ -40,113 +40,113 @@ public void Dispose()
4040 [ Fact ]
4141 public void GetVariableExpressionAst ( )
4242 {
43- RenameSymbolParams request = new ( ) {
44- Column = 11 ,
45- Line = 15 ,
46- RenameTo = "Renamed" ,
47- FileName = "TestDetection.ps1"
43+ RenameSymbolParams request = new ( )
44+ {
45+ Column = 11 ,
46+ Line = 15 ,
47+ RenameTo = "Renamed" ,
48+ FileName = "TestDetection.ps1"
4849 } ;
4950 ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
5051
51- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
52- Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
53- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
52+ Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
53+ Assert . IsType < VariableExpressionAst > ( symbol ) ;
54+ Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
55+ Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
5456
5557 }
5658 [ Fact ]
5759 public void GetVariableExpressionStartAst ( )
5860 {
59- RenameSymbolParams request = new ( ) {
60- Column = 1 ,
61- Line = 15 ,
62- RenameTo = "Renamed" ,
63- FileName = "TestDetection.ps1"
61+ RenameSymbolParams request = new ( )
62+ {
63+ Column = 1 ,
64+ Line = 15 ,
65+ RenameTo = "Renamed" ,
66+ FileName = "TestDetection.ps1"
6467 } ;
6568 ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
6669
67- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
68- Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
69- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
70+ Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
71+ Assert . IsType < VariableExpressionAst > ( symbol ) ;
72+ Assert . Equal ( 15 , symbol . Extent . StartLineNumber ) ;
73+ Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
7074
7175 }
7276 [ Fact ]
7377 public void GetVariableWithinParameterAst ( )
7478 {
75- RenameSymbolParams request = new ( ) {
76- Column = 21 ,
77- Line = 3 ,
78- RenameTo = "Renamed" ,
79- FileName = "TestDetection.ps1"
79+ RenameSymbolParams request = new ( )
80+ {
81+ Column = 21 ,
82+ Line = 3 ,
83+ RenameTo = "Renamed" ,
84+ FileName = "TestDetection.ps1"
8085 } ;
8186 ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
8287
83- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
84- Assert . Equal ( 3 , symbol . Extent . StartLineNumber ) ;
85- Assert . Equal ( 17 , symbol . Extent . StartColumnNumber ) ;
88+ Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
89+ Assert . IsType < VariableExpressionAst > ( symbol ) ;
90+ Assert . Equal ( 3 , symbol . Extent . StartLineNumber ) ;
91+ Assert . Equal ( 17 , symbol . Extent . StartColumnNumber ) ;
8692
8793 }
8894 [ Fact ]
8995 public void GetHashTableKey ( )
9096 {
91- RenameSymbolParams request = new ( ) {
92- Column = 9 ,
93- Line = 16 ,
94- RenameTo = "Renamed" ,
95- FileName = "TestDetection.ps1"
97+ RenameSymbolParams request = new ( )
98+ {
99+ Column = 9 ,
100+ Line = 16 ,
101+ RenameTo = "Renamed" ,
102+ FileName = "TestDetection.ps1"
96103 } ;
97104 ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
98-
99- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
100- Assert . Equal ( 16 , symbol . Extent . StartLineNumber ) ;
101- Assert . Equal ( 5 , symbol . Extent . StartColumnNumber ) ;
105+ List < Token > Tokens = scriptFile . ScriptTokens . Cast < Token > ( ) . ToList ( ) ;
106+ IEnumerable < Token > Found = Tokens . FindAll ( e =>
107+ {
108+ return e . Extent . StartLineNumber == request . Line &&
109+ e . Extent . StartColumnNumber <= request . Column &&
110+ e . Extent . EndColumnNumber >= request . Column ;
111+ } ) ;
112+ Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
113+ Assert . Equal ( 16 , symbol . Extent . StartLineNumber ) ;
114+ Assert . Equal ( 5 , symbol . Extent . StartColumnNumber ) ;
102115
103116 }
104117 [ Fact ]
105118 public void GetVariableWithinCommandAst ( )
106119 {
107- RenameSymbolParams request = new ( ) {
108- Column = 29 ,
109- Line = 6 ,
110- RenameTo = "Renamed" ,
111- FileName = "TestDetection.ps1"
120+ RenameSymbolParams request = new ( )
121+ {
122+ Column = 29 ,
123+ Line = 6 ,
124+ RenameTo = "Renamed" ,
125+ FileName = "TestDetection.ps1"
112126 } ;
113127 ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
114128
115- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
116- Assert . Equal ( 6 , symbol . Extent . StartLineNumber ) ;
117- Assert . Equal ( 28 , symbol . Extent . StartColumnNumber ) ;
129+ Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
130+ Assert . Equal ( 6 , symbol . Extent . StartLineNumber ) ;
131+ Assert . Equal ( 28 , symbol . Extent . StartColumnNumber ) ;
118132
119133 }
120134 [ Fact ]
121135 public void GetCommandParameterAst ( )
122136 {
123- RenameSymbolParams request = new ( ) {
124- Column = 12 ,
125- Line = 21 ,
126- RenameTo = "Renamed" ,
127- FileName = "TestDetection.ps1"
128- } ;
129- ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
130-
131- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
132- Assert . Equal ( 21 , symbol . Extent . StartLineNumber ) ;
133- Assert . Equal ( 10 , symbol . Extent . StartColumnNumber ) ;
134-
135- }
136- [ Fact ]
137- public void GetFunctionDefinitionAst ( )
138- {
139- RenameSymbolParams request = new ( ) {
140- Column = 12 ,
141- Line = 1 ,
142- RenameTo = "Renamed" ,
143- FileName = "TestDetection.ps1"
137+ RenameSymbolParams request = new ( )
138+ {
139+ Column = 12 ,
140+ Line = 21 ,
141+ RenameTo = "Renamed" ,
142+ FileName = "TestDetection.ps1"
144143 } ;
145144 ScriptFile scriptFile = GetTestScript ( request . FileName ) ;
146145
147- Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
148- Assert . Equal ( 1 , symbol . Extent . StartLineNumber ) ;
149- Assert . Equal ( 1 , symbol . Extent . StartColumnNumber ) ;
146+ Ast symbol = Utilities . GetAst ( request . Line , request . Column , scriptFile . ScriptAst ) ;
147+ Assert . IsType < CommandParameterAst > ( symbol ) ;
148+ Assert . Equal ( 21 , symbol . Extent . StartLineNumber ) ;
149+ Assert . Equal ( 10 , symbol . Extent . StartColumnNumber ) ;
150150
151151 }
152152 }
0 commit comments