Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoopur Gupta2016-04-21 13:20:31 +0000
committerNoopur Gupta2016-04-22 06:30:46 +0000
commita4a8119e97de6e0227fed420006f636c311530e2 (patch)
tree95676f57d98d141060843d701edddeeba3d76969
parent8a7cc6f68c54a92482c554c4c899979b5c1ba713 (diff)
downloadeclipse.jdt.ui-a4a8119e97de6e0227fed420006f636c311530e2.tar.gz
eclipse.jdt.ui-a4a8119e97de6e0227fed420006f636c311530e2.tar.xz
eclipse.jdt.ui-a4a8119e97de6e0227fed420006f636c311530e2.zip
Bug 466252: [templates] new 'finally' template does not appear when
there's no catch block - added test case Change-Id: I30b93088e120e30b29b7ab90136b2456dcd9add8
-rw-r--r--org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/CodeCompletionTest.java41
1 files changed, 40 insertions, 1 deletions
diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/CodeCompletionTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/CodeCompletionTest.java
index 4c6611f15b..6abd6629a2 100644
--- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/CodeCompletionTest.java
+++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/CodeCompletionTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 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
@@ -25,6 +25,7 @@ import org.eclipse.jdt.testplugin.JavaProjectHelper;
import org.eclipse.jdt.testplugin.TestOptions;
import org.eclipse.test.OrderedTestSuite;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.preference.IPreferenceStore;
@@ -33,6 +34,8 @@ import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.templates.Template;
+import org.eclipse.jface.text.templates.persistence.TemplateStore;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorReference;
@@ -42,6 +45,7 @@ import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.jdt.core.CompletionContext;
import org.eclipse.jdt.core.CompletionProposal;
import org.eclipse.jdt.core.IBuffer;
import org.eclipse.jdt.core.ICompilationUnit;
@@ -55,6 +59,7 @@ import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
import org.eclipse.jdt.internal.corext.codemanipulation.StubUtility;
import org.eclipse.jdt.internal.corext.template.java.CodeTemplateContextType;
+import org.eclipse.jdt.internal.corext.template.java.JavaContextType;
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
import org.eclipse.jdt.ui.JavaUI;
@@ -2386,6 +2391,40 @@ public class CodeCompletionTest extends AbstractCompletionTest {
assertEquals(buf.toString(), doc.get());
}
+ public void testBug466252() throws CoreException {
+ IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
+ IPackageFragment pack1= sourceFolder.createPackageFragment("p", false, null);
+ StringBuffer buf= new StringBuffer();
+ buf.append("package p;\n");
+ buf.append("\n");
+ buf.append("public class C {\n");
+ buf.append(" void foo() {\n");
+ buf.append(" try {\n");
+ buf.append(" } \n");
+ buf.append(" }\n");
+ buf.append("}\n");
+ ICompilationUnit cu= pack1.createCompilationUnit("CC.java", buf.toString(), false, null);
+
+
+ String str= "}";
+ int offset= buf.toString().indexOf(str) + str.length();
+
+ TemplateStore templateStore= JavaPlugin.getDefault().getTemplateStore();
+ int tokenLocation= createContext(offset, cu).getCoreContext().getTokenLocation();
+ assertTrue((tokenLocation & CompletionContext.TL_STATEMENT_START) != 0);
+
+ Template[] templates= templateStore.getTemplates(JavaContextType.ID_STATEMENTS);
+
+ boolean finallyTemplateFound= false;
+ for (Template template : templates) {
+ if (template.getName().equals("finally")) {
+ finallyTemplateFound= true;
+ break;
+ }
+ }
+ assertTrue(finallyTemplateFound);
+ }
+
private static void assertNumberOf(String name, int is, int expected) {
assertTrue("Wrong number of " + name + ", is: " + is + ", expected: " + expected, is == expected);
}

Back to the top