Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 26691 Details for
Bug 108456
IPackageFragmentRoot#getPackageFragment() should not accept invalid package names
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
jdt.ui.tests.refactoring
HierarchicalPackageRename_tests.refactoring2005-08-31.1.txt (text/plain), 10.93 KB, created by
Markus Keller
on 2005-08-31 04:39:09 EDT
(
hide
)
Description:
jdt.ui.tests.refactoring
Filename:
MIME Type:
Creator:
Markus Keller
Created:
2005-08-31 04:39:09 EDT
Size:
10.93 KB
patch
obsolete
>Index: test cases/org/eclipse/jdt/ui/tests/refactoring/ParticipantTesting.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ParticipantTesting.java,v >retrieving revision 1.5 >diff -u -r1.5 ParticipantTesting.java >--- test cases/org/eclipse/jdt/ui/tests/refactoring/ParticipantTesting.java 25 Feb 2005 15:07:43 -0000 1.5 >+++ test cases/org/eclipse/jdt/ui/tests/refactoring/ParticipantTesting.java 31 Aug 2005 08:34:58 -0000 >@@ -75,7 +75,7 @@ > } > > public static void testRename(String[] handles, RenameArguments[] args) { >- Assert.assertTrue(handles.length == args.length); >+ Assert.assertEquals(handles.length, args.length); > if (handles.length == 0) { > TestRenameParticipantShared.testNumberOfElements(0); > TestRenameParticipantSingle.testNumberOfInstances(0); >@@ -90,7 +90,7 @@ > } > > public static void testMove(String[] handles, MoveArguments[] args) { >- Assert.assertTrue(handles.length == args.length); >+ Assert.assertEquals(handles.length, args.length); > if (handles.length == 0) { > TestMoveParticipantShared.testNumberOfElements(0); > TestMoveParticipantSingle.testNumberOfInstances(0); >Index: test cases/org/eclipse/jdt/ui/tests/refactoring/RenamePackageTests.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenamePackageTests.java,v >retrieving revision 1.34 >diff -u -r1.34 RenamePackageTests.java >--- test cases/org/eclipse/jdt/ui/tests/refactoring/RenamePackageTests.java 17 Jun 2005 15:50:27 -0000 1.34 >+++ test cases/org/eclipse/jdt/ui/tests/refactoring/RenamePackageTests.java 31 Aug 2005 08:34:59 -0000 >@@ -26,6 +26,12 @@ > import org.eclipse.core.resources.ResourceAttributes; > import org.eclipse.core.resources.ResourcesPlugin; > >+import org.eclipse.ltk.core.refactoring.Refactoring; >+import org.eclipse.ltk.core.refactoring.RefactoringStatus; >+import org.eclipse.ltk.core.refactoring.participants.MoveArguments; >+import org.eclipse.ltk.core.refactoring.participants.RenameArguments; >+import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring; >+ > import org.eclipse.jdt.core.ICompilationUnit; > import org.eclipse.jdt.core.IJavaProject; > import org.eclipse.jdt.core.IPackageFragment; >@@ -33,16 +39,12 @@ > import org.eclipse.jdt.core.JavaCore; > > import org.eclipse.jdt.internal.corext.refactoring.rename.RenamePackageProcessor; >+import org.eclipse.jdt.internal.corext.refactoring.util.JavaElementUtil; >+ > import org.eclipse.jdt.testplugin.JavaProjectHelper; > > import org.eclipse.jdt.ui.tests.refactoring.infra.DebugUtils; > >-import org.eclipse.ltk.core.refactoring.Refactoring; >-import org.eclipse.ltk.core.refactoring.RefactoringStatus; >-import org.eclipse.ltk.core.refactoring.participants.MoveArguments; >-import org.eclipse.ltk.core.refactoring.participants.RenameArguments; >-import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring; >- > > public class RenamePackageTests extends RefactoringTest { > private static final boolean BUG_6054= true; >@@ -52,6 +54,7 @@ > private static final String REFACTORING_PATH= "RenamePackage/"; > > private boolean fUpdateTextualMatches; >+ private boolean fRenameSubpackages; > > public RenamePackageTests(String name) { > super(name); >@@ -68,6 +71,7 @@ > protected void setUp() throws Exception { > super.setUp(); > fUpdateTextualMatches= false; >+ fRenameSubpackages= false; > } > > protected String getRefactoringPath() { >@@ -174,16 +178,29 @@ > } > } > String[] moveHandles= ParticipantTesting.createHandles(movedObjects.toArray()); >- String[] renameHandles= ParticipantTesting.createHandles(thisPackage); >+ String[] renameHandles= fRenameSubpackages >+ ? ParticipantTesting.createHandles(JavaElementUtil.getAllSubpackages(thisPackage)) >+ : ParticipantTesting.createHandles(thisPackage); > RenameRefactoring ref= createRefactoring(thisPackage, newPackageName); >- ((RenamePackageProcessor)ref.getProcessor()).setUpdateReferences(updateReferences); >- ((RenamePackageProcessor) ref.getProcessor()).setUpdateTextualMatches(fUpdateTextualMatches); >+ RenamePackageProcessor processor= (RenamePackageProcessor) ref.getProcessor(); >+ processor.setUpdateReferences(updateReferences); >+ processor.setUpdateTextualMatches(fUpdateTextualMatches); >+ processor.setRenameSubpackages(fRenameSubpackages); > RefactoringStatus result= performRefactoring(ref); > assertEquals("preconditions were supposed to pass", null, result); > >- ParticipantTesting.testRename(renameHandles, >- new RenameArguments[] { >- new RenameArguments(newPackageName, updateReferences)}); >+ RenameArguments[] renameArguments; >+ if (fRenameSubpackages) { >+ List arguments= new ArrayList(); >+ for (int i= 0; i < packageNames.length; i++) { >+ if (packageNames[i].startsWith(thisPackage.getElementName())) >+ arguments.add(new RenameArguments(processor.getNewSubPackageName(packageNames[i]), updateReferences)); >+ } >+ renameArguments= (RenameArguments[]) arguments.toArray(new RenameArguments[arguments.size()]); >+ } else { >+ renameArguments= new RenameArguments[] { new RenameArguments(newPackageName, updateReferences) }; >+ } >+ ParticipantTesting.testRename(renameHandles, renameArguments); > > if (!targetExists) { > ParticipantTesting.testCreate(createHandles); >@@ -205,20 +222,32 @@ > > //--- > >- assertTrue("package not renamed", ! getRoot().getPackageFragment(packageNames[0]).exists()); >+ assertTrue("package not renamed: " + packageNames[0], ! getRoot().getPackageFragment(packageNames[0]).exists()); > IPackageFragment newPackage= getRoot().getPackageFragment(newPackageName); > assertTrue("new package does not exist", newPackage.exists()); > > for (int i= 0; i < packageFileNames.length; i++){ >- String packageName= (i == 0) >- ? newPackageName.replace('.', '/') + "/" >- : packageNames[i].replace('.', '/') + "/"; >+ String packageName; >+ if (i == 0) { >+ packageName= newPackageName; >+ } else if (fRenameSubpackages) { >+ String oldName= packageNames[i]; >+ if (oldName.startsWith(packageNames[0])) >+ packageName= newPackageName + oldName.substring(packageNames[0].length()); >+ else >+ packageName= oldName; >+ } else { >+ packageName= packageNames[i]; >+ } >+ String packagePath= packageName.replace('.', '/') + "/"; >+ > for (int j= 0; j < packageFileNames[i].length; j++){ >- String s1= getFileContents(getOutputTestFileName(packageFileNames[i][j], packageName)); >- ICompilationUnit cu= >- (i == 0) >- ? newPackage.getCompilationUnit(packageFileNames[i][j] + ".java") >- : cus[i][j]; >+ String s1= getFileContents(getOutputTestFileName(packageFileNames[i][j], packagePath)); >+ >+//XXX: bug >+ ICompilationUnit cu= getRoot().getPackageFragment(packagePath).getCompilationUnit(packageFileNames[i][j] + ".java"); //does not work >+// ICompilationUnit cu= getRoot().getPackageFragment(packageName).getCompilationUnit(packageFileNames[i][j] + ".java"); //works >+ > //DebugUtils.dump("cu:" + cu.getElementName()); > String s2= cu.getSource(); > >@@ -229,14 +258,6 @@ > } > } finally{ > performDummySearch(); >- try { >- getRoot().getPackageFragment(newPackageName).delete(true, null); >- for (int i= 1; i < packageNames.length; i++) { >- getRoot().getPackageFragment(packageNames[i]).delete(true, null); >- } >- } catch (Exception e) { >- e.printStackTrace(); >- } > } > } > >@@ -353,6 +374,11 @@ > } > > // ---------- tests ------------- >+ public void testHierarchical01() throws Exception { >+ fRenameSubpackages= true; >+ helper2(new String[]{"my", "my.a", "my.b"}, new String[][]{{"MyA"},{"ATest"},{"B"}}, "your"); >+ } >+ > public void testFail0() throws Exception{ > helper1(new String[]{"r"}, new String[][]{{"A"}}, "9"); > } >Index: resources/RenamePackage/testHierarchical01/in/my/MyA.java >=================================================================== >RCS file: resources/RenamePackage/testHierarchical01/in/my/MyA.java >diff -N resources/RenamePackage/testHierarchical01/in/my/MyA.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ resources/RenamePackage/testHierarchical01/in/my/MyA.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,11 @@ >+package my; >+ >+ >+import my.b.B; >+import my.a.ATest; >+import my.b.B; >+import my.a.ATest; >+import my.b.B; >+ >+public class MyA { >+} >Index: resources/RenamePackage/testHierarchical01/in/my/a/ATest.java >=================================================================== >RCS file: resources/RenamePackage/testHierarchical01/in/my/a/ATest.java >diff -N resources/RenamePackage/testHierarchical01/in/my/a/ATest.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ resources/RenamePackage/testHierarchical01/in/my/a/ATest.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,5 @@ >+package my.a; >+ >+public class ATest { >+ >+} >Index: resources/RenamePackage/testHierarchical01/in/my/b/B.java >=================================================================== >RCS file: resources/RenamePackage/testHierarchical01/in/my/b/B.java >diff -N resources/RenamePackage/testHierarchical01/in/my/b/B.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ resources/RenamePackage/testHierarchical01/in/my/b/B.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,4 @@ >+package my.b; >+ >+public class B { >+} >Index: resources/RenamePackage/testHierarchical01/out/your/MyA.java >=================================================================== >RCS file: resources/RenamePackage/testHierarchical01/out/your/MyA.java >diff -N resources/RenamePackage/testHierarchical01/out/your/MyA.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ resources/RenamePackage/testHierarchical01/out/your/MyA.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,8 @@ >+package your; >+ >+ >+import your.a.ATest; >+import your.b.B; >+ >+public class MyA { >+} >Index: resources/RenamePackage/testHierarchical01/out/your/a/ATest.java >=================================================================== >RCS file: resources/RenamePackage/testHierarchical01/out/your/a/ATest.java >diff -N resources/RenamePackage/testHierarchical01/out/your/a/ATest.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ resources/RenamePackage/testHierarchical01/out/your/a/ATest.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,5 @@ >+package your.a; >+ >+public class ATest { >+ >+} >Index: resources/RenamePackage/testHierarchical01/out/your/b/B.java >=================================================================== >RCS file: resources/RenamePackage/testHierarchical01/out/your/b/B.java >diff -N resources/RenamePackage/testHierarchical01/out/your/b/B.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ resources/RenamePackage/testHierarchical01/out/your/b/B.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,4 @@ >+package your.b; >+ >+public class B { >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 108456
:
26690
|
26691
|
76885