[nobug] correct failing tests in master/3.6
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
index 27e2622..a510144 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/BundleResourceUtil.java
@@ -19,6 +19,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Enumeration;
+import java.util.Iterator;
 import java.util.List;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
@@ -266,4 +267,26 @@
 			e.printStackTrace();
 		}
 	}
+	
+	public static IProject createJavaWebProject(String name) throws CoreException {
+		// Create new project
+		IProject project = BundleResourceUtil.createSimpleProject(name, null, new String[]{JavaCore.NATURE_ID, "org.eclipse.pde.PluginNature"});
+
+		project.getFolder("META-INF").create(true, true, null);
+		project.getFolder("META-INF").getFile("MANIFEST.MF").create(new ByteArrayInputStream(("Manifest-Version: 1.0\nBundle-ManifestVersion: 2\nBundle-SymbolicName: "+name+"; singleton:=true\nRequire-Bundle: javax.servlet;bundle-version=\"3.0\",\n javax.servlet.jsp;bundle-version=\"2.2\"\nBundle-ActivationPolicy: lazy\n").getBytes()), true, null);
+
+		IJavaProject javaProject = JavaCore.create(project);
+		List buildPath = new ArrayList(Arrays.asList(javaProject.getRawClasspath()));
+		Iterator i = buildPath.iterator();
+		while (i.hasNext()) {
+			IClasspathEntry entry = (IClasspathEntry) i.next();
+			if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER && "org.eclipse.jdt.launching.JRE_CONTAINER".equals(entry.getPath().segment(0))) {
+				i.remove();
+			}
+		}
+		buildPath.add(JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins")));
+		buildPath.add(JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6")));
+		javaProject.setRawClasspath((IClasspathEntry[]) buildPath.toArray(new IClasspathEntry[buildPath.size()]), new Path("/" + name + "/WebContent/WEB-INF/classes"), new NullProgressMonitor());
+		return project;
+	}
 }
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java
index 33d077d..21677e8 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java
@@ -35,7 +35,6 @@
 import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.compiler.IProblem;
 import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
 import org.eclipse.jst.jsp.core.internal.java.IJSPProblem;
@@ -132,7 +131,7 @@
 	public void test_126377() throws Exception {
 		String projectName = "bug_126377";
 		// Create new project
-		IProject project = BundleResourceUtil.createSimpleProject(projectName, null, null);
+		IProject project = BundleResourceUtil.createJavaWebProject(projectName);
 		assertTrue(project.exists());
 		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/" + projectName, "/" + projectName);
 		IFile file = project.getFile("WebContent/test126377_noerror.jsp");
@@ -144,7 +143,11 @@
 		helper.setURI(file.getFullPath().toOSString());
 		validator.validate(helper, reporter);
 		
-		assertTrue("found jsp java error within html comments when there are none", reporter.getMessages().isEmpty());
+		String strings = "";
+		for (int i = 0; i < reporter.getMessages().size(); i++) {
+			strings = strings + ((IMessage) reporter.getMessages().get(i)).getText() + "\n";
+		}
+		assertTrue("found problems within html comments when there should be none: "+ strings, reporter.getMessages().isEmpty());
 		
 		file = project.getFile("WebContent/test126377_error.jsp");
 		assertTrue(file.exists());
@@ -377,7 +380,7 @@
 	public void test_150794() throws Exception {
 		String testName = "bug_150794";
 		// Create new project
-		IProject project = BundleResourceUtil.createSimpleProject(testName, null, null);
+		IProject project = BundleResourceUtil.createJavaWebProject(testName);
 		assertTrue(project.exists());
 		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/" + testName, "/" + testName);
 		
@@ -390,7 +393,11 @@
 		helper.setURI(main.getFullPath().toOSString());
 		validator.validate(helper, reporter);
 
-		assertTrue("Unexpected problems found", reporter.getMessages().size() == 0);
+		String strings = "";
+		for (int i = 0; i < reporter.getMessages().size(); i++) {
+			strings = strings + ((IMessage) reporter.getMessages().get(i)).getText() + "\n";
+		}
+		assertTrue("Unexpected problems found: " + strings, reporter.getMessages().isEmpty());
 
 		// clean up if we got to the end
 		try {
@@ -711,7 +718,7 @@
 	}
 
 	public void test_389174() throws CoreException, IOException {
-		IProject j = BundleResourceUtil.createSimpleProject(getName(), null, new String[]{JavaCore.NATURE_ID});
+		IProject j = BundleResourceUtil.createJavaWebProject(getName());
 		assertTrue(j.exists());
 
 		String typeName = "List<List<Boolean>>";
@@ -728,7 +735,7 @@
 			assertTrue("specified type did not survive translation", translator.getTranslation().indexOf(typeName) >= 0);
 			IJSPProblem[] translationProblems = (IJSPProblem[]) translator.getTranslationProblems().toArray(new IJSPProblem[0]);
 			for (int i = 0; i < translationProblems.length; i++) {
-				assertTrue(translationProblems[i].getID() != IProblem.UndefinedType);
+				assertEquals("expected IJSPProblem type: " + translationProblems[i].getMessage(), Integer.toHexString(IProblem.UndefinedType), Integer.toHexString(translationProblems[i].getID()));
 			}
 		}
 		finally {
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCustomTagTest.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCustomTagTest.java
index d317ee4..fff9041 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCustomTagTest.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCustomTagTest.java
@@ -20,6 +20,7 @@
 import org.eclipse.jst.jsp.core.tests.taglibindex.BundleResourceUtil;
 import org.eclipse.jst.jsp.core.tests.validation.ReporterForTest;
 import org.eclipse.jst.jsp.core.tests.validation.ValidationContextForTest;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 
 public class JSPJavaTranslatorCustomTagTest extends TestCase {
@@ -59,20 +60,23 @@
 	public void test_310085() throws Exception {
 		String projectName = "bug_310085"; //$NON-NLS-1$
 		// Create new project
-		IProject project = BundleResourceUtil.createSimpleProject(projectName, null, null);
+		IProject project = BundleResourceUtil.createJavaWebProject(projectName);
 		assertTrue(project.exists());
 		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/" + projectName, "/" + projectName);//$NON-NLS-1$ //$NON-NLS-2$
 		IFile file = project.getFile("WebContent/test310085.jsp");//$NON-NLS-1$
 		assertTrue(file.exists());
-				
+
 		JSPValidator validator = new JSPJavaValidator();
 		IReporter reporter = new ReporterForTest();
 		ValidationContextForTest helper = new ValidationContextForTest();
 		helper.setURI(file.getFullPath().toString());
 		validator.validate(helper, reporter);
 		
-		assertTrue("Found JSP Java problem for custom tag "+reporter.getMessages().size(), reporter.getMessages().isEmpty());//$NON-NLS-1$
-		
+		String strings = "";
+		for (int i = 0; i < reporter.getMessages().size(); i++) {
+			strings = strings + ((IMessage) reporter.getMessages().get(i)).getText() + "\n";
+		}
+		assertTrue("Found JSP Java problem(s) for custom tag: " + strings, reporter.getMessages().isEmpty());
 	}
 
 	/**
@@ -84,19 +88,22 @@
 	public void test_326193() throws Exception {
 		String projectName = "bug_326193"; //$NON-NLS-1$
 		// Create new project
-		IProject project = BundleResourceUtil.createSimpleProject(projectName, null, null);
+		IProject project = BundleResourceUtil.createJavaWebProject(projectName);
 		assertTrue(project.exists());
 		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/" + projectName, "/" + projectName); //$NON-NLS-1$ //$NON-NLS-2$
 		IFile file = project.getFile("WebContent/test326193.jsp"); //$NON-NLS-1$
 		assertTrue(file.exists());
-		
+
 		JSPValidator validator = new JSPJavaValidator();
 		IReporter reporter = new ReporterForTest();
 		ValidationContextForTest helper = new ValidationContextForTest();
 		helper.setURI(file.getFullPath().toOSString());
-		validator.validate(helper, reporter);
-		
-		assertTrue("found jsp java error for empty end tag in xml comment in script", reporter.getMessages().isEmpty());//$NON-NLS-1$
-			 		
-	 	}
+		validator.validate(helper, reporter);		
+
+		String strings = "";
+		for (int i = 0; i < reporter.getMessages().size(); i++) {
+			strings = strings + ((IMessage) reporter.getMessages().get(i)).getText() + "\n";
+		}
+		assertTrue("found jsp java error for empty end tag in xml comment in script:" + strings, reporter.getMessages().isEmpty());
 	}
+}
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/validation/JSPDirectiveValidatorTest.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/validation/JSPDirectiveValidatorTest.java
index 6caba40..ac7d918 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/validation/JSPDirectiveValidatorTest.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/validation/JSPDirectiveValidatorTest.java
@@ -192,7 +192,7 @@
 		IPath path = new Path (filePath);
 		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path.segment(0));
 		if (!project.exists()) {
-			BundleResourceUtil.createSimpleProject(path.segment(0), null, new String[]{JavaCore.NATURE_ID});
+			BundleResourceUtil.createJavaWebProject(path.segment(0));
 		}
 		IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
 		file.create(new ByteArrayInputStream(content.getBytes("utf8")), true, null);
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testCreateTranslationAdapter.obj b/tests/org.eclipse.jst.jsp.core.tests/testCreateTranslationAdapter.obj
new file mode 100644
index 0000000..69f6f2c
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testCreateTranslationAdapter.obj
Binary files differ
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testTranslationTextComparison.obj b/tests/org.eclipse.jst.jsp.core.tests/testTranslationTextComparison.obj
new file mode 100644
index 0000000..69f6f2c
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testTranslationTextComparison.obj
Binary files differ
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.classpath
index 4600e2b..2194587 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.classpath
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.classpath
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts.jar"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_08"/>
+	<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
 </classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.project
index 770dfe4..ff981fd 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.project
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/.project
@@ -11,20 +11,14 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.wst.validation.validationbuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
 	</natures>
 </projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3858ea8
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_109721/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: unloadable; singleton:=true
+Require-Bundle: javax.servlet;bundle-version="3.0",
+ javax.servlet.jsp;bundle-version="2.2"
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/.classpath
deleted file mode 100644
index 5ec3b3b..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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="output" path="WebContent/WEB-INF/classes"/>
-</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/.project
deleted file mode 100644
index a375624..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>bug_107338</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/WebContent/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/WebContent/META-INF/MANIFEST.MF
deleted file mode 100644
index 254272e..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_126377/WebContent/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: 
-
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_150794/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_150794/.classpath
deleted file mode 100644
index 5ec3b3b..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_150794/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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="output" path="WebContent/WEB-INF/classes"/>
-</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_150794/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_150794/.project
deleted file mode 100644
index e3720e7..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_150794/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>bug_87351</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_310085/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_310085/.classpath
deleted file mode 100644
index 5ec3b3b..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_310085/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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="output" path="WebContent/WEB-INF/classes"/>
-</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_310085/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_310085/.project
deleted file mode 100644
index a375624..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_310085/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>bug_107338</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_326193/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_326193/.classpath
deleted file mode 100644
index 5ec3b3b..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_326193/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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="output" path="WebContent/WEB-INF/classes"/>
-</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_326193/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_326193/.project
deleted file mode 100644
index a375624..0000000
--- a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_326193/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>bug_107338</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>