Skip to content

Commit cf033c9

Browse files
committed
Allow different orders in CodeRename
1 parent 38defc6 commit cf033c9

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

language-server/test/dotty/tools/languageserver/util/Responses.scala

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,17 @@ object Responses {
1212
checkRange(loc.getRange, ref)
1313
}
1414

15-
def checkRange(range: Range, ref: CodeRange): PosCtx[Unit] = {
15+
def checkRange(range: Range, ref: CodeRange): PosCtx[Unit] =
16+
assert(rangeEqual(range, ref), (range, ref.show))
17+
18+
def rangeEqual(range: Range, ref: CodeRange): PosCtx[Boolean] = {
1619
ref.check()
1720
val start = ref.start
1821
val end = ref.end
19-
assert(range.getStart.getLine == start.line, (range, ref.show))
20-
assert(range.getStart.getCharacter == start.character, (range, ref.show))
21-
assert(range.getEnd.getLine == end.line, (range, ref.show))
22-
assert(range.getEnd.getCharacter == end.character, (range, ref.show))
22+
range.getStart.getLine == start.line &&
23+
range.getStart.getCharacter == start.character &&
24+
range.getEnd.getLine == end.line &&
25+
range.getEnd.getCharacter == end.character
2326
}
2427

2528
}

language-server/test/dotty/tools/languageserver/util/actions/CodeRename.scala

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@ class CodeRename(val marker: CodeMarker, newName: String, expected: List[CodeRan
1111
override def onPosition(file: TestFile, line: Int, char: Int): Exec = {
1212
val res = implicitly[TestServer].rename(file, line, char, newName)
1313
assert(res.getDocumentChanges == null, res)
14-
for ( (edit, exp) <- res.getChanges.values().asScala.flatMap(_.asScala).zip(expected)) {
15-
assert(edit.getNewText == newName, res)
16-
Responses.checkRange(edit.getRange, exp)
17-
}
14+
val editItems = res.getChanges.values().asScala.flatMap(_.asScala) // TDO use a Map
15+
assert(expected.forall { exp =>
16+
editItems.exists { editItem =>
17+
editItem.getNewText == newName &&
18+
Responses.rangeEqual(editItem.getRange, exp)
19+
}
20+
}, res)
1821
}
1922

2023
override def show: PositionContext.PosCtx[String] =

0 commit comments

Comments
 (0)