@@ -43,3 +43,43 @@ class RenameDefinitionTest : SingleFileTestFixture("rename", "SomeOtherClass.kt"
43
43
assertThat(changes[0 ].left.edits[0 ].range.end, equalTo(Position (2 , 20 )))
44
44
}
45
45
}
46
+
47
+ class RenameDeclarationSiteTest : SingleFileTestFixture (" rename" , " DeclSite.kt" ) {
48
+
49
+ @Test
50
+ fun `should rename variable from usage site` () {
51
+ val usageFile = workspaceRoot.resolve(" UsageSite.kt" ).toString()
52
+ val edits = languageServer.textDocumentService.rename(renameParams(usageFile, 4 , 13 , " newvarname" )).get()!!
53
+ val changes = edits.documentChanges
54
+
55
+ assertThat(changes.size, equalTo(2 ))
56
+
57
+ val firstChange = changes[0 ].left
58
+ assertThat(firstChange.textDocument.uri, containsString(" DeclSite.kt" ))
59
+ assertThat(firstChange.edits[0 ].newText, equalTo(" newvarname" ))
60
+ assertThat(firstChange.edits[0 ].range, equalTo(range(3 , 5 , 3 , 10 )))
61
+
62
+ val secondChange = changes[1 ].left
63
+ assertThat(secondChange.textDocument.uri, containsString(" UsageSite.kt" ))
64
+ assertThat(secondChange.edits[0 ].newText, equalTo(" newvarname" ))
65
+ assertThat(secondChange.edits[0 ].range, equalTo(range(4 , 13 , 4 , 18 )))
66
+ }
67
+
68
+ @Test
69
+ fun `should rename variable from declaration site` () {
70
+ val edits = languageServer.textDocumentService.rename(renameParams(file, 3 , 6 , " newvarname" )).get()!!
71
+ val changes = edits.documentChanges
72
+
73
+ assertThat(changes.size, equalTo(2 ))
74
+
75
+ val firstChange = changes[0 ].left
76
+ assertThat(firstChange.textDocument.uri, containsString(" DeclSite.kt" ))
77
+ assertThat(firstChange.edits[0 ].newText, equalTo(" newvarname" ))
78
+ assertThat(firstChange.edits[0 ].range, equalTo(range(3 , 5 , 3 , 10 )))
79
+
80
+ val secondChange = changes[1 ].left
81
+ assertThat(secondChange.textDocument.uri, containsString(" UsageSite.kt" ))
82
+ assertThat(secondChange.edits[0 ].newText, equalTo(" newvarname" ))
83
+ assertThat(secondChange.edits[0 ].range, equalTo(range(4 , 13 , 4 , 18 )))
84
+ }
85
+ }
0 commit comments