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 60585 Details for
Bug 6584
Need a way to get class files for a java file (or CU)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Regression tests
patch_6584_tests.txt (text/plain), 43.14 KB, created by
Olivier Thomann
on 2007-03-12 14:08:26 EDT
(
hide
)
Description:
Regression tests
Filename:
MIME Type:
Creator:
Olivier Thomann
Created:
2007-03-12 14:08:26 EDT
Size:
43.14 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core.tests.builder >Index: src/org/eclipse/jdt/core/tests/builder/GetResourcesTests.java >=================================================================== >RCS file: src/org/eclipse/jdt/core/tests/builder/GetResourcesTests.java >diff -N src/org/eclipse/jdt/core/tests/builder/GetResourcesTests.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/jdt/core/tests/builder/GetResourcesTests.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,1010 @@ >+/******************************************************************************* >+ * Copyright (c) 2006 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ *******************************************************************************/ >+package org.eclipse.jdt.core.tests.builder; >+ >+import java.io.PrintWriter; >+import java.io.StringWriter; >+import java.util.Arrays; >+import java.util.Comparator; >+ >+import junit.framework.Test; >+import junit.framework.TestSuite; >+ >+import org.eclipse.core.resources.IResource; >+import org.eclipse.core.runtime.IPath; >+import org.eclipse.core.runtime.Path; >+import org.eclipse.jdt.core.ICompilationUnit; >+import org.eclipse.jdt.core.IJavaProject; >+import org.eclipse.jdt.core.IPackageFragment; >+import org.eclipse.jdt.core.IPackageFragmentRoot; >+import org.eclipse.jdt.core.IRegion; >+import org.eclipse.jdt.core.JavaCore; >+import org.eclipse.jdt.core.JavaModelException; >+import org.eclipse.jdt.core.tests.util.Util; >+ >+/** >+ * Basic tests of {@link JavaCore#getGeneratedResources(IRegion, boolean)}. >+ */ >+public class GetResourcesTests extends BuilderTests { >+ >+ private static final Comparator COMPARATOR = new Comparator() { >+ public int compare(Object o1, Object o2) { >+ IResource resource1 = (IResource) o1; >+ IResource resource2 = (IResource) o2; >+ String path1 = resource1.getFullPath().toString(); >+ String path2 = resource2.getFullPath().toString(); >+ int length1 = path1.length(); >+ int length2 = path2.length(); >+ >+ if (length1 != length2) { >+ return length1 - length2; >+ } >+ return path1.toString().compareTo(path2.toString()); >+ } >+ }; >+ >+ public GetResourcesTests(String name) { >+ super(name); >+ } >+ >+ public static Test suite() { >+ if (true) >+ return buildTestSuite(GetResourcesTests.class); >+ TestSuite suite = new TestSuite(GetResourcesTests.class.getName()); >+ suite.addTest(new GetResourcesTests("test015")); >+ return suite; >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test001() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Hello.java");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 1, resources.length);//$NON-NLS-1$ >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = "/Project/bin/p1/Hello.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test002() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n"+ //$NON-NLS-1$ >+ " Object foo() {\n" + //$NON-NLS-1$ >+ " return new Object() {};\n" + //$NON-NLS-1$ >+ " }\n" + //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Hello.java");//$NON-NLS-1$ >+ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$1.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test003() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n"+ //$NON-NLS-1$ >+ " Object foo() {\n" + >+ " if(false) {\n" + //$NON-NLS-1$ >+ " return new Object() {};\n" + >+ " }\n" + >+ " return null;\n" + //$NON-NLS-1$ >+ " }\n" + //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Hello.java");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 1, resources.length);//$NON-NLS-1$ >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = "/Project/bin/p1/Hello.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test004() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n"+ //$NON-NLS-1$ >+ " Object foo() {\n" + >+ " return new Object() {};\n" + >+ " }\n" + //$NON-NLS-1$ >+ " Object foo2() {\n" + >+ " return new Object() {};\n" + >+ " }\n" + //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Hello.java");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 3, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$1.class\n" + >+ "/Project/bin/p1/Hello$2.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test005() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "a", "Anon", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package a;\n" + >+ "\n" + >+ "public class Anon {\n" + >+ "\n" + >+ " Anon() {\n" + >+ " Object o1 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"1\"; // a/Anon$3 in 1.5, a/Anon$11 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o2 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"2\"; // a/Anon$4 in 1.5, a/Anon$12 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " void hello() {\n" + >+ " Object o3 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"3\"; // a/Anon$5 in 1.5, a/Anon$13 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o4 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"4\"; // a/Anon$6 in 1.5, a/Anon$14 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static void hello2() {\n" + >+ " Object o5 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"5\"; // a/Anon$7 in 1.5, a/Anon$15 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o6 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"6\"; // a/Anon$8 in 1.5, a/Anon$16 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static {\n" + >+ " Object o7 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"7\"; // a/Anon$1 in 1.5, a/Anon$1 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ "\n" + >+ " Object o8 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"8\"; // a/Anon$2 in 1.5, a/Anon$2 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static class Anon2 {\n" + >+ " // it\'s an object init block which has different prio as constructor!\n" + >+ " {\n" + >+ " Object o1 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"1\"; // a/Anon$Anon2$1 in 1.5, a/Anon$3 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o2 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"2\"; // a/Anon$Anon2$2 in 1.5, a/Anon$4 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " void hello() {\n" + >+ " Object o3 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"3\"; // a/Anon$Anon2$5 in 1.5, a/Anon$7 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o4 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"4\"; // a/Anon$Anon2$6 in 1.5, a/Anon$8 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static void hello2() {\n" + >+ " Object o5 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"5\"; // a/Anon$Anon2$7 in 1.5, a/Anon$9 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o6 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"6\"; // a/Anon$Anon2$8 in 1.5, a/Anon$10 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static {\n" + >+ " Object o7 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"7\"; // a/Anon$Anon2$3 in 1.5, a/Anon$5 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ "\n" + >+ " Object o8 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"8\"; // a/Anon$Anon2$4 in 1.5, a/Anon$6 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ " }\n" + >+ "}"); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("a");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Anon.java");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 18, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/a/Anon.class\n" + >+ "/Project/bin/a/Anon$1.class\n" + >+ "/Project/bin/a/Anon$2.class\n" + >+ "/Project/bin/a/Anon$3.class\n" + >+ "/Project/bin/a/Anon$4.class\n" + >+ "/Project/bin/a/Anon$5.class\n" + >+ "/Project/bin/a/Anon$6.class\n" + >+ "/Project/bin/a/Anon$7.class\n" + >+ "/Project/bin/a/Anon$8.class\n" + >+ "/Project/bin/a/Anon$9.class\n" + >+ "/Project/bin/a/Anon$10.class\n" + >+ "/Project/bin/a/Anon$11.class\n" + >+ "/Project/bin/a/Anon$12.class\n" + >+ "/Project/bin/a/Anon$13.class\n" + >+ "/Project/bin/a/Anon$14.class\n" + >+ "/Project/bin/a/Anon$15.class\n" + >+ "/Project/bin/a/Anon$16.class\n" + >+ "/Project/bin/a/Anon$Anon2.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test006() throws JavaModelException { >+ IPath projectPath = env.addProject("Project", "1.5"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "a", "Anon", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package a;\n" + >+ "\n" + >+ "public class Anon {\n" + >+ "\n" + >+ " Anon() {\n" + >+ " Object o1 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"1\"; // a/Anon$3 in 1.5, a/Anon$11 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o2 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"2\"; // a/Anon$4 in 1.5, a/Anon$12 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " void hello() {\n" + >+ " Object o3 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"3\"; // a/Anon$5 in 1.5, a/Anon$13 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o4 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"4\"; // a/Anon$6 in 1.5, a/Anon$14 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static void hello2() {\n" + >+ " Object o5 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"5\"; // a/Anon$7 in 1.5, a/Anon$15 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o6 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"6\"; // a/Anon$8 in 1.5, a/Anon$16 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static {\n" + >+ " Object o7 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"7\"; // a/Anon$1 in 1.5, a/Anon$1 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ "\n" + >+ " Object o8 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"8\"; // a/Anon$2 in 1.5, a/Anon$2 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static class Anon2 {\n" + >+ " // it\'s an object init block which has different prio as constructor!\n" + >+ " {\n" + >+ " Object o1 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"1\"; // a/Anon$Anon2$1 in 1.5, a/Anon$3 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o2 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"2\"; // a/Anon$Anon2$2 in 1.5, a/Anon$4 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " void hello() {\n" + >+ " Object o3 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"3\"; // a/Anon$Anon2$5 in 1.5, a/Anon$7 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o4 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"4\"; // a/Anon$Anon2$6 in 1.5, a/Anon$8 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static void hello2() {\n" + >+ " Object o5 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"5\"; // a/Anon$Anon2$7 in 1.5, a/Anon$9 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " Object o6 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"6\"; // a/Anon$Anon2$8 in 1.5, a/Anon$10 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ "\n" + >+ " static {\n" + >+ " Object o7 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"7\"; // a/Anon$Anon2$3 in 1.5, a/Anon$5 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ "\n" + >+ " Object o8 = new Object() {\n" + >+ " public String toString() {\n" + >+ " return \"8\"; // a/Anon$Anon2$4 in 1.5, a/Anon$6 in 1.4\n" + >+ " }\n" + >+ " };\n" + >+ " }\n" + >+ " }\n" + >+ "}"); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("a");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Anon.java");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 18, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/a/Anon.class\n" + >+ "/Project/bin/a/Anon$1.class\n" + >+ "/Project/bin/a/Anon$2.class\n" + >+ "/Project/bin/a/Anon$3.class\n" + >+ "/Project/bin/a/Anon$4.class\n" + >+ "/Project/bin/a/Anon$5.class\n" + >+ "/Project/bin/a/Anon$6.class\n" + >+ "/Project/bin/a/Anon$7.class\n" + >+ "/Project/bin/a/Anon$8.class\n" + >+ "/Project/bin/a/Anon$Anon2.class\n" + >+ "/Project/bin/a/Anon$Anon2$1.class\n" + >+ "/Project/bin/a/Anon$Anon2$2.class\n" + >+ "/Project/bin/a/Anon$Anon2$3.class\n" + >+ "/Project/bin/a/Anon$Anon2$4.class\n" + >+ "/Project/bin/a/Anon$Anon2$5.class\n" + >+ "/Project/bin/a/Anon$Anon2$6.class\n" + >+ "/Project/bin/a/Anon$Anon2$7.class\n" + >+ "/Project/bin/a/Anon$Anon2$8.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ private String getResourceOuput(IResource[] resources) { >+ StringWriter stringWriter = new StringWriter(); >+ PrintWriter writer = new PrintWriter(stringWriter); >+ for (int i = 0, max = resources.length; i < max; i++) { >+ writer.println(resources[i].getFullPath().toString()); >+ } >+ writer.flush(); >+ writer.close(); >+ return Util.convertToIndependantLineDelimiter(String.valueOf(stringWriter)); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test007() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" + //$NON-NLS-1$ >+ "class Foo {\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Hello.java");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test008() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n" + >+ " public class Z {}\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(packageFragment); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test009() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(projectPath, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getUnderlyingResource()); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ ICompilationUnit compilationUnit = packageFragment.getCompilationUnit("Hello.java");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(compilationUnit); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 1, resources.length);//$NON-NLS-1$ >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test010() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n" + >+ " public class Z {}\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ env.addFile(root, "p1/Test.txt", "This is a non-java resource"); >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(packageFragment); >+ IResource[] resources = JavaCore.getGeneratedResources(region, false); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 3, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ actualOutput = getResourceOuput(resources); >+ expectedOutput = >+ "/Project/bin/p1/Test.txt\n" + >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test011() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n" + >+ " public class Z {}\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(packageFragment); >+ IResource[] resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.addFile(root, "p1/Test.txt", "This is a non-java resource"); >+ incrementalBuild(projectPath); >+ >+ resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 3, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ actualOutput = getResourceOuput(resources); >+ expectedOutput = >+ "/Project/bin/p1/Test.txt\n" + >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test012() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src"); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n" + >+ " public class Z {}\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(packageFragment); >+ IResource[] resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.addFile(root, "p1/Test.txt", "This is a non-java resource"); >+ >+ resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ actualOutput = getResourceOuput(resources); >+ expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test013() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src", new Path[] {new Path("**/*.txt")}, null); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n" + >+ " public class Z {}\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(packageFragment); >+ IResource[] resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.addFile(root, "p1/Test.txt", "This is a non-java resource"); >+ incrementalBuild(projectPath); >+ >+ resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ actualOutput = getResourceOuput(resources); >+ expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test014() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src", new Path[] {new Path("**/*.txt")}, null); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n" + >+ " public class Z {}\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IPackageFragmentRoot root2 = project.getPackageFragmentRoot(project.getProject().getWorkspace().getRoot().findMember(root.makeAbsolute())); >+ IPackageFragment packageFragment = root2.getPackageFragment("p1");//$NON-NLS-1$ >+ IRegion region = JavaCore.newRegion(); >+ region.add(packageFragment); >+ IResource[] resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.addFile(root, "p1/Test.txt", "This is an excluded non-java resource"); >+ env.addFile(root, "p1/Test.log", "This is an included non-java resource"); >+ incrementalBuild(projectPath); >+ >+ resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 3, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ actualOutput = getResourceOuput(resources); >+ expectedOutput = >+ "/Project/bin/p1/Test.log\n" + >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test015() throws JavaModelException { >+ IPath projectPath = env.addProject("Project"); //$NON-NLS-1$ >+ env.addExternalJars(projectPath, Util.getJavaClassLibs()); >+ fullBuild(projectPath); >+ >+ // remove old package fragment root so that names don't collide >+ env.removePackageFragmentRoot(projectPath, ""); //$NON-NLS-1$ >+ >+ IPath root = env.addPackageFragmentRoot(projectPath, "src", new Path[] {new Path("**/*.txt")}, null); //$NON-NLS-1$ >+ env.setOutputFolder(projectPath, "bin"); //$NON-NLS-1$ >+ >+ env.addClass(root, "p1", "Hello", //$NON-NLS-1$ //$NON-NLS-2$ >+ "package p1;\n"+ //$NON-NLS-1$ >+ "public class Hello {\n" + >+ " public class Z {}\n"+ //$NON-NLS-1$ >+ " public static void main(String args[]) {\n"+ //$NON-NLS-1$ >+ " System.out.println(\"Hello world\");\n"+ //$NON-NLS-1$ >+ " }\n"+ //$NON-NLS-1$ >+ "}\n" //$NON-NLS-1$ >+ ); >+ >+ incrementalBuild(projectPath); >+ >+ IJavaProject project = env.getJavaProject(projectPath); >+ IRegion region = JavaCore.newRegion(); >+ region.add(project); >+ IResource[] resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 2, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ String actualOutput = getResourceOuput(resources); >+ String expectedOutput = >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.addFile(root, "p1/Test.txt", "This is an excluded non-java resource"); >+ env.addFile(root, "p1/Test.log", "This is an included non-java resource"); >+ incrementalBuild(projectPath); >+ >+ resources = JavaCore.getGeneratedResources(region, true); >+ assertEquals("Wrong size", 3, resources.length);//$NON-NLS-1$ >+ Arrays.sort(resources, COMPARATOR); >+ actualOutput = getResourceOuput(resources); >+ expectedOutput = >+ "/Project/bin/p1/Test.log\n" + >+ "/Project/bin/p1/Hello.class\n" + >+ "/Project/bin/p1/Hello$Z.class\n"; >+ assertEquals("Wrong names", Util.convertToIndependantLineDelimiter(expectedOutput), actualOutput); >+ >+ env.removeProject(projectPath); >+ } >+ >+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=6584 >+ public void test016() throws JavaModelException { >+ try { >+ JavaCore.getGeneratedResources(null, true); >+ assertTrue("Region cannot be null", false); >+ } catch(IllegalArgumentException e) { >+ // ignore: expected exception >+ } >+ } >+}
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 6584
:
54680
|
60584
| 60585