@@ -236,6 +236,85 @@ class RenameTest {
236
236
237
237
}
238
238
239
+ @ Test def renameValMultiProject : Unit = {
240
+ def testRename (m : CodeMarker , expectations : Set [CodeRange ]) = {
241
+ val p0 = Project .withSources(
242
+ code """ object A { val ${m1}foo ${m2} = 0 } """
243
+ )
244
+
245
+ val p1 = Project .dependingOn(p0).withSources(
246
+ code """ object B { val ${m3}bar ${m4} = A. ${m5}foo ${m6} } """
247
+ )
248
+
249
+ val p2 = Project .dependingOn(p1).withSources(
250
+ code """ object C { val ${m7}baz ${m8} = A. ${m9}foo ${m10} + B. ${m11}bar ${m12} } """
251
+ )
252
+
253
+ withProjects(p0, p1, p2).rename(m, " NewName" , expectations)
254
+ }
255
+
256
+ testRename(m1, Set (m1 to m2, m5 to m6, m9 to m10))
257
+ testRename(m5, Set (m1 to m2, m5 to m6, m9 to m10))
258
+ testRename(m9, Set (m1 to m2, m5 to m6, m9 to m10))
259
+
260
+ testRename(m3, Set (m3 to m4, m11 to m12))
261
+ testRename(m11, Set (m3 to m4, m11 to m12))
262
+
263
+ testRename(m7, Set (m7 to m8))
264
+ }
265
+
266
+ @ Test def renameClassMultiProject : Unit = {
267
+ val m21 = new CodeMarker (" m21" )
268
+ val m22 = new CodeMarker (" m22" )
269
+ val m23 = new CodeMarker (" m23" )
270
+ val m24 = new CodeMarker (" m24" )
271
+ val m25 = new CodeMarker (" m25" )
272
+ val m26 = new CodeMarker (" m26" )
273
+ val m27 = new CodeMarker (" m27" )
274
+ val m28 = new CodeMarker (" m28" )
275
+ def testRename (m : CodeMarker , expectations : Set [CodeRange ]) = {
276
+ val p0 = Project .withSources(
277
+ code """ package a
278
+ object ${m1}A ${m2} { class ${m3}B ${m4} } """
279
+ )
280
+
281
+ val p1 = Project .dependingOn(p0).withSources(
282
+ code """ package b
283
+ import a. ${m5}A ${m6}.{ ${m7}B ${m8} => ${m9}AB ${m10}}
284
+ object ${m11}B ${m12} { class ${m13}C ${m14} extends ${m15}AB ${m16} } """
285
+ )
286
+
287
+ val p2 = Project .dependingOn(p1).withSources(
288
+ code """ package c
289
+ import b. ${m17}B ${m18}.{ ${m19}C ${m20} => ${m21}BC ${m22}}
290
+ object ${m23}C ${m24} { class ${m25}D ${m26} extends ${m27}BC ${m28} } """
291
+ )
292
+
293
+ withProjects(p0, p1, p2).rename(m, " NewName" , expectations)
294
+ }
295
+
296
+ testRename(m1, Set (m1 to m2, m5 to m6))
297
+ testRename(m5, Set (m1 to m2, m5 to m6))
298
+
299
+ testRename(m3, Set (m3 to m4, m7 to m8))
300
+ testRename(m7, Set (m3 to m4, m7 to m8))
301
+
302
+ testRename(m9, Set (m9 to m10, m15 to m16))
303
+ testRename(m15, Set (m9 to m10, m15 to m16))
239
304
305
+ testRename(m11, Set (m11 to m12, m17 to m18))
306
+ testRename(m17, Set (m11 to m12, m17 to m18))
307
+
308
+ testRename(m13, Set (m13 to m14, m19 to m20))
309
+ testRename(m19, Set (m13 to m14, m19 to m20))
310
+
311
+ testRename(m21, Set (m21 to m22, m27 to m28))
312
+ testRename(m27, Set (m21 to m22, m27 to m28))
313
+
314
+ testRename(m23, Set (m23 to m24))
315
+
316
+ testRename(m25, Set (m25 to m26))
317
+
318
+ }
240
319
241
320
}
0 commit comments