Skip to content

Commit 05dac0b

Browse files
committed
formatting an new test for finding a function
1 parent bc1ba49 commit 05dac0b

File tree

1 file changed

+84
-49
lines changed

1 file changed

+84
-49
lines changed

test/PowerShellEditorServices.Test/Refactoring/RefactorUtilitiesTests.cs

Lines changed: 84 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
using Xunit;
1414
using Microsoft.PowerShell.EditorServices.Refactoring;
1515
using System.Management.Automation.Language;
16+
using System.Collections.Generic;
17+
using System.Linq;
1618

1719
namespace PowerShellEditorServices.Test.Refactoring
1820
{
@@ -40,98 +42,131 @@ public void Dispose()
4042
[Fact]
4143
public void GetVariableExpressionAst()
4244
{
43-
RenameSymbolParams request = new(){
44-
Column=11,
45-
Line=15,
46-
RenameTo="Renamed",
47-
FileName="TestDetection.ps1"
45+
RenameSymbolParams request = new()
46+
{
47+
Column = 11,
48+
Line = 15,
49+
RenameTo = "Renamed",
50+
FileName = "TestDetection.ps1"
4851
};
4952
ScriptFile scriptFile = GetTestScript(request.FileName);
5053

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);
54+
Ast symbol = Utilities.GetAst(request.Line, request.Column, scriptFile.ScriptAst);
55+
Assert.IsType<VariableExpressionAst>(symbol);
56+
Assert.Equal(15, symbol.Extent.StartLineNumber);
57+
Assert.Equal(1, symbol.Extent.StartColumnNumber);
5458

5559
}
5660
[Fact]
5761
public void GetVariableExpressionStartAst()
5862
{
59-
RenameSymbolParams request = new(){
60-
Column=1,
61-
Line=15,
62-
RenameTo="Renamed",
63-
FileName="TestDetection.ps1"
63+
RenameSymbolParams request = new()
64+
{
65+
Column = 1,
66+
Line = 15,
67+
RenameTo = "Renamed",
68+
FileName = "TestDetection.ps1"
6469
};
6570
ScriptFile scriptFile = GetTestScript(request.FileName);
6671

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);
72+
Ast symbol = Utilities.GetAst(request.Line, request.Column, scriptFile.ScriptAst);
73+
Assert.IsType<VariableExpressionAst>(symbol);
74+
Assert.Equal(15, symbol.Extent.StartLineNumber);
75+
Assert.Equal(1, symbol.Extent.StartColumnNumber);
7076

7177
}
7278
[Fact]
7379
public void GetVariableWithinParameterAst()
7480
{
75-
RenameSymbolParams request = new(){
76-
Column=21,
77-
Line=3,
78-
RenameTo="Renamed",
79-
FileName="TestDetection.ps1"
81+
RenameSymbolParams request = new()
82+
{
83+
Column = 21,
84+
Line = 3,
85+
RenameTo = "Renamed",
86+
FileName = "TestDetection.ps1"
8087
};
8188
ScriptFile scriptFile = GetTestScript(request.FileName);
8289

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);
90+
Ast symbol = Utilities.GetAst(request.Line, request.Column, scriptFile.ScriptAst);
91+
Assert.IsType<VariableExpressionAst>(symbol);
92+
Assert.Equal(3, symbol.Extent.StartLineNumber);
93+
Assert.Equal(17, symbol.Extent.StartColumnNumber);
8694

8795
}
8896
[Fact]
8997
public void GetHashTableKey()
9098
{
91-
RenameSymbolParams request = new(){
92-
Column=9,
93-
Line=16,
94-
RenameTo="Renamed",
95-
FileName="TestDetection.ps1"
99+
RenameSymbolParams request = new()
100+
{
101+
Column = 9,
102+
Line = 16,
103+
RenameTo = "Renamed",
104+
FileName = "TestDetection.ps1"
96105
};
97106
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);
107+
List<Token> Tokens = scriptFile.ScriptTokens.Cast<Token>().ToList();
108+
IEnumerable<Token> Found = Tokens.FindAll(e =>
109+
{
110+
return e.Extent.StartLineNumber == request.Line &&
111+
e.Extent.StartColumnNumber <= request.Column &&
112+
e.Extent.EndColumnNumber >= request.Column;
113+
});
114+
Ast symbol = Utilities.GetAst(request.Line, request.Column, scriptFile.ScriptAst);
115+
Assert.Equal(16, symbol.Extent.StartLineNumber);
116+
Assert.Equal(5, symbol.Extent.StartColumnNumber);
102117

103118
}
104119
[Fact]
105120
public void GetVariableWithinCommandAst()
106121
{
107-
RenameSymbolParams request = new(){
108-
Column=29,
109-
Line=6,
110-
RenameTo="Renamed",
111-
FileName="TestDetection.ps1"
122+
RenameSymbolParams request = new()
123+
{
124+
Column = 29,
125+
Line = 6,
126+
RenameTo = "Renamed",
127+
FileName = "TestDetection.ps1"
112128
};
113129
ScriptFile scriptFile = GetTestScript(request.FileName);
114130

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);
131+
Ast symbol = Utilities.GetAst(request.Line, request.Column, scriptFile.ScriptAst);
132+
Assert.Equal(6, symbol.Extent.StartLineNumber);
133+
Assert.Equal(28, symbol.Extent.StartColumnNumber);
118134

119135
}
120136
[Fact]
121137
public void GetCommandParameterAst()
122138
{
123-
RenameSymbolParams request = new(){
124-
Column=12,
125-
Line=21,
126-
RenameTo="Renamed",
127-
FileName="TestDetection.ps1"
139+
RenameSymbolParams request = new()
140+
{
141+
Column = 12,
142+
Line = 21,
143+
RenameTo = "Renamed",
144+
FileName = "TestDetection.ps1"
128145
};
129146
ScriptFile scriptFile = GetTestScript(request.FileName);
130147

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);
148+
Ast symbol = Utilities.GetAst(request.Line, request.Column, scriptFile.ScriptAst);
149+
Assert.IsType<CommandParameterAst>(symbol);
150+
Assert.Equal(21, symbol.Extent.StartLineNumber);
151+
Assert.Equal(10, symbol.Extent.StartColumnNumber);
152+
153+
}
154+
[Fact]
155+
public void GetFunctionDefinitionAst()
156+
{
157+
RenameSymbolParams request = new()
158+
{
159+
Column = 16,
160+
Line = 1,
161+
RenameTo = "Renamed",
162+
FileName = "TestDetection.ps1"
163+
};
164+
ScriptFile scriptFile = GetTestScript(request.FileName);
134165

166+
Ast symbol = Utilities.GetAst(request.Line, request.Column, scriptFile.ScriptAst);
167+
Assert.IsType<FunctionDefinitionAst>(symbol);
168+
Assert.Equal(1, symbol.Extent.StartLineNumber);
169+
Assert.Equal(1, symbol.Extent.StartColumnNumber);
135170
}
136171
}
137172
}

0 commit comments

Comments
 (0)