Bug 530142 - [9] Module autocompletion ignores Automatic-Module-Name for
Classpath Container entries

Change-Id: Ieae333a26b5dec3a4c74ac34c27972a3e40f5291
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests9.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests9.java
index 52e2e2c..e5f90d8 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests9.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests9.java
@@ -1247,4 +1247,34 @@
 		deleteProject(project2);
 	}
 }
+public void testBug530142() throws Exception {
+	ContainerInitializer.setInitializer(new DefaultContainerInitializer(new String[] {"Completion9_1", "/Completion/test.second.jar,/Completion/test.third.jar,/Completion/test.some.api.jar"}));
+	IJavaProject project1 = createJavaProject("Completion9_1", new String[] {"src"}, new String[] {"JCL19_LIB", "org.eclipse.jdt.core.tests.model.TEST_CONTAINER"}, "bin", "9");
+	try  {
+		project1.open(null);
+
+		createFolder("/Completion9_1/src/x");
+		String content =  "module my.mod { \n" +
+				"requires test.\n" +
+		"}\n";
+		String filePath = "/Completion9_1/src/module-info.java";
+		String completeBehind = "requires test.";
+		createFile(filePath, content);
+		int cursorLocation = content.lastIndexOf(completeBehind) + completeBehind.length();
+		CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2();
+
+		waitUntilIndexesReady();
+
+		ICompilationUnit unit = getCompilationUnit("/Completion9_1/src/module-info.java");
+		unit.codeComplete(cursorLocation, requestor);
+
+		String expected = "[MODULE_REF]{test.second, test.second, null, null, 49}\n" +
+				"[MODULE_REF]{test.some.core.api, test.some.core.api, null, null, 49}\n" +
+				"[MODULE_REF]{test.third.from.manifest, test.third.from.manifest, null, null, 49}";
+		assertResults(expected,	requestor.getResults());
+
+	} finally {
+		deleteProject(project1);
+	}
+}
 }
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java
index ff3a558..93b4ca0 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java
@@ -908,7 +908,7 @@
 }
 
 public IModuleDescription getAutomaticModuleDescription() throws JavaModelException {
-	return getAutomaticModuleDescription(getRawClasspathEntry());
+	return getAutomaticModuleDescription(getResolvedClasspathEntry());
 }
 
 IModuleDescription getAutomaticModuleDescription(IClasspathEntry classpathEntry) {