Bug 252696
Tests for ITD content assist and getting them to pass.
diff --git "a/org.eclipse.ajdt.core.tests/AllCoreTests - No UI \050Andrew\051.launch" "b/org.eclipse.ajdt.core.tests/AllCoreTests - No UI \050Andrew\051.launch"
index f06faf3..5ed42b5 100644
--- "a/org.eclipse.ajdt.core.tests/AllCoreTests - No UI \050Andrew\051.launch"
+++ "b/org.eclipse.ajdt.core.tests/AllCoreTests - No UI \050Andrew\051.launch"
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.contribution.xref.ui.tests,org.eclipse.ajdt.ui.tests,org.eclipse.contribution.visualiser.tests,org.eclipse.contribution.xref.core.tests,org.eclipse.ajdt.ui.visual.tests,org.eclipse.ajdt.ui"/>
+<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.contribution.xref.ui.tests,org.eclipse.contribution.visualiser.tests,org.eclipse.ajdt.ui.tests,org.eclipse.contribution.xref.core.tests,org.eclipse.ajdt.ui.visual.tests,org.eclipse.ajdt.ui"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -32,7 +32,7 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XX:MaxPermSize=128m -Xmx1024m"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.equinox.p2.director.app.product"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.equinox.p2.extensionlocation.source,org.apache.ant.source,javax.servlet.source,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.jdt.junit.source,org.apache.commons.el.source,org.eclipse.ui.ide,org.eclipse.equinox.security,org.eclipse.debug.ui.source,org.eclipse.equinox.p2.touchpoint.eclipse.source,org.eclipse.ui.ide.application,org.eclipse.equinox.p2.exemplarysetup.source,org.eclipse.core.expressions,org.eclipse.ant.core.source,org.eclipse.update.ui,org.eclipse.pde.ui.source,org.eclipse.mylyn.commons.core,org.eclipse.help.appserver,javax.servlet,org.eclipse.equinox.preferences.source,org.junit4.source,org.apache.lucene.source,org.eclipse.equinox.common.source,org.eclipse.equinox.p2.console.source,org.eclipse.core.boot,org.eclipse.ant.ui,org.sat4j.pb,org.eclipse.mylyn.monitor.ui,org.eclipse.ui.editors,org.eclipse.ui.browser,org.eclipse.mylyn.java.tasks,org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.debug.core,org.eclipse.jsch.core,org.apache.jasper.source,org.eclipse.equinox.common,org.eclipse.jdt.doc.user,org.eclipse.equinox.p2.metadata.source,org.eclipse.core.commands,org.eclipse.ecf.filetransfer,org.eclipse.equinox.p2.ui,org.junit4,org.eclipse.equinox.registry.source,org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.pde.api.tools,org.eclipse.ui.views,org.eclipse.pde.runtime,org.eclipse.help.base.source,org.mortbay.jetty,org.eclipse.search,org.eclipse.equinox.http.jetty,org.eclipse.ecf.identity,org.eclipse.team.core.source,org.eclipse.jdt.junit.runtime.source,org.eclipse.ui.net,org.eclipse.ltk.ui.refactoring.source,org.eclipse.equinox.http.servlet.source,org.eclipse.jdt.debug.ui,org.eclipse.equinox.p2.metadata.generator,org.junit.source,org.eclipse.help.webapp.source,org.eclipse.equinox.frameworkadmin.equinox.source,org.eclipse.equinox.p2.updatesite,org.eclipse.cvs.source,org.eclipse.ui.views.log,org.eclipse.jsch.ui,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.pde,org.eclipse.ecf,org.eclipse.text.source,org.eclipse.osgi.services.source,org.eclipse.core.resources.compatibility.source,org.eclipse.pde.ui.templates,org.objectweb.asm,javax.servlet.jsp.source,org.eclipse.mylyn.resources.ui,org.eclipse.equinox.app,org.eclipse.pde.source,org.eclipse.equinox.p2.director.app.source,org.eclipse.equinox.simpleconfigurator.manipulator.source,org.eclipse.core.net.source,javax.servlet.jsp,com.ibm.icu,org.eclipse.ui.cheatsheets,org.eclipse.mylyn.bugzilla.core,org.eclipse.mylyn.bugzilla.ui,org.eclipse.mylyn.pde.ui,org.eclipse.core.filesystem,org.eclipse.jdt,org.eclipse.pde.api.tools.ui,org.eclipse.core.resources.source,org.objectweb.asm.source,org.eclipse.core.contenttype.source,org.eclipse.equinox.p2.director,org.eclipse.equinox.security.macosx,org.eclipse.ui.source,org.eclipse.cvs,org.eclipse.ui.presentations.r21,org.eclipse.platform.doc.user,org.eclipse.jdt.ui.source,org.eclipse.equinox.p2.console,org.eclipse.equinox.p2.updatesite.source,org.eclipse.equinox.launcher.carbon.macosx,org.eclipse.equinox.p2.exemplarysetup,org.eclipse.ui.workbench,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.ui.intro.universal,org.eclipse.equinox.p2.jarprocessor,org.eclipse.pde.api.tools.ui.source,org.eclipse.pde.p2.ui.source,org.eclipse.jdt.launching,org.eclipse.ui.console,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.preferences,org.eclipse.ui.net.source,org.eclipse.ui.presentations.r21.source,org.eclipse.pde.doc.user,org.eclipse.mylyn.commons.ui,org.eclipse.swt,org.eclipse.equinox.p2.artifact.repository.source,org.eclipse.equinox.security.ui,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.registry,org.eclipse.ui,org.eclipse.equinox.security.macosx.source,org.eclipse.platform.doc.isv,org.eclipse.ui.carbon,org.eclipse.ui.views.properties.tabbed.source,org.eclipse.pde.ui,org.eclipse.mylyn.commons.net,org.eclipse.ui.workbench.texteditor.source,org.eclipse.core.databinding.source,org.eclipse.jface.databinding.source,org.eclipse.pde.core.source,org.eclipse.osgi.source,org.eclipse.mylyn.team.ui,org.eclipse.equinox.p2.extensionlocation,org.eclipse.ui.views.log.source,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.reconciler.dropins.source,org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.core.jobs.source,org.eclipse.equinox.jsp.jasper.source,org.eclipse.help.appserver.source,org.eclipse.ltk.core.refactoring,org.eclipse.swt.carbon.macosx.source,org.eclipse.ui.navigator.source,org.eclipse.equinox.http.servlet,org.eclipse.platform.source,org.eclipse.team.cvs.ssh2,org.eclipse.core.contenttype,org.eclipse.pde.build,org.eclipse.pde.junit.runtime,org.eclipse.help,org.eclipse.compare,org.eclipse.ui.ide.application.source,org.eclipse.debug.ui,org.eclipse.equinox.security.source,org.eclipse.equinox.p2.engine.source,org.eclipse.update.scheduler.source,org.eclipse.update.scheduler,org.eclipse.ui.workbench.source,org.eclipse.mylyn.help.ui,org.eclipse.help.webapp,org.eclipse.team.cvs.ssh2.source,org.eclipse.mylyn.team.cvs,org.eclipse.core.filesystem.macosx,org.eclipse.team.core,org.apache.commons.lang,org.eclipse.jdt.launching.macosx.source,org.junit,org.eclipse.mylyn.tasks.bugs,org.eclipse.osgi.util.source,org.eclipse.equinox.p2.metadata.repository.source,org.eclipse.core.runtime.compatibility.registry.source,org.eclipse.team.ui.source,org.eclipse.equinox.p2.metadata.generator.source,org.eclipse.equinox.p2.ui.sdk,org.apache.lucene.analysis,org.eclipse.jdt.debug.ui.source,org.eclipse.jface.text.source,org.apache.commons.logging.source,org.eclipse.platform,org.eclipse.core.jobs,org.eclipse.ui.editors.source,org.eclipse.compare.source,org.eclipse.update.core.source,org.eclipse.ui.workbench.compatibility,org.eclipse.ui.navigator.resources.source,org.eclipse.jdt.core.source,org.eclipse.mylyn.tasks.ui,org.eclipse.core.filebuffers.source,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.intro.universal.source,org.eclipse.equinox.p2.engine,org.eclipse.ui.views.source,org.eclipse.equinox.p2.updatechecker.source,org.eclipse.team.cvs.ui,org.mortbay.jetty.source,org.eclipse.ecf.provider.filetransfer,org.eclipse.equinox.p2.artifact.repository,org.eclipse.core.resources,org.eclipse.jdt.core,org.eclipse.core.net,org.eclipse.core.databinding.beans.source,org.eclipse.pde.core,org.eclipse.core.runtime,org.apache.ant,org.apache.lucene,org.eclipse.equinox.p2.core.source,org.eclipse.ui.ide.source,org.eclipse.jdt.doc.isv,org.eclipse.core.runtime.compatibility.registry,org.eclipse.equinox.security.ui.source,org.eclipse.mylyn.ide.ui,org.eclipse.core.databinding,org.eclipse.mylyn.tasks.core,org.eclipse.pde.runtime.source,org.eclipse.core.variables,org.apache.commons.codec,org.eclipse.team.cvs.core,org.eclipse.jdt.core.manipulation.source,org.eclipse.mylyn.compatibility,org.eclipse.equinox.launcher.source,org.eclipse.jdt.junit4.runtime.source,org.eclipse.equinox.app.source,org.apache.commons.httpclient,org.eclipse.ui.navigator,org.eclipse.jdt.debug.source,org.eclipse.core.variables.source,org.eclipse.equinox.p2.directorywatcher.source,org.eclipse.team.ui,org.eclipse.jdt.source,org.eclipse.equinox.launcher,org.eclipse.ant.ui.source,com.ibm.icu.source,org.eclipse.equinox.p2.metadata.repository,org.eclipse.ui.intro,org.eclipse.equinox.p2.garbagecollector,org.eclipse.jsch.core.source,org.eclipse.equinox.p2.metadata,org.eclipse.mylyn.ide.ant,org.apache.commons.logging,org.eclipse.team.cvs.core.source,org.eclipse.jface,org.eclipse.core.runtime.compatibility.source,org.eclipse.sdk,org.eclipse.rcp.source,org.eclipse.ltk.ui.refactoring,org.eclipse.core.runtime.compatibility.auth,org.eclipse.equinox.p2.director.app,org.eclipse.core.commands.source,org.eclipse.core.expressions.source,org.eclipse.ui.intro.source,org.eclipse.team.cvs.ssh.source,org.eclipse.update.core,org.eclipse.core.filebuffers,org.eclipse.core.resources.compatibility,org.eclipse.jdt.launching.macosx,org.eclipse.core.runtime.source,org.eclipse.osgi.util,org.eclipse.mylyn,org.eclipse.ui.workbench.texteditor,org.eclipse.team.cvs.ssh,org.eclipse.mylyn.context.ui,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.junit4.runtime,org.eclipse.equinox.frameworkadmin,org.eclipse.pde.api.tools.source,org.eclipse.equinox.simpleconfigurator,org.eclipse.search.source,org.eclipse.pde.junit.runtime.source,org.eclipse.ui.cheatsheets.source,org.eclipse.swt.carbon.macosx,org.eclipse.update.ui.source,org.eclipse.jdt.debug,com.jcraft.jsch,org.eclipse.ui.browser.source,org.eclipse.pde.p2.ui,org.eclipse.pde.build.source,org.eclipse.equinox.simpleconfigurator.source,org.eclipse.equinox.p2.garbagecollector.source,org.eclipse.equinox.p2.updatechecker,org.eclipse.ui.carbon.source,org.eclipse.team.cvs.ui.source,org.eclipse.mylyn.bugzilla.ide,org.apache.jasper,org.eclipse.ui.workbench.compatibility.source,org.eclipse.ui.externaltools.source,org.eclipse.osgi.services,org.eclipse.help.ui.source,org.apache.lucene.analysis.source,org.eclipse.pde.ui.templates.source,org.eclipse.ui.forms.source,org.eclipse.help.base,org.eclipse.equinox.p2.jarprocessor.source,org.eclipse.core.databinding.beans,org.eclipse.equinox.p2.touchpoint.natives.source,org.eclipse.jface.databinding,org.eclipse.jdt.junit,org.eclipse.equinox.http.jetty.source,org.eclipse.jdt.launching.source,org.eclipse.ant.core,org.eclipse.ui.navigator.resources,org.eclipse.rcp,org.eclipse.osgi,org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.jsch.ui.source,org.eclipse.core.runtime.compatibility,org.apache.commons.el,org.eclipse.ui.console.source,org.sat4j.core,org.eclipse.equinox.p2.ui.sdk.source,org.eclipse.ltk.core.refactoring.source,org.eclipse.equinox.jsp.jasper.registry.source,org.eclipse.equinox.p2.director.source,org.eclipse.ui.externaltools,org.eclipse.jdt.junit.runtime,org.eclipse.help.ui,org.eclipse.ecf.ssl,org.eclipse.update.configurator,org.eclipse.help.source,org.eclipse.core.runtime.compatibility.auth.source,org.eclipse.jface.text,org.eclipse.equinox.http.registry,org.eclipse.equinox.http.registry.source,org.eclipse.core.filesystem.source,org.eclipse.text,org.eclipse.update.configurator.source,org.eclipse.equinox.frameworkadmin.source,org.eclipse.jdt.ui,org.eclipse.jface.source,org.eclipse.equinox.p2.ui.source,org.eclipse.ui.forms,org.eclipse.debug.core.source"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.equinox.app.source,org.eclipse.osgi.util.source,org.eclipse.equinox.frameworkadmin.source,org.eclipse.core.databinding,org.apache.jasper.source,org.eclipse.team.ui,org.eclipse.debug.core,org.eclipse.mylyn.bugzilla.ui,org.eclipse.equinox.p2.engine,org.eclipse.jface.databinding,org.eclipse.pde.api.tools.ui,org.eclipse.help.ui.source,org.eclipse.core.variables.source,org.eclipse.equinox.launcher.carbon.macosx,org.junit,org.eclipse.equinox.frameworkadmin,org.eclipse.osgi,org.eclipse.ui.workbench.compatibility.source,org.eclipse.equinox.launcher,org.eclipse.swt,org.eclipse.mylyn,javax.servlet.jsp.source,org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.ecf.provider.filetransfer,javax.servlet,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.security.source,org.eclipse.core.resources.compatibility,org.eclipse.pde.api.tools.ui.source,org.eclipse.equinox.p2.updatechecker,org.eclipse.equinox.p2.garbagecollector,org.eclipse.ui.intro.universal,org.eclipse.pde.source,org.eclipse.jdt.launching.macosx,org.eclipse.core.runtime.compatibility.registry,org.eclipse.platform.doc.user,org.eclipse.equinox.p2.touchpoint.natives.source,org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.mylyn.commons.ui,org.eclipse.mylyn.team.ui,org.eclipse.ui.browser.source,org.eclipse.mylyn.monitor.ui,org.eclipse.core.net,org.eclipse.equinox.p2.core,org.eclipse.core.commands.source,org.eclipse.ui.browser,org.apache.commons.logging,org.eclipse.equinox.security,org.eclipse.equinox.p2.metadata.source,org.eclipse.equinox.simpleconfigurator.source,org.eclipse.core.resources,org.eclipse.osgi.services,org.eclipse.equinox.security.macosx,org.eclipse.equinox.p2.exemplarysetup,org.eclipse.help.source,org.eclipse.help.base,org.eclipse.jsch.ui.source,org.eclipse.equinox.p2.ui.source,org.eclipse.ui.console.source,org.eclipse.rcp.source,org.eclipse.core.jobs,org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.console,org.eclipse.core.boot,org.eclipse.equinox.p2.jarprocessor,org.eclipse.equinox.registry.source,org.eclipse.core.resources.compatibility.source,org.eclipse.jdt.ui,org.eclipse.equinox.common,org.eclipse.equinox.http.servlet,org.eclipse.pde.ui.source,org.eclipse.ui.workbench.source,org.sat4j.pb,org.eclipse.ltk.core.refactoring.source,org.eclipse.swt.carbon.macosx,org.eclipse.equinox.p2.reconciler.dropins.source,org.eclipse.mylyn.resources.ui,org.eclipse.ant.core,org.eclipse.ui.navigator.source,org.eclipse.team.cvs.core.source,org.eclipse.ltk.core.refactoring,org.eclipse.ui.ide.source,org.eclipse.ui.views.log,org.eclipse.equinox.http.registry,org.apache.commons.httpclient,org.eclipse.help.appserver,org.eclipse.jface,org.eclipse.core.contenttype.source,org.eclipse.ui.navigator.resources,org.eclipse.ui.views.source,org.eclipse.equinox.security.ui.source,org.eclipse.mylyn.java.tasks,org.eclipse.equinox.p2.updatesite.source,javax.servlet.jsp,org.apache.commons.logging.source,org.eclipse.ui.intro.universal.source,org.eclipse.ui.source,org.apache.lucene,org.eclipse.pde.build,org.eclipse.ecf.identity,org.eclipse.pde.ui.templates,org.eclipse.equinox.p2.updatechecker.source,org.eclipse.update.ui.source,org.eclipse.core.filesystem.source,org.eclipse.update.scheduler.source,org.apache.lucene.analysis.source,org.eclipse.core.runtime.compatibility.source,org.eclipse.team.cvs.core,org.eclipse.text,org.eclipse.core.filesystem,org.eclipse.mylyn.commons.core,org.eclipse.ui.net,org.eclipse.equinox.registry,org.apache.lucene.analysis,org.eclipse.ui.workbench.compatibility,org.eclipse.pde.junit.runtime.source,org.eclipse.equinox.p2.ui,org.eclipse.ui.workbench.texteditor,org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.http.jetty,org.eclipse.equinox.preferences,org.eclipse.pde.runtime.source,org.eclipse.ui.intro,org.eclipse.equinox.launcher.source,org.eclipse.mylyn.compatibility,org.eclipse.ui.workbench.texteditor.source,org.eclipse.equinox.preferences.source,org.eclipse.equinox.p2.ui.sdk,org.eclipse.core.net.source,org.eclipse.mylyn.help.ui,org.eclipse.core.runtime.source,org.eclipse.equinox.p2.ui.sdk.source,org.eclipse.ui.navigator,org.eclipse.swt.carbon.macosx.source,org.eclipse.team.core,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.jdt.debug.ui.source,org.eclipse.ecf.ssl,org.eclipse.team.cvs.ui,org.eclipse.osgi.util,org.eclipse.equinox.p2.touchpoint.eclipse.source,org.eclipse.equinox.jsp.jasper.registry.source,org.apache.commons.el.source,org.eclipse.ui.cheatsheets.source,org.eclipse.core.databinding.beans,org.eclipse.mylyn.tasks.ui,org.eclipse.equinox.p2.metadata.repository.source,org.eclipse.update.configurator,org.eclipse.jdt.junit4.runtime.source,org.eclipse.mylyn.pde.ui,org.eclipse.cvs,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.exemplarysetup.source,org.eclipse.equinox.security.ui,org.eclipse.pde.p2.ui,org.eclipse.core.filebuffers,org.eclipse.ui.externaltools.source,org.eclipse.rcp,org.eclipse.core.filesystem.macosx,org.eclipse.equinox.p2.metadata.generator.source,org.eclipse.ui.views.properties.tabbed,org.eclipse.core.runtime.compatibility,org.eclipse.core.resources.source,org.eclipse.platform.doc.isv,org.apache.ant.source,org.eclipse.ui,com.jcraft.jsch,org.apache.jasper,org.eclipse.pde.ui,org.eclipse.core.runtime,org.eclipse.equinox.http.servlet.source,org.eclipse.debug.ui.source,org.eclipse.core.jobs.source,org.eclipse.jdt.junit.runtime,org.eclipse.pde.build.source,org.eclipse.search,org.eclipse.help.webapp,org.eclipse.equinox.p2.director.app.source,org.eclipse.pde,org.eclipse.ui.ide.application.source,org.eclipse.equinox.p2.artifact.repository,org.apache.commons.lang,org.eclipse.equinox.p2.extensionlocation.source,org.apache.lucene.source,org.eclipse.core.runtime.compatibility.registry.source,org.eclipse.jdt.launching.macosx.source,org.eclipse.team.cvs.ssh2,org.eclipse.equinox.http.jetty.source,org.sat4j.core,org.eclipse.mylyn.bugzilla.ide,org.eclipse.help.webapp.source,org.eclipse.pde.ui.templates.source,org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.updatesite,org.eclipse.ant.ui,org.eclipse.ui.ide,org.eclipse.core.runtime.compatibility.auth,org.eclipse.jface.source,org.eclipse.jface.text.source,org.eclipse.ant.core.source,org.eclipse.osgi.services.source,org.eclipse.equinox.p2.extensionlocation,org.eclipse.jdt.core.manipulation.source,org.objectweb.asm.source,org.eclipse.ecf.filetransfer,org.eclipse.help,org.eclipse.ui.presentations.r21.source,org.eclipse.jdt.debug,org.eclipse.search.source,org.eclipse.ui.console,org.eclipse.team.cvs.ssh2.source,org.eclipse.jdt,org.eclipse.equinox.p2.core.source,org.eclipse.sdk,org.eclipse.team.ui.source,org.eclipse.equinox.p2.artifact.repository.source,org.eclipse.jsch.core.source,org.eclipse.ui.editors.source,org.eclipse.update.configurator.source,org.eclipse.jface.databinding.source,org.eclipse.core.expressions.source,org.eclipse.equinox.p2.jarprocessor.source,org.eclipse.text.source,org.eclipse.equinox.http.registry.source,org.eclipse.ui.intro.source,org.junit4,org.eclipse.equinox.p2.directorywatcher.source,org.eclipse.pde.core,org.eclipse.debug.ui,org.eclipse.equinox.simpleconfigurator.manipulator.source,org.eclipse.equinox.jsp.jasper.source,org.eclipse.mylyn.context.ui,org.apache.commons.codec,org.mortbay.jetty.source,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.app,org.eclipse.update.ui,org.eclipse.jdt.ui.source,org.eclipse.ant.ui.source,org.eclipse.ui.carbon.source,org.eclipse.jface.text,org.eclipse.pde.p2.ui.source,org.eclipse.ltk.ui.refactoring,org.eclipse.team.cvs.ssh.source,org.eclipse.equinox.frameworkadmin.equinox.source,org.eclipse.pde.api.tools,org.eclipse.core.commands,com.ibm.icu,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.jdt.junit.source,org.eclipse.ui.externaltools,org.eclipse.ltk.ui.refactoring.source,com.ibm.icu.source,org.eclipse.core.contenttype,org.eclipse.equinox.common.source,org.eclipse.equinox.simpleconfigurator,org.eclipse.core.databinding.source,org.eclipse.jsch.core,org.eclipse.jdt.doc.isv,org.eclipse.jdt.junit4.runtime,org.eclipse.debug.core.source,org.eclipse.jdt.debug.source,org.junit4.source,org.eclipse.compare.source,org.eclipse.jdt.core.source,org.eclipse.jdt.core,org.eclipse.core.filebuffers.source,org.eclipse.ui.forms.source,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.director,org.eclipse.jdt.launching,org.eclipse.mylyn.ide.ui,org.eclipse.core.runtime.compatibility.auth.source,org.apache.commons.el,org.eclipse.ui.presentations.r21,org.eclipse.jsch.ui,org.eclipse.help.base.source,org.junit.source,org.eclipse.osgi.source,org.eclipse.core.variables,org.eclipse.core.expressions,org.eclipse.mylyn.bugzilla.core,org.apache.ant,org.eclipse.equinox.p2.garbagecollector.source,org.eclipse.platform.source,org.eclipse.team.core.source,org.eclipse.update.core,org.objectweb.asm,org.eclipse.jdt.core.manipulation,org.eclipse.pde.core.source,org.eclipse.ui.editors,org.eclipse.ui.navigator.resources.source,org.eclipse.equinox.p2.metadata.repository,org.eclipse.pde.runtime,org.eclipse.update.scheduler,org.eclipse.jdt.junit,org.eclipse.core.databinding.beans.source,org.eclipse.team.cvs.ui.source,org.eclipse.ecf,org.eclipse.equinox.security.macosx.source,org.eclipse.jdt.junit.runtime.source,org.eclipse.jdt.doc.user,org.eclipse.update.core.source,org.eclipse.help.appserver.source,org.eclipse.pde.doc.user,org.eclipse.ui.ide.application,org.eclipse.equinox.p2.director.source,org.eclipse.cvs.source,org.eclipse.jdt.launching.source,org.eclipse.platform,org.eclipse.mylyn.ide.ant,org.eclipse.team.cvs.ssh,org.eclipse.ui.views.properties.tabbed.source,org.eclipse.pde.junit.runtime,org.eclipse.compare,org.eclipse.equinox.p2.engine.source,javax.servlet.source,org.eclipse.mylyn.tasks.core,org.eclipse.help.ui,org.eclipse.ui.views.log.source,org.eclipse.jdt.debug.ui,org.eclipse.ui.carbon,org.eclipse.mylyn.team.cvs,org.eclipse.mylyn.commons.net,org.eclipse.jdt.source,org.eclipse.equinox.p2.console.source,org.eclipse.ui.forms,org.eclipse.ui.views,org.eclipse.ui.net.source,org.eclipse.pde.api.tools.source,org.eclipse.ui.workbench,org.mortbay.jetty,org.eclipse.ui.cheatsheets,org.eclipse.mylyn.tasks.bugs"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
diff --git a/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/AllCoreTests.java b/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/AllCoreTests.java
index add4ad8..644ec34 100644
--- a/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/AllCoreTests.java
+++ b/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/AllCoreTests.java
@@ -26,6 +26,7 @@
import org.eclipse.ajdt.core.tests.builder.CoreOutputLocationManagerTest;
import org.eclipse.ajdt.core.tests.codeconversion.AspectsConvertingParserTest;
import org.eclipse.ajdt.core.tests.codeconversion.CodeCheckerTest;
+import org.eclipse.ajdt.core.tests.contentassist.ContentAssistTests;
import org.eclipse.ajdt.core.tests.dom.rewrite.ASTRewritingPointcutDeclTest;
import org.eclipse.ajdt.core.tests.javaelements.AspectElementTests;
import org.eclipse.ajdt.core.tests.model.AJCodeElementTest;
@@ -110,7 +111,7 @@
// commenting out for now
// suite.addTest(new TestSuite(ProblemFinderTests.class));
// suite.addTest(new TestSuite(ProblemFinderTests2.class));
-
+ suite.addTest(new TestSuite(ContentAssistTests.class));
return suite;
}
}
diff --git a/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/codeconversion/AspectsConvertingParserTest.java b/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/codeconversion/AspectsConvertingParserTest.java
index 457e11e..cd11020 100644
--- a/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/codeconversion/AspectsConvertingParserTest.java
+++ b/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/codeconversion/AspectsConvertingParserTest.java
@@ -11,12 +11,9 @@
*******************************************************************************/
package org.eclipse.ajdt.core.tests.codeconversion;
-import java.util.List;
-
import org.eclipse.ajdt.core.codeconversion.AspectsConvertingParser;
import org.eclipse.ajdt.core.codeconversion.ConversionOptions;
import org.eclipse.ajdt.core.tests.AJDTCoreTestCase;
-import org.eclipse.jdt.core.IType;
public class AspectsConvertingParserTest extends AJDTCoreTestCase {
diff --git a/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/contentassist/ContentAssistTests.java b/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/contentassist/ContentAssistTests.java
new file mode 100644
index 0000000..31c4e82
--- /dev/null
+++ b/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core/tests/contentassist/ContentAssistTests.java
@@ -0,0 +1,221 @@
+package org.eclipse.ajdt.core.tests.contentassist;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.ajdt.core.AspectJCore;
+import org.eclipse.ajdt.core.javaelements.AJCompilationUnit;
+import org.eclipse.ajdt.core.tests.AJDTCoreTestCase;
+import org.eclipse.ajdt.internal.core.AJWorkingCopyOwner;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.CompletionProposal;
+import org.eclipse.jdt.core.CompletionRequestor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.internal.core.JavaModelManager;
+
+/**
+ * Tests a whole bunch of ways that ITDs can show up in content assist
+ * @author andrew
+ *
+ */
+public class ContentAssistTests extends AJDTCoreTestCase {
+ AJCompilationUnit hasITDsUnit;
+ AJCompilationUnit usesITDsUnit;
+
+ String hasITDsContents;
+ String usesITDsContents;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ IProject proj = createPredefinedProject("ITDContentAssist");
+
+ hasITDsUnit = (AJCompilationUnit) AspectJCore.create(proj.getFile("src/hasitds/HasITDs.aj"));
+ hasITDsUnit.becomeWorkingCopy(null);
+ JavaModelManager.getJavaModelManager().getPerWorkingCopyInfo(hasITDsUnit, true, false, null);
+
+ usesITDsUnit = (AJCompilationUnit) AspectJCore.create(proj.getFile("src/uses/UsesITDs.aj"));
+ usesITDsUnit.becomeWorkingCopy(null);
+ JavaModelManager.getJavaModelManager().getPerWorkingCopyInfo(usesITDsUnit, true, false, null);
+
+ hasITDsUnit.requestOriginalContentMode();
+ hasITDsContents = new String(hasITDsUnit.getContents());
+ hasITDsUnit.discardOriginalContentMode();
+
+ usesITDsUnit.requestOriginalContentMode();
+ usesITDsContents = new String(usesITDsUnit.getContents());
+ usesITDsUnit.discardOriginalContentMode();
+ }
+
+ public void testITDField() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = hasITDsContents.indexOf("this.lis") + "this.lis".length();
+ hasITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+ assertEquals("Proposal should have been the 'list' field",
+ "list", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+ public void testITDFieldInField() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = hasITDsContents.indexOf("this.list.addAll") + "this.list.addAll".length();
+ hasITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 2 proposals, but found:\n" + requestor.toString(), 2, requestor.accepted.size());
+ assertEquals("Proposal should have been the 'addAll' method\n" + requestor.accepted.get(0),
+ "addAll", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ assertEquals("Proposal should have been the 'addAll' method\n" + requestor.accepted.get(1),
+ "addAll", new String(((CompletionProposal) requestor.accepted.get(1)).getName()));
+ }
+
+ public void testITDMethod() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = hasITDsContents.indexOf("this.makeL") + "this.makeL".length();
+ hasITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+ assertEquals("Proposal should have been the 'makeList' method\n" + requestor.accepted.get(0),
+ "makeList", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+ public void testITDConstructor() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = hasITDsContents.indexOf("new HasITDs(") + "new HasITDs(".length();
+ hasITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 2 proposals, but found:\n" + requestor.toString(), 2, requestor.accepted.size());
+
+ // the anonymous class decl
+ assertEquals("Signature of proposal should have been the 'HasITDs' constructor\n" + requestor.accepted.get(0),
+ "HasITDs", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ // the constructor
+ assertEquals("Proposal should have been the 'HasITDs' constructor\n" + requestor.accepted.get(1),
+ "Lhasitds.HasITDs;", new String(((CompletionProposal) requestor.accepted.get(1)).getDeclarationSignature()));
+ }
+
+ public void testFromDeclareParent() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = hasITDsContents.indexOf("this.insid") + "this.insid".length();
+ hasITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+
+ assertEquals("Signature of proposal should have been the 'Foo.inside' field\n" + requestor.accepted.get(0),
+ "inside", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+ public void testFromITDOnDeclareParent() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = hasITDsContents.indexOf("this.valu") + "this.valu".length();
+ hasITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+
+ assertEquals("Signature of proposal should have been the 'Foo.value' field\n" + requestor.accepted.get(0),
+ "value", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+
+ // the remaining tests try the same thing, but in a different class
+
+ public void testITDFieldInOtherClass() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = usesITDsContents.indexOf("h.lis") + "h.lis".length();
+ usesITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+ assertEquals("Proposal should have been the 'list' field",
+ "list", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+ public void testITDFieldInFieldInOtherClass() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = usesITDsContents.indexOf("h.list.addAl") + "h.list.addAl".length();
+ usesITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 2 proposals, but found:\n" + requestor.toString(), 2, requestor.accepted.size());
+ assertEquals("Proposal should have been the 'addAll' method\n" + requestor.accepted.get(0),
+ "addAll", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ assertEquals("Proposal should have been the 'addAll' method\n" + requestor.accepted.get(1),
+ "addAll", new String(((CompletionProposal) requestor.accepted.get(1)).getName()));
+ }
+
+ public void testITDMethodInOtherClass() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = usesITDsContents.indexOf("h.makeL") + "h.makeL".length();
+ usesITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+ assertEquals("Proposal should have been the 'makeList' method\n" + requestor.accepted.get(0),
+ "makeList", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+ public void testITDConstructorInOtherClass() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = usesITDsContents.indexOf("new HasITDs(") + "new HasITDs(".length();
+ usesITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 2 proposals, but found:\n" + requestor.toString(), 2, requestor.accepted.size());
+
+ // the anonymous class decl
+ assertEquals("Signature of proposal should have been the 'HasITDs' constructor\n" + requestor.accepted.get(0),
+ "HasITDs", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ // the constructor
+ assertEquals("Proposal should have been the 'HasITDs' constructor\n" + requestor.accepted.get(1),
+ "Lhasitds.HasITDs;", new String(((CompletionProposal) requestor.accepted.get(1)).getDeclarationSignature()));
+ }
+
+ public void testFromDeclareParentInOtherClass() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = usesITDsContents.indexOf("h.insid") + "h.insid".length();
+ usesITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+
+ assertEquals("Signature of proposal should have been the 'Foo.inside' field\n" + requestor.accepted.get(0),
+ "inside", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+ public void testFromITDOnDeclareParentInOtherClass() throws Exception {
+ MockCompletionRequestor requestor = new MockCompletionRequestor();
+ int offset = usesITDsContents.indexOf("h.valu") + "h.valu".length();
+ usesITDsUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE);
+
+ assertEquals("Should have 1 proposal, but found:\n" + requestor.toString(), 1, requestor.accepted.size());
+
+ assertEquals("Signature of proposal should have been the 'Foo.value' field\n" + requestor.accepted.get(0),
+ "value", new String(((CompletionProposal) requestor.accepted.get(0)).getName()));
+ }
+
+}
+
+class MockCompletionRequestor extends CompletionRequestor {
+
+ List accepted = new LinkedList();
+
+ public void accept(CompletionProposal proposal) {
+ accepted.add(proposal);
+ }
+
+ public List getAccepted() {
+ return accepted;
+ }
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.append("Accepted completion proposals:\n");
+ if (accepted.size() > 0) {
+ for (Iterator iterator = accepted.iterator(); iterator.hasNext();) {
+ CompletionProposal proposal = (CompletionProposal) iterator.next();
+ sb.append("\t" + proposal.toString() + "\n");
+ }
+ } else {
+ sb.append("\t<none>\n");
+ }
+ return sb.toString();
+ }
+
+}
\ No newline at end of file
diff --git a/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.classpath b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.classpath
new file mode 100644
index 0000000..9424d31
--- /dev/null
+++ b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.ajdt.core.ASPECTJRT_CONTAINER"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.cvsignore b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.cvsignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.project b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.project
new file mode 100644
index 0000000..0944d00
--- /dev/null
+++ b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ITDContentAssist</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.ajdt.core.ajbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.ajdt.ui.ajnature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/hasitds/HasITDs.aj b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/hasitds/HasITDs.aj
new file mode 100644
index 0000000..a58f7de
--- /dev/null
+++ b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/hasitds/HasITDs.aj
@@ -0,0 +1,15 @@
+package hasitds;
+
+import itds.ITDAspect;
+import java.util.List;
+
+public class HasITDs {
+
+ public void tryItOut() {
+ this.list.addAll(null);
+ this.makeList(4);
+ new HasITDs(6);
+ this.value = 9;
+ this.inside = 9;
+ }
+}
diff --git a/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/itds/ITDAspect.aj b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/itds/ITDAspect.aj
new file mode 100644
index 0000000..15d6b86
--- /dev/null
+++ b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/itds/ITDAspect.aj
@@ -0,0 +1,25 @@
+package itds;
+import java.util.ArrayList;
+import java.util.List;
+import hasitds.HasITDs;
+
+
+
+public aspect ITDAspect {
+ public List<String> HasITDs.list;
+ public java.util.List<String> HasITDs.makeList(int size) {
+ return new ArrayList<String>();
+ }
+ public HasITDs.new(int x) {
+ this();
+ list = new ArrayList<String>();
+ }
+
+ public static class Super {
+ public int inside =9;
+ }
+
+ public int Super.value = 7;
+
+ declare parents : HasITDs extends Super;
+}
\ No newline at end of file
diff --git a/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/uses/UsesITDs.aj b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/uses/UsesITDs.aj
new file mode 100644
index 0000000..7b2fa31
--- /dev/null
+++ b/org.eclipse.ajdt.core.tests/workspace/ITDContentAssist/src/uses/UsesITDs.aj
@@ -0,0 +1,14 @@
+package uses;
+
+import hasitds.HasITDs;
+import java.util.List;
+
+class UsesITDs {
+ public void tryItOut() {
+ HasITDs h = new HasITDs(6);
+ h.list.addAll(null);
+ h.makeList(4);
+ h.value = 9;
+ h.inside = 9;
+ }
+}