diff options
Diffstat (limited to 'tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AttachedJavadocTests.java')
-rw-r--r-- | tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AttachedJavadocTests.java | 509 |
1 files changed, 0 insertions, 509 deletions
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AttachedJavadocTests.java b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AttachedJavadocTests.java deleted file mode 100644 index 549f6ca..0000000 --- a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AttachedJavadocTests.java +++ /dev/null @@ -1,509 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 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.wst.jsdt.core.tests.model; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.Map; - -import junit.framework.Test; - -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.wst.jsdt.core.IClassFile; -import org.eclipse.wst.jsdt.core.IIncludePathAttribute; -import org.eclipse.wst.jsdt.core.IIncludePathEntry; -import org.eclipse.wst.jsdt.core.IJavaScriptUnit; -import org.eclipse.wst.jsdt.core.IField; -import org.eclipse.wst.jsdt.core.IJavaScriptProject; -import org.eclipse.wst.jsdt.core.IFunction; -import org.eclipse.wst.jsdt.core.IPackageFragment; -import org.eclipse.wst.jsdt.core.IPackageFragmentRoot; -import org.eclipse.wst.jsdt.core.IType; -import org.eclipse.wst.jsdt.core.JavaScriptCore; -import org.eclipse.wst.jsdt.core.JavaScriptModelException; -import org.eclipse.wst.jsdt.core.WorkingCopyOwner; - -public class AttachedJavadocTests extends ModifyingResourceTests { - static { -// TESTS_NAMES = new String[] { "test010" }; -// TESTS_NUMBERS = new int[] { 20 }; -// TESTS_RANGE = new int[] { 169, 180 }; - } - - public static Test suite() { - return buildModelTestSuite(AttachedJavadocTests.class); - } - - private IJavaScriptProject project; - private IPackageFragmentRoot root; - - public AttachedJavadocTests(String name) { - super(name); - } - - /** - * Create project and set the jar placeholder. - */ - public void setUpSuite() throws Exception { - super.setUpSuite(); - - this.project = setUpJavaProject("AttachedJavadocProject", "1.5"); //$NON-NLS-1$ - Map options = this.project.getOptions(true); - options.put(JavaScriptCore.TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC, "2000"); //$NON-NLS-1$ - this.project.setOptions(options); - IIncludePathEntry[] entries = this.project.getRawIncludepath(); - IResource resource = this.project.getProject().findMember("/doc/"); //$NON-NLS-1$ - assertNotNull("doc folder cannot be null", resource); //$NON-NLS-1$ - URI locationURI = resource.getLocationURI(); - assertNotNull("doc folder cannot be null", locationURI); //$NON-NLS-1$ - URL docUrl = null; - try { - docUrl = locationURI.toURL(); - } catch (MalformedURLException e) { - assertTrue("Should not happen", false); //$NON-NLS-1$ - } catch(IllegalArgumentException e) { - assertTrue("Should not happen", false); //$NON-NLS-1$ - } - IIncludePathAttribute attribute = JavaScriptCore.newIncludepathAttribute(IIncludePathAttribute.JSDOC_LOCATION_ATTRIBUTE_NAME, docUrl.toExternalForm()); - for (int i = 0, max = entries.length; i < max; i++) { - final IIncludePathEntry entry = entries[i]; - if (entry.getEntryKind() == IIncludePathEntry.CPE_LIBRARY - && entry.getContentKind() == IPackageFragmentRoot.K_BINARY - && "/AttachedJavadocProject/lib/test6.jar".equals(entry.getPath().toString())) { //$NON-NLS-1$ - entries[i] = JavaScriptCore.newLibraryEntry(entry.getPath(), entry.getSourceAttachmentPath(), entry.getSourceAttachmentRootPath(), entry.getAccessRules(), new IIncludePathAttribute[] { attribute}, entry.isExported()); - } - } - project.setRawIncludepath(entries, null); - - IPackageFragmentRoot[] roots = this.project.getAllPackageFragmentRoots(); - int count = 0; - for (int i = 0, max = roots.length; i < max; i++) { - final IPackageFragmentRoot packageFragmentRoot = roots[i]; - switch(packageFragmentRoot.getKind()) { - case IPackageFragmentRoot.K_BINARY : - if (!packageFragmentRoot.isExternal()) { - count++; - if (root == null) { - root = packageFragmentRoot; - } - } - } - } - assertEquals("Wrong value", 1, count); //$NON-NLS-1$ - assertNotNull("Should not be null", root); //$NON-NLS-1$ - } - - /** - * Reset the jar placeholder and delete project. - */ - public void tearDownSuite() throws Exception { - this.deleteProject("AttachedJavadocProject"); //$NON-NLS-1$ - this.root = null; - this.project = null; - super.tearDownSuite(); - } - - // test javadoc for a package fragment - public void test001() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - String javadoc = packageFragment.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - } - - // for a class file - public void test002() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - String javadoc = classFile.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - } - - // for a field - public void test003() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IField field = type.getField("f"); //$NON-NLS-1$ - assertNotNull(field); - String javadoc = field.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - } - - // for a method - public void test004() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction method = type.getFunction("foo", new String[] {"I", "J", "Ljava.lang.String;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - assertTrue(method.exists()); - String javadoc = method.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - String[] paramNames = method.getParameterNames(); - assertNotNull(paramNames); - assertEquals("Wrong size", 3, paramNames.length); //$NON-NLS-1$ - assertEquals("Wrong name for first param", "i", paramNames[0]); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals("Wrong name for second param", "l", paramNames[1]); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals("Wrong name for third param", "s", paramNames[2]); //$NON-NLS-1$ //$NON-NLS-2$ - } - - // for a constructor - public void test005() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction method = type.getFunction("X", new String[] {"I"}); //$NON-NLS-1$ //$NON-NLS-2$ - assertTrue(method.exists()); - String javadoc = method.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - String[] paramNames = method.getParameterNames(); - assertNotNull(paramNames); - assertEquals("Wrong size", 1, paramNames.length); //$NON-NLS-1$ - assertEquals("Wrong name for first param", "i", paramNames[0]); //$NON-NLS-1$ //$NON-NLS-2$ - } - - // for a member type - public void test006() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X$A.class"); //$NON-NLS-1$ - assertNotNull(classFile); - String javadoc = classFile.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - } - - // for a constructor - public void test007() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X$A.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction method = type.getFunction("A", new String[] {"Lp1.p2.X;", "F"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - assertTrue(method.exists()); - String javadoc = method.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - String[] paramNames = method.getParameterNames(); - assertNotNull(paramNames); - assertEquals("Wrong size", 1, paramNames.length); //$NON-NLS-1$ - assertEquals("Wrong name for first param", "f", paramNames[0]); //$NON-NLS-1$ //$NON-NLS-2$ - } - - // for a method foo2 - public void test008() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction method = type.getFunction("foo2", new String[0]); //$NON-NLS-1$ - assertTrue(method.exists()); - String javadoc = method.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - String[] paramNames = method.getParameterNames(); - assertNotNull(paramNames); - assertEquals("Wrong size", 0, paramNames.length); //$NON-NLS-1$ - } - - // for a field f2 - public void test009() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IField field = type.getField("f2"); //$NON-NLS-1$ - assertNotNull(field); - String javadoc = field.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - } - - // test archive doc - public void test010() throws JavaScriptModelException { - IIncludePathEntry[] savedEntries = null; - try { - IIncludePathEntry[] entries = this.project.getRawIncludepath(); - savedEntries = (IIncludePathEntry[]) entries.clone(); - IResource resource = this.project.getProject().findMember("/doc.zip"); //$NON-NLS-1$ - assertNotNull("doc folder cannot be null", resource); //$NON-NLS-1$ - URI locationURI = resource.getLocationURI(); - assertNotNull("doc folder cannot be null", locationURI); //$NON-NLS-1$ - URL docUrl = null; - try { - docUrl = locationURI.toURL(); - } catch (MalformedURLException e) { - assertTrue("Should not happen", false); //$NON-NLS-1$ - } catch(IllegalArgumentException e) { - assertTrue("Should not happen", false); //$NON-NLS-1$ - } - final String path = "jar:" + docUrl.toExternalForm() + "!/doc"; //$NON-NLS-1$ //$NON-NLS-2$ - //final String path = "jar:" + "platform:/resource/AttachedJavadocProject/doc.zip" + "!/doc"; - IIncludePathAttribute attribute = JavaScriptCore.newIncludepathAttribute(IIncludePathAttribute.JSDOC_LOCATION_ATTRIBUTE_NAME, path); - for (int i = 0, max = entries.length; i < max; i++) { - final IIncludePathEntry entry = entries[i]; - if (entry.getEntryKind() == IIncludePathEntry.CPE_LIBRARY - && entry.getContentKind() == IPackageFragmentRoot.K_BINARY - && "/AttachedJavadocProject/lib/test6.jar".equals(entry.getPath().toString())) { //$NON-NLS-1$ - entries[i] = JavaScriptCore.newLibraryEntry(entry.getPath(), entry.getSourceAttachmentPath(), entry.getSourceAttachmentRootPath(), entry.getAccessRules(), new IIncludePathAttribute[] { attribute }, entry.isExported()); - } - } - this.project.setRawIncludepath(entries, null); - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IField field = type.getField("f"); //$NON-NLS-1$ - assertNotNull(field); - String javadoc = field.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - } finally { - // restore classpath - if (savedEntries != null) { - this.project.setRawIncludepath(savedEntries, null); - } - } - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=120597 - public void test011() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("Z.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IField field = type.getField("out"); //$NON-NLS-1$ - assertNotNull(field); - String javadoc = field.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=120637 - public void test012() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("Z.class"); //$NON-NLS-1$ - assertNotNull(classFile); - String javadoc = classFile.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - assertTrue("Should not contain reference to out", javadoc.indexOf("out") == -1); - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=120559 - public void test013() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("W.class"); //$NON-NLS-1$ - assertNotNull(classFile); - String javadoc = classFile.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNull("Should not have a javadoc", javadoc); //$NON-NLS-1$ - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=120637 - public void test014() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("E.class"); //$NON-NLS-1$ - assertNotNull(classFile); - String javadoc = classFile.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - assertTrue("Should not contain reference to Constant C", javadoc.indexOf("Constant C") == -1); - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=120637 - public void test015() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("Annot.class"); //$NON-NLS-1$ - assertNotNull(classFile); - String javadoc = classFile.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - assertTrue("Should not contain reference to name", javadoc.indexOf("name") == -1); - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=120847 - public void test016() throws JavaScriptModelException { - IIncludePathEntry[] savedEntries = null; - try { - IIncludePathEntry[] entries = this.project.getRawIncludepath(); - savedEntries = (IIncludePathEntry[]) entries.clone(); - IIncludePathAttribute attribute = JavaScriptCore.newIncludepathAttribute(IIncludePathAttribute.JSDOC_LOCATION_ATTRIBUTE_NAME, "invalid_path"); - for (int i = 0, max = entries.length; i < max; i++) { - final IIncludePathEntry entry = entries[i]; - if (entry.getEntryKind() == IIncludePathEntry.CPE_LIBRARY - && entry.getContentKind() == IPackageFragmentRoot.K_BINARY - && "/AttachedJavadocProject/lib/test6.jar".equals(entry.getPath().toString())) { //$NON-NLS-1$ - entries[i] = JavaScriptCore.newLibraryEntry(entry.getPath(), entry.getSourceAttachmentPath(), entry.getSourceAttachmentRootPath(), entry.getAccessRules(), new IIncludePathAttribute[] { attribute }, entry.isExported()); - } - } - this.project.setRawIncludepath(entries, null); - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IField field = type.getField("f"); //$NON-NLS-1$ - assertNotNull(field); - field.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertFalse("Should be unreachable", true); - } catch(JavaScriptModelException e) { - assertTrue("Must occur", true); - assertEquals("Wrong error message", "Cannot retrieve the attached javadoc for invalid_path", e.getMessage()); - } finally { - // restore classpath - if (savedEntries != null) { - this.project.setRawIncludepath(savedEntries, null); - } - } - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=120875 - public void test017() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("Annot2.class"); //$NON-NLS-1$ - assertNotNull(classFile); - String javadoc = classFile.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - assertTrue("Should not contain reference to name2", javadoc.indexOf("name2") == -1); - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=138167 - public void test018() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2/p3"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("C.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction[] methods = type.getFunctions(); - NullProgressMonitor monitor = new NullProgressMonitor(); - for (int i = 0, max = methods.length; i < max; i++) { - IFunction method = methods[i]; - String javadoc = method.getAttachedJavadoc(monitor); - assertNotNull("Should have a javadoc", javadoc); - final String selector = method.getElementName(); - assertTrue("Wrong doc", javadoc.indexOf(selector) != -1); - } - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=138167 - public void test019() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2/p3"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("C.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction method = type.getFunction("bar5", new String[] {"Ljava.util.Map<TK;TV;>;", "I", "Ljava.util.Map<TK;TV;>;"}); //$NON-NLS-1$ - assertTrue(method.exists()); - String javadoc = method.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - assertNotNull("Should have a javadoc", javadoc); //$NON-NLS-1$ - String[] names = method.getParameterNames(); - assertNotNull("No names", names); - assertEquals("Wrong size", 3, names.length); - assertEquals("Wrong parameter name", "m", names[0]); - assertEquals("Wrong parameter name", "j", names[1]); - assertEquals("Wrong parameter name", "m2", names[2]); - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=139160 - public void test020() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("Z.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction method = type.getFunction("foo", new String[] {"I", "I"}); //$NON-NLS-1$ - assertTrue(method.exists()); - String javadoc = null; - try { - javadoc = method.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - } catch(JavaScriptModelException e) { - assertTrue("Should not happen", false); - } - assertNull("Should not have a javadoc", javadoc); //$NON-NLS-1$ - String[] paramNames = method.getParameterNames(); - assertNotNull(paramNames); - assertEquals("Wrong size", 2, paramNames.length); //$NON-NLS-1$ - assertEquals("Wrong name", "arg0", paramNames[0]); //$NON-NLS-1$ - assertEquals("Wrong name", "arg1", paramNames[1]); //$NON-NLS-1$ - } - - /* - * Ensures that calling getAttachedJavadoc(...) on a binary method - * has no side-effect on the underlying Java model cache. - * (regression test for bug 140879 Spontaneous error "java.util.Set cannot be resolved...") - */ - public void test021() throws CoreException, IOException { - IJavaScriptUnit workingCopy = null; - try { - IPackageFragment p = this.root.getPackageFragment("p2"); - IType type = p.getClassFile("X.class").getType(); - IFunction method = type.getFunction("foo", new String[0]); - - // the following call should have no side-effect - method.getAttachedJavadoc(null); - - // ensure no side-effect - ProblemRequestor problemRequestor = new ProblemRequestor(); - workingCopy = getWorkingCopy( - "/AttachedJavadocProject/src/Test.js", - "import p2.Y;\n" + - "public class Test extends Y { }", - new WorkingCopyOwner() {}, - problemRequestor - ); - assertProblems( - "Unexpected problems", - "----------\n" + - "----------\n", - problemRequestor); - } finally { - if (workingCopy != null) - workingCopy.discardWorkingCopy(); - deleteProject("P"); - } - } - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=149154 - public void test022() throws JavaScriptModelException { - IPackageFragment packageFragment = this.root.getPackageFragment("p1/p2"); //$NON-NLS-1$ - assertNotNull("Should not be null", packageFragment); //$NON-NLS-1$ - IClassFile classFile = packageFragment.getClassFile("X.class"); //$NON-NLS-1$ - assertNotNull(classFile); - IType type = classFile.getType(); - IFunction method = type.getFunction("access$1", new String[] {"Lp1.p2.X;", "I"}); //$NON-NLS-1$ - assertTrue(method.exists()); - String javadoc = null; - try { - javadoc = method.getAttachedJavadoc(new NullProgressMonitor()); //$NON-NLS-1$ - } catch(JavaScriptModelException e) { - assertTrue("Should not happen", false); - } - assertNull("Should not have a javadoc", javadoc); //$NON-NLS-1$ - String[] paramNames = method.getParameterNames(); - assertNotNull(paramNames); - assertEquals("Wrong size", 2, paramNames.length); //$NON-NLS-1$ - assertEquals("Wrong name", "arg0", paramNames[0]); //$NON-NLS-1$ - assertEquals("Wrong name", "arg1", paramNames[1]); //$NON-NLS-1$ - } -} |