Releng: update jdt.core to I20160426-1045 (warmup towards M7)
- new file was not committed
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests3.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests3.java
new file mode 100644
index 0000000..5e792fb
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests3.java
@@ -0,0 +1,123 @@
+/*******************************************************************************
+ * Copyright (c) 2016 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.model;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.ICompilationUnit;
+
+import junit.framework.Test;
+
+public class CompletionTests3 extends AbstractJavaModelCompletionTests {
+
+public CompletionTests3(String name) {
+	super(name);
+}
+public void setUpSuite() throws Exception {
+	super.setUpSuite();
+}
+public void tearDownSuite() throws Exception {
+	super.tearDownSuite();
+}
+static {
+//	TESTS_NAMES = new String[] { "testBug338398a" };
+}
+public static Test suite() {
+	return buildModelTestSuite(CompletionTests3.class);
+}
+//https://bugs.eclipse.org/bugs/show_bug.cgi?id=338398
+public void testBug338398a() throws CoreException {
+	try {
+		createJavaProject("P", new String[] {"src"}, new String[]{"JCL_LIB"}, "bin", "1.7");
+		this.workingCopies = new ICompilationUnit[2];
+		this.workingCopies[0] = getWorkingCopy(
+			"/P/src/a/A.java",
+			"package a;\n" +
+			"import static b.B.assertNotNull;\n"+
+			"public class A {\n" +
+			"	public void foo() {\n" +
+			"		 assertno\n" +
+			"   }" +
+			"}\n");
+		
+		this.workingCopies[1] = getWorkingCopy(
+				"/P/src/b/B.java",
+				"package b;\n"+
+				"public class B {\n" +
+				"	static public void assertNotNull(Object object) {\n" +
+				"		// nothing to do here \n" +
+	    		"	}\n" +
+				"}\n");
+
+		CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
+		String str = this.workingCopies[0].getSource();
+		String completeBehind = "assertno";
+		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
+		this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
+		assertResults(
+				"assertNotNull[METHOD_REF]{assertNotNull(), Lb.B;, (Ljava.lang.Object;)V, assertNotNull, (object), " + (R_DEFAULT + R_RESOLVED + R_INTERESTING + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
+				requestor.getResults());
+	} finally {
+		deleteProject("P");
+	}
+}
+public void _testBug338398b() throws CoreException {
+	try {
+		createJavaProject("P", new String[] {"src"}, new String[]{"JCL_LIB"}, "bin", "1.7");
+		this.workingCopies = new ICompilationUnit[2];
+		this.workingCopies[0] = getWorkingCopy(
+			"/P/src/a/A_CLASS.java",
+			"package a;\n" +
+			"public class A_CLASS {\n" +
+			"	public A_CLASS() {}\n" +
+			"	/**" +
+			" 	 * A_CLASS#a_cl"  +
+			"	 */\n" +
+			"}\n");
+		
+		CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
+		String str = this.workingCopies[0].getSource();
+		String completeBehind = "A_CLASS#a_cl";
+		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
+		this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
+		assertResults(
+				"A_CLASS[JAVADOC_METHOD_REF]{{@link A_CLASS#A_CLASS()}, La.A_CLASS;, ()V, A_CLASS, null, 45}",
+				requestor.getResults());
+	} finally {
+		deleteProject("P");
+	}
+}
+public void _testBug338398c() throws CoreException {
+	try {
+		createJavaProject("P", new String[] {"src"}, new String[]{"JCL_LIB"}, "bin", "1.7");
+		this.workingCopies = new ICompilationUnit[2];
+		this.workingCopies[0] = getWorkingCopy(
+			"/P/src/a/A_CLASS.java",
+			"package a;\n" +
+			"public class A_CLASS {\n" +
+			"	/**" +
+			" 	 * @param my_s"  +
+			"	 */\n" +
+			"	public A_CLASS(String MY_STring) {}\n" +
+			"}\n");
+		
+		CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
+		String str = this.workingCopies[0].getSource();
+		String completeBehind = "@param my_s";
+		int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length();
+		this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner);
+		assertResults(
+				"MY_STring[JAVADOC_PARAM_REF]{MY_STring, null, null, MY_STring, null, 18}",
+				requestor.getResults());
+	} finally {
+		deleteProject("P");
+	}
+}
+}