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