fixes for java model tests
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/JavadocTestForMethod.java b/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/JavadocTestForMethod.java
index 9f31b52..8dde504 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/JavadocTestForMethod.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.compiler/src/org/eclipse/wst/jsdt/core/tests/compiler/regression/JavadocTestForMethod.java
@@ -57,26 +57,21 @@
 		this.runNegativeTest(
 			new String[] {
 				"X.java",
-				"public class X {\n"
-					+ "	\n"
-					+ "	{\n"
-					+ "		new Z().foo();\n"
-					+ "	}\n"
-					+ "}\n",
-				"Z.java",
-				"public class Z {\n"
+					  "	foo();\n"
+//				"Z.java",
+//				"public class Z {\n"
 					+ "  /** \n"
 					+ "   * \n"
 					+ "   * **   ** ** ** @deprecated */\n"
-					+ "	public void foo() { \n"
+					+ "	function foo() { \n"
 					+ "	}\n"
-					+ "}\n",
+					+ "",
 				},
 			"----------\n"
-				+ "1. WARNING in X.java (at line 4)\n"
-				+ "	new Z().foo();\n"
-				+ "	^^^^^^^^^^^^^\n"
-				+ "The method foo() from the type Z is deprecated\n"
+				+ "1. WARNING in X.java (at line 1)\n"
+				+ "	foo();\n"
+				+ "	^^^^^\n"
+				+ "The function foo() from the type X.java is deprecated\n"
 				+ "----------\n");
 	}
 
@@ -143,15 +138,10 @@
 	public void test003() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
-				"public class X {\n"
-					+ "	\n"
-					+ "	{\n"
-					+ "		new Z().foo(2);\n"
-					+ "	}\n"
-					+ "}\n",
-				"Z.java",
-				"public class Z {\n"
+				"X.js",
+					"		foo(2);\n"
+//				"Z.java",
+//				"public class Z {\n"
 					+ "  /** \n"
 					+ "   * Valid tags with deprecation at end\n"
 					+ "   *\n"
@@ -162,16 +152,16 @@
 					+ "   * @see X Valid see tag\n"
 					+ "   * @deprecated\n"
 					+ "   */\n"
-					+ "	public String foo(int x) { \n"
+					+ "	function foo( x) { \n"
 					+ "		return \"\";\n"
 					+ "	}\n"
-					+ "}\n",
+					+ "",
 				},
 		"----------\n" + 
-		"1. WARNING in X.java (at line 4)\n" + 
-		"	new Z().foo(2);\n" + 
-		"	^^^^^^^^^^^^^^\n" + 
-		"The method foo(int) from the type Z is deprecated\n" + 
+		"1. WARNING in X.js (at line 1)\n" + 
+		"	foo(2);\n" + 
+		"	^^^^^^\n" + 
+		"The function foo(any) from the type X.js is deprecated\n" + 
 		"----------\n"
 				);
 	}
@@ -179,14 +169,14 @@
 	public void test004() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	\n"
 					+ "	{\n"
 					+ "		new Z().foo(2);\n"
 					+ "	}\n"
 					+ "}\n",
-				"Z.java",
+				"Z.js",
 				"public class Z {\n"
 					+ "  /** \n"
 					+ "   * Invalid javadoc tags with valid deprecation at end\n"
@@ -247,14 +237,14 @@
 	public void test005() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	\n"
 					+ "	{\n"
 					+ "		new Z().foo(2);\n"
 					+ "	}\n"
 					+ "}\n",
-				"Z.java",
+				"Z.js",
 				"public class Z {\n"
 					+ "  /** \n"
 					+ "   * Valid tags with deprecation at beginning\n"
@@ -283,14 +273,14 @@
 	public void test006() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	\n"
 					+ "	{\n"
 					+ "		new Z().foo(2);\n"
 					+ "	}\n"
 					+ "}\n",
-				"Z.java",
+				"Z.js",
 				"public class Z {\n"
 					+ "  /** \n"
 					+ "   * Invalid javadoc tags with valid deprecation at beginning\n"
@@ -352,14 +342,14 @@
 	public void test007() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	\n"
 					+ "	{\n"
 					+ "		new Z().foo(2);\n"
 					+ "	}\n"
 					+ "}\n",
-				"Z.java",
+				"Z.js",
 				"public class Z {\n"
 					+ "  /** \n"
 					+ "   * Valid tags with deprecation in the middle\n"
@@ -388,14 +378,14 @@
 	public void test008() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	\n"
 					+ "	{\n"
 					+ "		new Z().foo(2);\n"
 					+ "	}\n"
 					+ "}\n",
-				"Z.java",
+				"Z.js",
 				"public class Z {\n"
 					+ "  /** \n"
 					+ "   * Invalid javadoc tags with valid deprecation in the middle\n"
@@ -454,7 +444,7 @@
 	public void test011() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid @param: no tags, no args\n"
@@ -468,7 +458,7 @@
 	public void test012() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	public void p_foo() {\n"
 					+ "	}\n"
@@ -478,7 +468,7 @@
 	public void test013() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param declaration: no arguments, 2 declared tags\n"
@@ -505,7 +495,7 @@
 	public void test014() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	\n"
 					+ "	/**\n"
@@ -522,7 +512,7 @@
 	public void test015() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param declaration: 3 arguments, 3 correct tags in right order + 2 additional\n"
@@ -551,7 +541,7 @@
 	public void test016() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid @param declaration: 3 arguments, 3 tags in wrong order\n"
@@ -567,7 +557,7 @@
 	public void test017() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param declaration: 3 arguments, 3 correct tags in wrong order + 1 duplicate tag + 1 additional\n"
@@ -596,7 +586,7 @@
 	public void test020() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: all arguments are not documented\n"
@@ -625,7 +615,7 @@
 	public void test021() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: b and c arguments are not documented\n"
@@ -650,7 +640,7 @@
 	public void test022() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: a and c arguments are not documented\n"
@@ -675,7 +665,7 @@
 	public void test023() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: a and b arguments are not documented\n"
@@ -700,7 +690,7 @@
 	public void test024() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: c argument is not documented\n"
@@ -721,7 +711,7 @@
 	public void test025() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: a argument is not documented + b and c are not well placed\n"
@@ -742,7 +732,7 @@
 	public void test026() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: b argument is not documented + a and c are not well placed\n"
@@ -763,7 +753,7 @@
 	public void test030() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: mix of all possible errors (missing a, not argument tag and duplicated)\n"
@@ -796,7 +786,7 @@
 	public void test031() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: missing parameter name\n"
@@ -821,7 +811,7 @@
 	public void test032() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: missing parameter name + valid param \n"
@@ -842,7 +832,7 @@
 	public void test033() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: missing parameter names + valid params \n"
@@ -880,7 +870,7 @@
 	public void test034() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: missing parameter name + valid param \n"
@@ -913,7 +903,7 @@
 	public void test035() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid @param but compiler errors\n"
@@ -935,7 +925,7 @@
 	public void test036() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param + compiler errors\n"
@@ -967,7 +957,7 @@
 	public void test037() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @param: class reference instead of param name\n"
@@ -994,7 +984,7 @@
 	public void test038() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Hashtable;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -1023,7 +1013,7 @@
 	public void test050() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid @throws tags: documented exception are unchecked\n"
@@ -1040,7 +1030,7 @@
 	public void test051() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws IllegalArgumenException.. Invalid exception: invalid class name\n"
@@ -1065,7 +1055,7 @@
 	public void test052() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws java.awt.AWTexception Invalid exception: unknown type\n"
@@ -1090,7 +1080,7 @@
 	public void test053() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.io.FileNotFoundException;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -1116,7 +1106,7 @@
 	public void test055() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid @throws tags: documented exception are unchecked but method throws an unknown exception\n"
@@ -1139,7 +1129,7 @@
 	public void test056() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws IllegalArgumenException._ Invalid exception: invalid class name\n"
@@ -1169,7 +1159,7 @@
 	public void test057() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws java.awt.AWTexception Invalid exception: unknown type\n"
@@ -1199,7 +1189,7 @@
 	public void test058() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.io.FileNotFoundException;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -1230,7 +1220,7 @@
 	public void test060() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @throws tags: documented exception are unchecked but thrown exception is not documented\n"
@@ -1253,7 +1243,7 @@
 	public void test061() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws /IllegalArgumenException.. Invalid exception: invalid class name\n"
@@ -1283,7 +1273,7 @@
 	public void test062() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws java.awt.AWTexception Invalid exception: unknown type\n"
@@ -1313,7 +1303,7 @@
 	public void test063() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.io.FileNotFoundException;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -1350,7 +1340,7 @@
 	public void test065() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid @throws tags: documented exception are unchecked but some thrown exception are invalid\n"
@@ -1383,7 +1373,7 @@
 	public void test066() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws %IllegalArgumenException Invalid exception: invalid class name\n"
@@ -1438,7 +1428,7 @@
 	public void test067() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * @throws java.awt.AWTexception Invalid exception: unknown type\n"
@@ -1487,7 +1477,7 @@
 	public void test068() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.io.FileNotFoundException;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -1537,7 +1527,7 @@
 	public void test069() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.io.FileNotFoundException;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -1596,7 +1586,7 @@
 	public void test070() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid return declaration\n"
@@ -1612,7 +1602,7 @@
 	public void test071() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid empty return declaration\n"
@@ -1628,7 +1618,7 @@
 	public void test072() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid return declaration\n"
@@ -1644,7 +1634,7 @@
 	public void test073() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Missing return declaration\n"
@@ -1664,7 +1654,7 @@
 	public void test074() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid return declaration\n"
@@ -1687,7 +1677,7 @@
 	public void test075() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid return declaration\n"
@@ -1708,7 +1698,7 @@
 	public void test076() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid return declaration\n"
@@ -1745,7 +1735,7 @@
 	public void test080() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid string references \n"
@@ -1784,7 +1774,7 @@
 	public void test081() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid string references \n"
@@ -1801,7 +1791,7 @@
 	public void test085() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid URL link references \n"
@@ -1900,7 +1890,7 @@
 	public void test086() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Valid URL references \n"
@@ -1917,7 +1907,7 @@
 	public void test087() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid URL references \n"
@@ -1951,7 +1941,7 @@
 	public void test090() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -1972,7 +1962,7 @@
 	public void test091() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2018,7 +2008,7 @@
 	public void test092() {
 		runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n" +
 				"import test.copy.*;\n" +
 				"public class X {\n" +
@@ -2038,7 +2028,7 @@
 	public void test093() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.*;\n"
 					+ "public class X {\n"
@@ -2079,7 +2069,7 @@
 	public void test094() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n" +
 				"public class X {\n" +
 				"	/**\n" +
@@ -2098,7 +2088,7 @@
 	public void test095() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2139,7 +2129,7 @@
 	public void test100() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	int x;\n"
@@ -2158,7 +2148,7 @@
 	public void test101() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2216,7 +2206,7 @@
 	public void test102() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2233,7 +2223,7 @@
 	public void test103() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2273,7 +2263,7 @@
 	public void test104() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.*;\n"
 					+ "public class X {\n"
@@ -2344,7 +2334,7 @@
 	public void test105() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2414,7 +2404,7 @@
 	public void test106() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2484,7 +2474,7 @@
 	public void test107() {
 		runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n" +
 				"import test.copy.*;\n" +
 				"public class X {\n" +
@@ -2504,7 +2494,7 @@
 	public void test108() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n" +
 				"import test.copy.*;\n" +
 				"public class X {\n" +
@@ -2565,7 +2555,7 @@
 	public void test109() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n" +
 				"public class X {\n" +
 				"	/**\n" +
@@ -2584,7 +2574,7 @@
 	public void test110() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n" +
 				"public class X {\n" +
 				"	/**\n" +
@@ -2644,7 +2634,7 @@
 	public void test115() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2666,7 +2656,7 @@
 	public void test116() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2806,7 +2796,7 @@
 	public void test117() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2886,7 +2876,7 @@
 	public void test118() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -2965,7 +2955,7 @@
 	public void test120() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3007,7 +2997,7 @@
 	public void test121() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid local methods references\n"
@@ -3044,7 +3034,7 @@
 	public void test122() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid local methods references\n"
@@ -3105,7 +3095,7 @@
 	public void test123() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid local methods references\n"
@@ -3148,7 +3138,7 @@
 	public void test124() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid local methods references\n"
@@ -3197,7 +3187,7 @@
 	public void test125() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid local methods references\n"
@@ -3264,7 +3254,7 @@
 	public void test126() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid local methods references\n"
@@ -3307,7 +3297,7 @@
 	public void test127() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3375,7 +3365,7 @@
 	public void test130() {
 		this.runConformTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3417,7 +3407,7 @@
 	public void test131() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"public class X {\n"
 					+ "	/**\n"
 					+ "	 * Invalid local methods references\n"
@@ -3454,7 +3444,7 @@
 	public void test132() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3510,7 +3500,7 @@
 	public void test133() {
 		this.runNegativeTest(
 			new String[] {
-				"X.java",
+				"X.js",
 				"import java.util.Vector;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3558,7 +3548,7 @@
 	public void test135() {
 		this.runConformTest(
 			new String[] {
-				"test/deep/qualified/name/p/X.java",
+				"test/deep/qualified/name/p/X.js",
 				"package test.deep.qualified.name.p;\n"
 					+ "import java.util.Vector;\n"
 					+ "public class X {\n"
@@ -3601,7 +3591,7 @@
 	public void test136() {
 		this.runNegativeTest(
 			new String[] {
-				"test/deep/qualified/name/p/X.java",
+				"test/deep/qualified/name/p/X.js",
 				"package test.deep.qualified.name.p;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3639,7 +3629,7 @@
 	public void test137() {
 		this.runNegativeTest(
 			new String[] {
-				"test/deep/qualified/name/p/X.java",
+				"test/deep/qualified/name/p/X.js",
 				"package test.deep.qualified.name.p;\n"
 					+ "import java.util.Vector;\n"
 					+ "public class X {\n"
@@ -3696,7 +3686,7 @@
 	public void test138() {
 		this.runNegativeTest(
 			new String[] {
-				"test/deep/qualified/name/p/X.java",
+				"test/deep/qualified/name/p/X.js",
 				"package test.deep.qualified.name.p;\n"
 					+ "import java.util.Vector;\n"
 					+ "public class X {\n"
@@ -3745,7 +3735,7 @@
 	public void test140() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3764,7 +3754,7 @@
 	public void test141() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3804,7 +3794,7 @@
 	public void test142() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3862,7 +3852,7 @@
 	public void test143() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3902,7 +3892,7 @@
 	public void test144() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3954,7 +3944,7 @@
 	public void test145() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -3973,7 +3963,7 @@
 	public void test146() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4031,7 +4021,7 @@
 	public void test147() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4071,7 +4061,7 @@
 	public void test148() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4123,7 +4113,7 @@
 	public void test150() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.*;\n"
 					+ "public class X {\n"
@@ -4230,7 +4220,7 @@
 	public void test151() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.VisibilityPackage;\n"
 					+ "public class X {\n"
@@ -4288,7 +4278,7 @@
 	public void test152() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4394,7 +4384,7 @@
 	public void test153() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4446,7 +4436,7 @@
 	public void test154() {
 		runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n" +
 				"import test.copy.VisibilityPublic;\n" +
 				"public class X {\n" +
@@ -4466,7 +4456,7 @@
 	public void test155() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.VisibilityPublic;\n"
 					+ "public class X {\n"
@@ -4495,7 +4485,7 @@
 	public void test156() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.VisibilityPublic;\n"
 					+ "public class X {\n"
@@ -4555,7 +4545,7 @@
 	public void test157() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.VisibilityPublic;\n"
 					+ "public class X {\n"
@@ -4596,7 +4586,7 @@
 	public void test158() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.VisibilityPublic;\n"
 					+ "public class X {\n"
@@ -4649,7 +4639,7 @@
 	public void test159() {
 		this.runConformReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4666,7 +4656,7 @@
 	public void test160() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4694,7 +4684,7 @@
 	public void test161() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4753,7 +4743,7 @@
 	public void test162() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "public class X {\n"
 					+ "	/**\n"
@@ -4793,7 +4783,7 @@
 	public void test163() {
 		this.runNegativeReferenceTest(
 			new String[] {
-				"test/X.java",
+				"test/X.js",
 				"package test;\n"
 					+ "import test.copy.VisibilityPublic;\n"
 					+ "public class X {\n"
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ASTConverterTest.java b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ASTConverterTest.java
index 4a2e16a..be1e0ae 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ASTConverterTest.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ASTConverterTest.java
@@ -41,69 +41,18 @@
 	}
 
 	public void test00() throws JavaModelException {
-		ICompilationUnit sourceUnit = getCompilationUnit("Converter" , "src", "test0166", "Test.js"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+		ICompilationUnit sourceUnit = getCompilationUnit("Converter" , "src", "test0243", "Test.js"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+		char[] source = sourceUnit.getSource().toCharArray();
 		ASTNode result = runConversion(sourceUnit, true);
+		assertNotNull("No compilation unit", result); //$NON-NLS-1$
+		assertTrue("result is not a compilation unit", result instanceof CompilationUnit); //$NON-NLS-1$
 		ASTNode node = getASTNode((CompilationUnit) result, 0, 0, 0);
-		assertTrue("Not a VariableDeclarationStatement", node instanceof VariableDeclarationStatement); //$NON-NLS-1$
-		VariableDeclarationStatement variableDeclarationStatement = (VariableDeclarationStatement) node;
-		List fragments = variableDeclarationStatement.fragments();
-		assertTrue("Fragment list is not 4 ", fragments.size() == 4); //$NON-NLS-1$
-		VariableDeclarationFragment fragment1 = (VariableDeclarationFragment) fragments.get(0);
-		IVariableBinding binding1 = fragment1.resolveBinding();
-		assertNotNull("Binding is null", binding1); //$NON-NLS-1$
-		assertEquals("wrong name for binding1", "x", binding1.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("wrong modifier for binding1", 0, binding1.getModifiers()); //$NON-NLS-1$
-		assertTrue("a field", !binding1.isField()); //$NON-NLS-1$
-//		assertNull("declaring class is not null", binding1.getDeclaringClass()); //$NON-NLS-1$
-		ITypeBinding typeBinding1 = binding1.getType();
-		assertNotNull("typeBinding1 is null", typeBinding1); //$NON-NLS-1$
-//		assertTrue("typeBinding1 is not a primitive type", typeBinding1.isPrimitive()); //$NON-NLS-1$
-//		assertTrue("typeBinding1 is not canonical", typeBinding1 == binding1.getType()); //$NON-NLS-1$
-		VariableDeclarationFragment fragment2 = (VariableDeclarationFragment) fragments.get(1);
-		IVariableBinding binding2 = fragment2.resolveBinding();
-		assertNotNull("Binding is null", binding2); //$NON-NLS-1$
-		assertEquals("wrong name for binding2", "z", binding2.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("wrong modifier for binding2", 0, binding2.getModifiers()); //$NON-NLS-1$
-		assertTrue("a field", !binding2.isField()); //$NON-NLS-1$
-//		assertNull("declaring class is not null", binding2.getDeclaringClass()); //$NON-NLS-1$
-		ITypeBinding typeBinding2 = binding2.getType();
-		assertNotNull("typeBinding2 is null", typeBinding2); //$NON-NLS-1$
-//		assertTrue("typeBinding2 is not an array type", typeBinding2.isArray()); //$NON-NLS-1$
-//		assertTrue("typeBinding2 is not canonical", typeBinding2 == binding2.getType()); //$NON-NLS-1$
-//		assertTrue("primitive type is not canonical", typeBinding1 == typeBinding2.getElementType()); //$NON-NLS-1$
-//		assertEquals("dimension is 1", 1, typeBinding2.getDimensions()); //$NON-NLS-1$
-//		assertEquals("it is not int[]", "int[]", typeBinding2.getName());		 //$NON-NLS-1$ //$NON-NLS-2$
-		VariableDeclarationFragment fragment3 = (VariableDeclarationFragment) fragments.get(2);
-		IVariableBinding binding3 = fragment3.resolveBinding();
-		assertNotNull("Binding is null", binding3); //$NON-NLS-1$
-		assertEquals("wrong name for binding3", "i", binding3.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("wrong modifier for binding3", 0, binding3.getModifiers()); //$NON-NLS-1$
-		assertTrue("a field", !binding3.isField()); //$NON-NLS-1$
-//		assertNull("declaring class is not null", binding3.getDeclaringClass()); //$NON-NLS-1$
-		ITypeBinding typeBinding3 = binding3.getType();
-		assertNotNull("typeBinding3 is null", typeBinding3); //$NON-NLS-1$
-//		assertTrue("typeBinding3 is not an primitive type", typeBinding3.isPrimitive()); //$NON-NLS-1$
-//		assertTrue("typeBinding3 is not canonical", typeBinding3 == binding3.getType()); //$NON-NLS-1$
-//		assertTrue("primitive type is not canonical", typeBinding1 == typeBinding3); //$NON-NLS-1$
-		assertEquals("dimension is 0", 0, typeBinding3.getDimensions()); //$NON-NLS-1$
-		assertEquals("it is not the primitive type any", "any", typeBinding3.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		VariableDeclarationFragment fragment4 = (VariableDeclarationFragment) fragments.get(3);
-		IVariableBinding binding4 = fragment4.resolveBinding();
-		assertNotNull("Binding is null", binding4); //$NON-NLS-1$
-		assertEquals("wrong name for binding4", "j", binding4.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertEquals("wrong modifier for binding4", 0, binding4.getModifiers()); //$NON-NLS-1$
-		assertTrue("a field", !binding4.isField()); //$NON-NLS-1$
-		assertNull("declaring class is not null", binding4.getDeclaringClass()); //$NON-NLS-1$
-		ITypeBinding typeBinding4 = binding4.getType();
-		assertNotNull("typeBinding4 is null", typeBinding4); //$NON-NLS-1$
-//		assertTrue("typeBinding4 is not an array type", typeBinding4.isArray()); //$NON-NLS-1$
-//		assertTrue("typeBinding4 is not canonical", typeBinding4 == binding4.getType()); //$NON-NLS-1$
-//		assertTrue("primitive type is not canonical", typeBinding1 == typeBinding4.getElementType()); //$NON-NLS-1$
-//		assertEquals("dimension is 2", 2, typeBinding4.getDimensions()); //$NON-NLS-1$
-//		assertEquals("it is not int[][]", "int[][]", typeBinding4.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue("ids in the wrong order", binding1.getVariableId() < binding2.getVariableId()); //$NON-NLS-1$
-		assertTrue("ids in the wrong order", binding2.getVariableId() < binding3.getVariableId()); //$NON-NLS-1$
-		assertTrue("ids in the wrong order", binding3.getVariableId() < binding4.getVariableId()); //$NON-NLS-1$
+		assertTrue("Not a try statement", node instanceof TryStatement); //$NON-NLS-1$
+		TryStatement tryStatement = (TryStatement) node;
+		List catchClauses = tryStatement.catchClauses();
+		assertEquals("wrong size", 1, catchClauses.size()); //$NON-NLS-1$
+		CatchClause catchClause = (CatchClause) catchClauses.get(0);
+		checkSourceRange(catchClause, "catch (e){m();}", source); //$NON-NLS-1$
 	}
 	
 	/** @deprecated using deprecated code */
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ConverterTestSetup.java b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ConverterTestSetup.java
index 40ff7b5..738243c 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ConverterTestSetup.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/dom/ConverterTestSetup.java
@@ -82,7 +82,7 @@
 	public void setUpJCLClasspathVariables(String compliance) throws JavaModelException, IOException {
 		if ("1.5".equals(compliance)) {
 			if (JavaCore.getClasspathVariable("CONVERTER_JCL15_LIB") == null) {
-				setupExternalJCL("converterJclMin1.5");
+//				setupExternalJCL("converterJclMin1.5");
 				JavaCore.setClasspathVariables(
 					new String[] {"CONVERTER_JCL15_LIB", "CONVERTER_JCL15_SRC", "CONVERTER_JCL15_SRCROOT"},
 					new IPath[] {getConverterJCLPath(compliance), getConverterJCLSourcePath(compliance), getConverterJCLRootSourcePath()},
@@ -90,7 +90,7 @@
 			} 
 		} else {
 			if (JavaCore.getClasspathVariable("CONVERTER_JCL_LIB") == null) {
-				setupExternalJCL("converterJclMin");
+//				setupExternalJCL("converterJclMin");
 				JavaCore.setClasspathVariables(
 					new String[] {"CONVERTER_JCL_LIB", "CONVERTER_JCL_SRC", "CONVERTER_JCL_SRCROOT"},
 					new IPath[] {getConverterJCLPath(), getConverterJCLSourcePath(), getConverterJCLRootSourcePath()},
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaModelTests.java b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaModelTests.java
index 4024171..48c5415 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaModelTests.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaModelTests.java
@@ -2133,7 +2133,7 @@
 	public void setUpJCLClasspathVariables(String compliance) throws JavaModelException, IOException {
 		if ("1.5".equals(compliance)) {
 			if (JavaCore.getClasspathVariable("JCL15_LIB") == null) {
-				setupExternalJCL("jclMin1.5");
+//				setupExternalJCL("jclMin1.5");
 				JavaCore.setClasspathVariables(
 					new String[] {"JCL15_LIB", "JCL15_SRC", "JCL_SRCROOT"},
 					new IPath[] {getExternalJCLPath(compliance), getExternalJCLSourcePath(compliance), getExternalJCLRootSourcePath()},
@@ -2141,7 +2141,7 @@
 			} 
 		} else {
 			if (JavaCore.getClasspathVariable("JCL_LIB") == null) {
-				setupExternalJCL("jclMin");
+//				setupExternalJCL("jclMin");
 				JavaCore.setClasspathVariables(
 					new String[] {"JCL_LIB", "JCL_SRC", "JCL_SRCROOT"},
 					new IPath[] {getExternalJCLPath(), getExternalJCLSourcePath(), getExternalJCLRootSourcePath()},
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaSearchTests.java b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaSearchTests.java
index f92bf37..71e615d 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaSearchTests.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/AbstractJavaSearchTests.java
@@ -367,7 +367,7 @@
 		}
 		protected char[] getSource(IResource resource, IJavaElement element, ICompilationUnit unit) throws CoreException {
 			char[] contents = CharOperation.NO_CHAR;
-			if ("java".equals(resource.getFileExtension())) {
+			if ("js".equals(resource.getFileExtension())) {
 				ICompilationUnit cu = (ICompilationUnit)element.getAncestor(IJavaElement.COMPILATION_UNIT);
 				if (cu != null && cu.isWorkingCopy()) {
 					// working copy
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/CompletionTests.java b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/CompletionTests.java
index 70130ef..e3ede97 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/CompletionTests.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/CompletionTests.java
@@ -132,18 +132,16 @@
 public void testBug96213() throws JavaModelException {
     this.wc = getWorkingCopy(
             "/Completion/src/test/Test.js",
-            "package test;\n" +
-            "public class Test{\n"+
-            "  Test toto(Object o) {\n"+
+            "  function toto( o) {\n"+
             "    return null;\n"+
             "  }\n"+
-            "  void titi(int removed) {\n"+
+            "  function titi( removed) {\n"+
             "  }\n"+
-            "  void foo() {\n"+
-            "    int removed = 0;\n"+
-            "    toto(Test.this).titi(removed);\n"+
+            "  function foo() {\n"+
+            "    var removed = 0;\n"+
+            "    toto(Test.vv).titi(removed);\n"+
             "  }\n"+
-            "}");
+            "");
     
     
     CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true);
@@ -153,7 +151,7 @@
     this.wc.codeComplete(cursorLocation, requestor, this.wcOwner);
 
 	assertResults(
-            "removed[LOCAL_VARIABLE_REF]{removed, null, I, removed, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_EXACT_NAME + R_EXACT_EXPECTED_TYPE + R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
+            "removed[LOCAL_VARIABLE_REF]{removed, null, Lsystem.js.Number;, removed, null, " + (R_DEFAULT + R_INTERESTING + R_CASE + R_EXACT_NAME +  R_UNQUALIFIED + R_NON_RESTRICTED) + "}",
             requestor.getResults());
 }
 // https://bugs.eclipse.org/bugs/show_bug.cgi?id=99811
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/JavaSearchTests.java b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/JavaSearchTests.java
index ee56c27..b6c245a 100644
--- a/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/JavaSearchTests.java
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/src/org/eclipse/wst/jsdt/core/tests/model/JavaSearchTests.java
@@ -60,18 +60,18 @@
 		super.setUpSuite();
 
 		if (JAVA_PROJECT == null) {
-			JAVA_PROJECT = setUpJavaProject("JsSearch");
+			JAVA_PROJECT = setUpJavaProject("JSSearch");
 //			setUpJavaProject("JavaSearch15", "1.5");
 		}
 	}
 	public void tearDownSuite() throws Exception {
 		if (JAVA_SEARCH_SUITES == null) {
-			deleteProject("JsSearch");
+			deleteProject("JSSearch");
 //			deleteProject("JavaSearch15");
 		} else {
 			JAVA_SEARCH_SUITES.remove(getClass());
 			if (JAVA_SEARCH_SUITES.size() == 0) {
-				deleteProject("JsSearch");
+				deleteProject("JSSearch");
 				//deleteProject("JavaSearch15");
 			}
 		}
@@ -80,22 +80,20 @@
 	}
 
 	public void test00() throws CoreException { // was testSimpleConstructorReference1
-		IMethod method = 
-			getCompilationUnit("JsSearch", "src", "a6", "A.js").
-				getMethod("m", new String[] {});
-		searchDeclarationsOfAccessedFields(
-			method, 
-			resultCollector
-		);
-		assertSearchResults(
-			"src/a6/A.js a6.P.f [P.prototype.f=1]", 
+		ICompilationUnit compilationUnit = getCompilationUnit("JSSearch", "src", "p", "A.js");
+		IMethod constructor = compilationUnit.getMethod("A", new String[] {"QX;"});
+		search(
+			constructor, 
+			DECLARATIONS, 
+			getJavaSearchScope(), 
 			this.resultCollector);
+		assertSearchResults("src/p/A.js any A(any) [A]", resultCollector);
 	}
 
 
 
 	public void test01() throws CoreException { // was testSimpleConstructorDeclaration
-		ICompilationUnit compilationUnit = getCompilationUnit("JsSearch", "src", "p", "A.js");
+		ICompilationUnit compilationUnit = getCompilationUnit("JSSearch", "src", "p", "A.js");
 		IMethod constructor = compilationUnit.getMethod("A", new String[] {"QX;"});
 		search(
 			constructor, 
@@ -107,7 +105,7 @@
 
 
 	public void test02() throws CoreException { // was testSimpleConstructorReference1
-		ICompilationUnit compilationUnit =  getCompilationUnit("JsSearch", "src", "p", "A.js");
+		ICompilationUnit compilationUnit =  getCompilationUnit("JSSearch", "src", "p", "A.js");
 	IMethod constructor = compilationUnit.getMethod("A", new String[] {"QX;"});
 	search(
 		constructor, 
@@ -120,7 +118,7 @@
 	}
 
 	public void test03() throws CoreException { // was testSimpleConstructorReference1
-		ICompilationUnit compilationUnit =  getCompilationUnit("JsSearch", "src", "p", "A.js");
+		ICompilationUnit compilationUnit =  getCompilationUnit("JSSearch", "src", "p", "A.js");
 	IField field = compilationUnit.getField("x");
 	search(
 			field, 
@@ -133,7 +131,7 @@
 	}
 
 	public void test04() throws CoreException { // was testSimpleConstructorReference1
-		ICompilationUnit compilationUnit =  getCompilationUnit("JsSearch", "src", "p", "A.js");
+		ICompilationUnit compilationUnit =  getCompilationUnit("JSSearch", "src", "p", "A.js");
 	IField field = compilationUnit.getField("x");
 	search(
 			field, 
@@ -146,7 +144,7 @@
 	}
 
 	public void test05() throws CoreException { // was testSimpleConstructorReference1
-		IType type = getCompilationUnit("JsSearch", "src", "p", "cls1.js").getType("MyClass");
+		IType type = getCompilationUnit("JSSearch", "src", "p", "cls1.js").getType("MyClass");
 		IMethod method = type.getMethod("someMethod", new String[] {});
 
 		search(
@@ -161,7 +159,7 @@
 
 	public void test06() throws CoreException {
 		IMethod method = 
-			getCompilationUnit("JsSearch", "src", "a6", "A.js").
+			getCompilationUnit("JSSearch", "src", "a6", "A.js").
 				getMethod("m", new String[] {});
 		searchDeclarationsOfAccessedFields(
 			method, 
@@ -175,7 +173,7 @@
 //	 * Simple constructor declaration test.
 //	 */
 //	public void testConstructorDeclaration01() throws CoreException { // was testSimpleConstructorDeclaration
-//		IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+//		IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 //		IMethod constructor = type.getMethod("A", new String[] {"QX;"});
 //		search(
 //			constructor, 
@@ -188,7 +186,7 @@
 //	 * Constructor declaration in jar file test.
 //	 */
 //	public void testConstructorDeclaration02() throws CoreException { // was testConstructorDeclarationInJar
-//		IType type = getClassFile("JsSearch", "MyJar.jar", "p1", "A.class").getType();
+//		IType type = getClassFile("JSSearch", "MyJar.jar", "p1", "A.class").getType();
 //		IMethod method = type.getMethod("A", new String[] {"Ljava.lang.String;"});
 //		search(
 //			method, 
@@ -203,7 +201,7 @@
 //	 * Simple constructor reference test.
 //	 */
 //	public void testConstructorReference01() throws CoreException { // was testSimpleConstructorReference1
-//		IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+//		IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 //		IMethod constructor = type.getMethod("A", new String[] {"QX;"});
 //		search(
 //			constructor, 
@@ -232,7 +230,7 @@
 //	 * Constructor reference using an explicit constructor call.
 //	 */
 //	public void testConstructorReference03() throws CoreException { // was testConstructorReferenceExplicitConstructorCall1
-//		IType type = getCompilationUnit("JsSearch", "src", "p", "Y.js").getType("Y");
+//		IType type = getCompilationUnit("JSSearch", "src", "p", "Y.js").getType("Y");
 //		IMethod method = type.getMethod("Y", new String[] {"I"});
 //		search(
 //			method, 
@@ -247,7 +245,7 @@
 //	 * Constructor reference using an explicit constructor call.
 //	 */
 //	public void testConstructorReference04() throws CoreException { // was testConstructorReferenceExplicitConstructorCall2
-//		IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+//		IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 //		IMethod method = type.getMethod("X", new String[] {"I"});
 //		search(
 //			method, 
@@ -264,7 +262,7 @@
 //	 * (regression test for bug 23112 search: need a way to search for references to the implicit non-arg constructor)
 //	 */
 //	public void testConstructorReference05() throws CoreException { // was testConstructorReferenceImplicitConstructorCall1
-//		IType type = getCompilationUnit("JsSearch", "src", "c7", "X.js").getType("X");
+//		IType type = getCompilationUnit("JSSearch", "src", "c7", "X.js").getType("X");
 //		IMethod method = type.getMethod("X", new String[] {});
 //		search(
 //			method, 
@@ -295,7 +293,7 @@
 //	 * (regression test for PR 1GKZ8VZ: ITPJCORE:WINNT - Search - did not find references to member constructor)
 //	 */
 //	public void testConstructorReference07() throws CoreException { // was testConstructorReferenceInFieldInitializer
-//		IType type = getCompilationUnit("JsSearch", "src", "", "A.js").getType("A").getType("Inner");
+//		IType type = getCompilationUnit("JSSearch", "src", "", "A.js").getType("A").getType("Inner");
 //		IMethod method = type.getMethod("Inner", new String[] {"I"});
 //		search(
 //			method, 
@@ -361,7 +359,7 @@
 	 * (regression test for PR #1G3UI7A)
 	 */
 	public void testCoreException() throws CoreException {
-		ICompilationUnit compilationUnit = getCompilationUnit("JsSearch", "src", "p", "A.js");
+		ICompilationUnit compilationUnit = getCompilationUnit("JSSearch", "src", "p", "A.js");
 		IMethod method = compilationUnit.getMethod("A", new String[] {"QX;"});
 		SearchRequestor result = new SearchRequestor() {
 			public void acceptSearchMatch(SearchMatch match) throws CoreException {
@@ -386,7 +384,7 @@
 	 */
 	public void testDeclarationOfAccessedFields1() throws CoreException {
 		IMethod method = 
-			getCompilationUnit("JsSearch", "src", "a5", "B.js").
+			getCompilationUnit("JSSearch", "src", "a5", "B.js").
 				getType("C").getMethod("i", new String[] {});
 		searchDeclarationsOfAccessedFields(
 			method, 
@@ -403,7 +401,7 @@
 //	 */
 //	public void testDeclarationOfAccessedFields2() throws CoreException {
 //		IMethod method = 
-//			getCompilationUnit("JsSearch", "src", "a6", "A.js").
+//			getCompilationUnit("JSSearch", "src", "a6", "A.js").
 //				getType("P").getMethod("mm", new String[] {});
 //		searchDeclarationsOfAccessedFields(
 //			method, 
@@ -419,7 +417,7 @@
 //	 */
 //	public void testDeclarationOfAccessedFields3() throws CoreException {
 //		IMethod method = 
-//			getCompilationUnit("JsSearch", "src", "b6", "A.js").
+//			getCompilationUnit("JSSearch", "src", "b6", "A.js").
 //				getType("A").getMethod("foo", new String[] {});
 //		searchDeclarationsOfAccessedFields(
 //			method, 
@@ -434,7 +432,7 @@
 //	 */
 //	public void testDeclarationOfReferencedTypes01() throws CoreException {
 //		IMethod method = 
-//			getCompilationUnit("JsSearch", "src", "a3", "References.js").
+//			getCompilationUnit("JSSearch", "src", "a3", "References.js").
 //				getType("References").getMethod("foo", new String[] {});
 //		searchDeclarationsOfReferencedTypes(
 //			method, 
@@ -457,7 +455,7 @@
  */
 public void testDeclarationOfReferencedTypes02() throws CoreException {
 	IMethod method = 
-		getCompilationUnit("JsSearch", "src", "a7", "X.js").
+		getCompilationUnit("JSSearch", "src", "a7", "X.js").
 			getType("X").getMethod("foo", new String[] {});
 	searchDeclarationsOfReferencedTypes(
 		method, 
@@ -472,7 +470,7 @@
  * (Regression test for bug 12649 Missing import after move  )
  */
 public void testDeclarationOfReferencedTypes03() throws CoreException {
-	ICompilationUnit unit = getCompilationUnit("JsSearch", "src", "c1", "A.js");
+	ICompilationUnit unit = getCompilationUnit("JSSearch", "src", "c1", "A.js");
 	searchDeclarationsOfReferencedTypes(
 		unit, 
 		resultCollector
@@ -486,7 +484,7 @@
  * (Regression test for bug 12649 Missing import after move  )
  */
 public void testDeclarationOfReferencedTypes04() throws CoreException {
-	ICompilationUnit unit = getCompilationUnit("JsSearch", "src", "c1", "B.js");
+	ICompilationUnit unit = getCompilationUnit("JSSearch", "src", "c1", "B.js");
 	searchDeclarationsOfReferencedTypes(
 		unit, 
 		resultCollector
@@ -500,7 +498,7 @@
  * (Regression test for bug 18418 search: searchDeclarationsOfReferencedTypes reports import declarations)
  */
 public void testDeclarationOfReferencedTypes05() throws CoreException {
-	ICompilationUnit unit = getCompilationUnit("JsSearch", "src", "c2", "A.js");
+	ICompilationUnit unit = getCompilationUnit("JSSearch", "src", "c2", "A.js");
 	searchDeclarationsOfReferencedTypes(
 		unit, 
 		resultCollector
@@ -514,7 +512,7 @@
  * (Regression test for bug 24934 Move top level doesn't optimize the imports[refactoring])
  */
 public void testDeclarationOfReferencedTypes06() throws CoreException {
-	ICompilationUnit unit = getCompilationUnit("JsSearch", "src", "d1", "X.js");
+	ICompilationUnit unit = getCompilationUnit("JSSearch", "src", "d1", "X.js");
 	IType innerType = unit.getType("X").getType("Inner");
 	searchDeclarationsOfReferencedTypes(
 		innerType, 
@@ -530,7 +528,7 @@
 )
  */
 public void testDeclarationOfReferencedTypes07() throws CoreException {
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "r7");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "r7");
 	searchDeclarationsOfReferencedTypes(
 		pkg, 
 		resultCollector
@@ -545,7 +543,7 @@
  * (Regression test for bug 47787 IJavaSearchResultCollector.aboutToStart() and done() not called)
  */
 public void testDeclarationOfReferencedTypes08() throws CoreException {
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "r7");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "r7");
 	JavaSearchResultCollector result = new JavaSearchResultCollector() {
 	    public void beginReporting() {
 	        results.append("Starting search...");
@@ -593,7 +591,7 @@
  * Simple declarations of sent messages test.
  */
 public void testDeclarationsOfSentMessages01() throws CoreException { // was testSimpleDeclarationsOfSentMessages
-	ICompilationUnit cu = getCompilationUnit("JsSearch", "src", "", "Test.js");
+	ICompilationUnit cu = getCompilationUnit("JSSearch", "src", "", "Test.js");
 	searchDeclarationsOfSentMessages(
 		cu, 
 		this.resultCollector);
@@ -611,7 +609,7 @@
  */
 public void testDeclarationsOfSentMessages02() throws CoreException { // was testDeclarationOfSentMessages
 	IMethod method = 
-		getCompilationUnit("JsSearch", "src", "a5", "B.js").
+		getCompilationUnit("JSSearch", "src", "a5", "B.js").
 			getType("C").getMethod("i", new String[] {});
 	searchDeclarationsOfSentMessages(
 		method, 
@@ -625,7 +623,7 @@
  * Simple field declaration test.
  */
 public void testFieldDeclaration01() throws CoreException { // was testSimpleFieldDeclaration
-	IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 	IField field = type.getField("x");
 	search(
 		field, 
@@ -640,7 +638,7 @@
  * Field declaration in jar file test.
  */
 public void testFieldDeclaration02() throws CoreException { // was testFieldDeclarationInJar
-	IType type = getClassFile("JsSearch", "MyJar.jar", "p1", "A.class").getType();
+	IType type = getClassFile("JSSearch", "MyJar.jar", "p1", "A.class").getType();
 	IField field = type.getField("field");
 	search(
 		field, 
@@ -658,7 +656,7 @@
  * (regression test for PR 1GKEG73: ITPJCORE:WIN2000 - search (136): missing field declaration)
  */
 public void testFieldDeclaration03() throws CoreException { // was testFieldDeclarationArrayType
-	IType type = getCompilationUnit("JsSearch", "src", "", "B.js").getType("B");
+	IType type = getCompilationUnit("JSSearch", "src", "", "B.js").getType("B");
 	IField field = type.getField("open");
 	search(
 		field, 
@@ -689,7 +687,7 @@
  * (regression test for bug #3433 search: missing field occurrecnces (1GKZ8J6))
  */
 public void testFieldReference01() throws CoreException { // was testFieldReference
-	IType type = getCompilationUnit("JsSearch", "src", "p8", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p8", "A.js").getType("A");
 	IField field = type.getField("g");
 	search(
 		field, 
@@ -706,7 +704,7 @@
  * (regression test for PR 1GK8TXE: ITPJCORE:WIN2000 - search: missing field reference)
  */
 public void testFieldReference02() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "p9", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p9", "X.js").getType("X");
 	IField field = type.getField("f");
 	search(
 		field, 
@@ -722,7 +720,7 @@
  * (regression test for bug 5821 Refactor > Rename renames local variable instead of member in case of name clash  )
  */
 public void testFieldReference03() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "q8", "EclipseTest.js").getType("EclipseTest");
+	IType type = getCompilationUnit("JSSearch", "src", "q8", "EclipseTest.js").getType("EclipseTest");
 	IField field = type.getField("test");
 	resultCollector.showPotential = false;
 	search(field, REFERENCES, getJavaSearchScope());
@@ -735,7 +733,7 @@
  * (regression test for bug 5923 Search for "length" field refs finds [].length)
  */
 public void testFieldReference04() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "a2", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "a2", "X.js").getType("X");
 	IField field = type.getField("length");
 	search(
 		field, 
@@ -751,7 +749,7 @@
  * (regression test for bug 7987 Field reference search should do lookup in 1.4 mode)
  */
 public void testFieldReference05() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "b1", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "b1", "A.js").getType("A");
 	IField field = type.getField("x");
 
 	// Set 1.4 compliance level (no constant yet)
@@ -780,7 +778,7 @@
  * (regression test for bug 20693 Finding references to variables does not find all occurances)
  */
 public void testFieldReference06() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "c4", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "c4", "X.js").getType("X");
 	IField field = type.getField("x");
 	search(
 		field, 
@@ -796,7 +794,7 @@
  * (regression test for bug 61017 Refactoring - test case that results in uncompilable source)
  */
 public void testFieldReference07() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "s5", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "s5", "A.js").getType("A");
 	IField field = type.getField("b");
 	search(
 		field, 
@@ -811,7 +809,7 @@
  * Simple field reference test.
  */
 public void testFieldReference08() throws CoreException { // was testSimpleFieldReference
-	IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 	IField field = type.getField("x");
 	search(
 		field, 
@@ -827,7 +825,7 @@
  * Simple field read access reference test.
  */
 public void testFieldReference09() throws CoreException { // was testSimpleReadFieldReference
-	IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 	IField field = type.getField("x");
 	search(
 		field, 
@@ -842,7 +840,7 @@
  * Simple write field access reference test.
  */
 public void testFieldReference10() throws CoreException { // was testSimpleWriteFieldReference
-	IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 	IField field = type.getField("x");
 	search(
 		field, 
@@ -858,7 +856,7 @@
  * (regression test for PR 1GD79XM: ITPJCORE:WINNT - Search - search for field references - not all found)
  */
 public void testFieldReference11() throws CoreException { // was testMultipleFieldReference
-	IType type = getCompilationUnit("JsSearch", "src", "p5", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p5", "A.js").getType("A");
 	IField field = type.getField("x");
 	search(
 		field, 
@@ -876,7 +874,7 @@
  * (regression test for PR #1G2P5EP)
  */
 public void testFieldReference12() throws CoreException { // was testStaticFieldReference
-	IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 	IField field = type.getField("DEBUG");
 	search(
 		field, 
@@ -892,7 +890,7 @@
  * (regression test for PR 1GL11J6: ITPJCORE:WIN2000 - search: missing field references (nested types))
  */
 public void testFieldReference13() throws CoreException { // was testFieldReferenceInInnerClass
-	IType type = getCompilationUnit("JsSearch", "src", "", "O.js").getType("O");
+	IType type = getCompilationUnit("JSSearch", "src", "", "O.js").getType("O");
 	IField field = type.getField("y");
 	search(
 		field, 
@@ -908,7 +906,7 @@
  * (regression test for PR 1GL12XE: ITPJCORE:WIN2000 - search: missing field references in inner class)
  */
 public void testFieldReference14() throws CoreException { // was testFieldReferenceInAnonymousClass
-	IType type = getCompilationUnit("JsSearch", "src", "", "D.js").getType("D");
+	IType type = getCompilationUnit("JSSearch", "src", "", "D.js").getType("D");
 	IField field = type.getField("h");
 	search(
 		field, 
@@ -924,7 +922,7 @@
  * (regression test for PR 1GKB9YH: ITPJCORE:WIN2000 - search for field refs - incorrect results)
  */
 public void testFieldReference15() throws CoreException { // was testFieldReferenceThroughSubclass
-	IType type = getCompilationUnit("JsSearch", "src", "p6", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p6", "A.js").getType("A");
 	IField field = type.getField("f");
 	search(
 		field, 
@@ -937,7 +935,7 @@
 		"src/p6/A.java void p6.B.m() [f]",
 		this.resultCollector);
 		
-	type = getCompilationUnit("JsSearch", "src", "p6", "A.js").getType("AA");
+	type = getCompilationUnit("JSSearch", "src", "p6", "A.js").getType("AA");
 	field = type.getField("f");
 	resultCollector = new JavaSearchResultCollector();
 	search(
@@ -955,7 +953,7 @@
  * (regression test for bug 6158 Search - Prefix and postfix expression not found as write reference)
  */
 public void testFieldReference16() throws CoreException { // was testReadWriteFieldReferenceInCompoundExpression
-	IType type = getCompilationUnit("JsSearch", "src", "a4", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "a4", "X.js").getType("X");
 	IField field = type.getField("field");
 
 	// Read reference
@@ -984,7 +982,7 @@
  * (regression test for bug 7344 Search - write acces give wrong result)
  */
 public void testFieldReference17() throws CoreException { // was testReadWriteAccessInQualifiedNameReference
-	IType type = getCompilationUnit("JsSearch", "src", "a8", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "a8", "A.js").getType("A");
 	IField field = type.getField("a");
 	search(
 		field, 
@@ -1000,7 +998,7 @@
  * (regression test for bug 23329 search: incorrect range for type references in brackets)
  */
 public void testFieldReference18() throws CoreException { // was testFieldReferenceInBrackets
-	IType type = getCompilationUnit("JsSearch", "src", "s3", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "s3", "A.js").getType("A");
 	IField field = type.getField("field");
 	search(
 		field, 
@@ -1021,7 +1019,7 @@
 		FIELD, 
 		REFERENCES,
 		SearchEngine.createJavaSearchScope(new IJavaElement[] {
-			getPackageFragment("JsSearch", "src", "d6")
+			getPackageFragment("JSSearch", "src", "d6")
 		}), 
 		this.resultCollector);
 	assertSearchResults(
@@ -1032,7 +1030,7 @@
  * Field reference inside/outside doc comment.
  */
 public void testFieldReference20() throws CoreException { // was testFieldReferenceInOutDocComment
-	IType type = getCompilationUnit("JsSearch", "src", "s4", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "s4", "X.js").getType("X");
 	IField field = type.getField("x");
 	resultCollector.showInsideDoc = true;
 	search(field, REFERENCES, getJavaSearchScope(), resultCollector);
@@ -1046,7 +1044,7 @@
  */
 public void testInterfaceImplementors1() throws CoreException { // was testInterfaceImplementors
 	// implementors of an interface
-	IType type = getCompilationUnit("JsSearch", "src", "p", "I.js").getType("I");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "I.js").getType("I");
 	search(
 		type, 
 		IMPLEMENTORS, 
@@ -1062,7 +1060,7 @@
 	 * Bug 1G5HBQA: "ITPJUI:WINNT - Search - search for implementors of a class finds subclasses" is cancelled
 	 * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=124645"
 	 */
-	type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 	resultCollector = new JavaSearchResultCollector();
 	search(
 		type, 
@@ -1079,7 +1077,7 @@
  */
 public void testInterfaceImplementors2() throws CoreException {
 	// implementors of an interface
-	IType type = getCompilationUnit("JsSearch", "src", "r2", "I.js").getType("I");
+	IType type = getCompilationUnit("JSSearch", "src", "r2", "I.js").getType("I");
 	search(
 		type, 
 		IMPLEMENTORS, 
@@ -1186,7 +1184,7 @@
  * (regression test for bug 48725 Cannot search for local vars in jars.)
  */
 public void testLocalVariableReference3() throws CoreException {
-    IClassFile classFile = getClassFile("JsSearch", "test48725.jar", "p48725", "X.class");
+    IClassFile classFile = getClassFile("JSSearch", "test48725.jar", "p48725", "X.class");
 	ILocalVariable localVar = (ILocalVariable) codeSelect(classFile, "local = 1;", "local")[0];
 	search(
 		localVar, 
@@ -1201,7 +1199,7 @@
  * Simple method declaration test.
  */
 public void testMethodDeclaration01() throws CoreException { // was testSimpleMethodDeclaration
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 	IMethod method = type.getMethod("foo", new String[] {"I", "QString;", "QX;"});
 
 	search(
@@ -1219,7 +1217,7 @@
  * (regression test for bug 38568 Search for method declarations fooled by array types)
  */
 public void testMethodDeclaration02() throws CoreException { // was testMethodDeclaration
-	IType type = getCompilationUnit("JsSearch", "src", "e2", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "e2", "X.js").getType("X");
 
 	search(
 		"foo(String, String)", 
@@ -1237,7 +1235,7 @@
  * Inner method declaration test.
  */
 public void testMethodDeclaration03() throws CoreException { // was testInnerMethodDeclaration
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X").getType("Inner");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X").getType("Inner");
 	IMethod method = type.getMethod("foo", new String[] {});
 
 	search(
@@ -1253,7 +1251,7 @@
  * Method declaration in hierarchy test.
  */
 public void testMethodDeclaration04() throws CoreException { // was testMethodDeclarationInHierarchyScope1
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 
 	search(
 		"foo", 
@@ -1271,7 +1269,7 @@
  * (regression test for PR #1G2E4F1)
  */
 public void testMethodDeclaration05() throws CoreException { // was testMethodDeclarationInHierarchyScope2
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 	IMethod method = type.getMethod("foo", new String[] {"I", "QString;", "QX;"});
 
 	search(
@@ -1288,7 +1286,7 @@
  * Method declaration in hierarchy on a secondary type.
  */
 public void testMethodDeclaration06() throws CoreException { // was testMethodDeclarationInHierarchyScope3
-	IType type = getCompilationUnit("JsSearch", "src", "d3", "A.js").getType("B");
+	IType type = getCompilationUnit("JSSearch", "src", "d3", "A.js").getType("B");
 	IMethod method = type.getMethod("foo", new String[] {});
 
 	search(
@@ -1305,7 +1303,7 @@
  * (regression tets for PR #1G2KA97)
  */
 public void testMethodDeclaration07() throws CoreException { // was testMethodDeclarationInPackageScope
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getPackageFragment()});
 
 	search(
@@ -1322,7 +1320,7 @@
  * Method declaration in jar file test.
  */
 public void testMethodDeclaration08() throws CoreException { // was testMethodDeclarationInJar
-	IType type = getClassFile("JsSearch", "MyJar.jar", "p1", "A.class").getType();
+	IType type = getClassFile("JSSearch", "MyJar.jar", "p1", "A.class").getType();
 	IMethod method = type.getMethod("foo", new String[] {"Ljava.lang.String;"});
 
 	search(
@@ -1355,7 +1353,7 @@
  * (regression test for bug 43080 NPE when searching in CU with incomplete method declaration)
  */
 public void testMethodDeclaration10() throws CoreException { // was testMethodDeclarationNoReturnType
-	IType type = getCompilationUnit("JsSearch", "src", "e8", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "e8", "A.js").getType("A");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getPackageFragment()});
 
 	search(
@@ -1373,7 +1371,7 @@
  * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=92210"
  */
 public void testMethodDeclaration11() throws CoreException {
-	ICompilationUnit unit = getCompilationUnit("JsSearch", "otherSrc()", "", "X92210.js");
+	ICompilationUnit unit = getCompilationUnit("JSSearch", "otherSrc()", "", "X92210.js");
 	assertNotNull("Should have found an unit", unit);
 	IJavaElement root = unit.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
 	assertNotNull("Should have found package fragment root", root);
@@ -1394,7 +1392,7 @@
  * (regression test for bug 5068 search: missing method reference)
  */
 public void testMethodReference01() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "q5", "AQ.js").getType("I");
+	IType type = getCompilationUnit("JSSearch", "src", "q5", "AQ.js").getType("I");
 	IMethod method = type.getMethod("k", new String[] {});
 
 	search(
@@ -1411,7 +1409,7 @@
  * (regression test for bug 5069 search: method reference in super missing)
  */
 public void testMethodReference02() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "q6", "CD.js").getType("AQ");
+	IType type = getCompilationUnit("JSSearch", "src", "q6", "CD.js").getType("AQ");
 	IMethod method = type.getMethod("k", new String[] {});
 
 	search(
@@ -1428,7 +1426,7 @@
  * (regression test for bug 5070 search: missing interface method reference  )
  */
 public void testMethodReference03() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "q7", "AQ.js").getType("I");
+	IType type = getCompilationUnit("JSSearch", "src", "q7", "AQ.js").getType("I");
 	IMethod method = type.getMethod("k", new String[] {});
 
 	search(
@@ -1445,7 +1443,7 @@
  * (regression test for bug 8928 Unable to find references or declarations of methods that use static inner classes in the signature)
  */
 public void testMethodReference04() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "b2", "Y.js").getType("Y");
+	IType type = getCompilationUnit("JSSearch", "src", "b2", "Y.js").getType("Y");
 	IMethod method = type.getMethod("foo", new String[] {"QX.Inner;"});
 
 	search(
@@ -1494,7 +1492,7 @@
  * Simple method reference test.
  */
 public void testMethodReference07() throws CoreException { // was testSimpleMethodReference
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 	IMethod method = type.getMethod("foo", new String[] {"I", "QString;", "QX;"});
 
 	search(
@@ -1513,7 +1511,7 @@
  * Static method reference test.
  */
 public void testMethodReference08() throws CoreException { // was testStaticMethodReference1
-	IType type = getCompilationUnit("JsSearch", "src", "p", "Y.js").getType("Y");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "Y.js").getType("Y");
 	IMethod method = type.getMethod("bar", new String[] {});
 
 	search(
@@ -1529,7 +1527,7 @@
  * Static method reference test.
  */
 public void testMethodReference09() throws CoreException { // was testStaticMethodReference2
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 	IMethod method = type.getMethod("bar", new String[] {});
 
 	search(
@@ -1545,7 +1543,7 @@
  * Inner method reference test.
  */
 public void testMethodReference10() throws CoreException { // was testInnerMethodReference
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X").getType("Inner");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X").getType("Inner");
 	IMethod method = type.getMethod("foo", new String[] {});
 
 	search(
@@ -1561,7 +1559,7 @@
  * Method reference through super test.
  */
 public void testMethodReference11() throws CoreException { // was testMethodReferenceThroughSuper
-	IType type = getCompilationUnit("JsSearch", "src", "sd", "AQ.js").getType("AQ");
+	IType type = getCompilationUnit("JSSearch", "src", "sd", "AQ.js").getType("AQ");
 	IMethod method = type.getMethod("k", new String[] {});
 
 	search(
@@ -1577,7 +1575,7 @@
  * Method reference in inner class test.
  */
 public void testMethodReference12() throws CoreException { // was testMethodReferenceInInnerClass
-	IType type = getCompilationUnit("JsSearch", "src", "", "CA.js").getType("CA");
+	IType type = getCompilationUnit("JSSearch", "src", "", "CA.js").getType("CA");
 	IMethod method = type.getMethod("m", new String[] {});
 
 	search(
@@ -1595,7 +1593,7 @@
  * (regression test for PR 1GGNOTF: ITPJCORE:WINNT - Search doesn't find method referenced in anonymous inner class)
  */
 public void testMethodReference13() throws CoreException { // was testMethodReferenceInAnonymousClass
-	IType type = getCompilationUnit("JsSearch", "src", "", "PR_1GGNOTF.js").getType("PR_1GGNOTF");
+	IType type = getCompilationUnit("JSSearch", "src", "", "PR_1GGNOTF.js").getType("PR_1GGNOTF");
 	IMethod method = type.getMethod("method", new String[] {});
 
 	search(
@@ -1612,7 +1610,7 @@
  * (regression test for 1GHDA2V: ITPJCORE:WINNT - ClassCastException when doing a search)
  */
 public void testMethodReference14() throws CoreException { // was testMethodReferenceThroughArray
-	IType type = getClassFile("JsSearch", getExternalJCLPathString(), "java.lang", "Object.class").getType();
+	IType type = getClassFile("JSSearch", getExternalJCLPathString(), "java.lang", "Object.class").getType();
 	IMethod method = type.getMethod("clone", new String[] {});
 
 	search(
@@ -1628,7 +1626,7 @@
  * Method reference inside/outside doc comment.
  */
 public void testMethodReference15() throws CoreException { // was testMethodReferenceInOutDocComment
-	IType type = getCompilationUnit("JsSearch", "src", "s4", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "s4", "X.js").getType("X");
 	IMethod method = type.getMethod("foo", new String[] {});
 	resultCollector.showInsideDoc = true;
 	search(method, REFERENCES, getJavaSearchScope(), resultCollector);
@@ -1666,10 +1664,10 @@
  * (regression test for bug 5862 search : too many matches on search with OrPattern)
  */
 public void testOrPattern() throws CoreException {
-	IMethod leftMethod = getCompilationUnit("JsSearch", "src", "q9", "I.js")
+	IMethod leftMethod = getCompilationUnit("JSSearch", "src", "q9", "I.js")
 		.getType("I").getMethod("m", new String[] {});
 	SearchPattern leftPattern = createPattern(leftMethod, ALL_OCCURRENCES);
-	IMethod rightMethod = getCompilationUnit("JsSearch", "src", "q9", "I.js")
+	IMethod rightMethod = getCompilationUnit("JSSearch", "src", "q9", "I.js")
 		.getType("A1").getMethod("m", new String[] {});
 	SearchPattern rightPattern = createPattern(rightMethod, ALL_OCCURRENCES);
 	SearchPattern orPattern = SearchPattern.createOrPattern(leftPattern, rightPattern);
@@ -1688,7 +1686,7 @@
  * Simple package declaration test.
  */
 public void testPackageDeclaration1() throws CoreException { // was testSimplePackageDeclaration
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "p");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "p");
 	search(
 		pkg, 
 		DECLARATIONS, 
@@ -1721,7 +1719,7 @@
  * (regression test for bug 62698 NPE while searching for declaration of binary package)
  */
 public void testPackageDeclaration3() throws CoreException { // was testPackageDeclaration
-	IPackageFragment pkg = getPackageFragment("JsSearch", getExternalJCLPathString(), "java.lang");
+	IPackageFragment pkg = getPackageFragment("JSSearch", getExternalJCLPathString(), "java.lang");
 
 	search(
 		pkg, 
@@ -1737,7 +1735,7 @@
  * (regression test for bug 75561 Rename package results in I/O exception)
  */
 public void testPackageDeclaration4() throws CoreException {
-	IJavaProject project = getJavaProject("JsSearch");
+	IJavaProject project = getJavaProject("JSSearch");
 	IClasspathEntry[] originalCP = project.getRawClasspath();
 	try {
 		// add corrupt.jar to classpath
@@ -1768,7 +1766,7 @@
 public void testPackageDeclarationBug73551() throws CoreException {
 	JavaSearchResultCollector result = new JavaSearchResultCollector();
 	result.showAccuracy = true;
-	IPackageDeclaration packDecl = getCompilationUnit("JsSearch", "src", "p71267", "Test.js").getPackageDeclaration("p71267");
+	IPackageDeclaration packDecl = getCompilationUnit("JSSearch", "src", "p71267", "Test.js").getPackageDeclaration("p71267");
 	search(packDecl, DECLARATIONS, getJavaSearchScope(),  result);
 	assertSearchResults(
 		"src/p71267/Test.java p71267 [No source] EXACT_MATCH",
@@ -1805,7 +1803,7 @@
  * (regression test for PR 1GK90H4: ITPJCORE:WIN2000 - search: missing package reference)
  */
 public void testPackageReference1() throws CoreException {
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "q2");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "q2");
 
 	search(
 		pkg, 
@@ -1821,7 +1819,7 @@
  * (regression test for bug 17906 Rename package fails when inner classes are imported)
  */
 public void testPackageReference2() throws CoreException {
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "b8");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "b8");
 
 	search(
 		pkg, 
@@ -1837,7 +1835,7 @@
  * (regression test for bug 47989 Exception when searching for IPackageFragment "java.util.zip")
  */
 public void testPackageReference3() throws CoreException {
-	IPackageFragment pkg = getPackageFragment("JsSearch", "test47989.jar", "p1");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "test47989.jar", "p1");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {pkg.getParent()});
 
 	search(
@@ -1853,7 +1851,7 @@
  * Simple package reference test.
  */
 public void testPackageReference4() throws CoreException { // was testSimplePackageReference
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "p");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "p");
 
 	search(
 		pkg, 
@@ -1876,7 +1874,7 @@
  * Various package reference test.
  */
 public void testPackageReference5() throws CoreException { // was testVariousPackageReference
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "p3.p2.p");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "p3.p2.p");
 
 	search(
 		pkg, 
@@ -1900,7 +1898,7 @@
  * Regression test for 1GBK7B2: ITPJCORE:WINNT - package references: could be more precise
  */
 public void testPackageReference6() throws CoreException { // was testAccuratePackageReference
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "p3.p2");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "p3.p2");
 
 	search(
 		pkg, 
@@ -1956,7 +1954,7 @@
  * (Regression test for 1G4IN3E: ITPJCORE:WINNT - AbortCompilation using J9 to search for class declaration) 
  */
 public void testPotentialMatchInBinary1() throws CoreException {
-	IJavaProject project = this.getJavaProject("JsSearch");
+	IJavaProject project = this.getJavaProject("JSSearch");
 	IClasspathEntry[] classpath = project.getRawClasspath();
 	try {
 		// add AbortCompilation.jar to classpath
@@ -1991,7 +1989,7 @@
  * (Regression test for 1G4IN3E: ITPJCORE:WINNT - AbortCompilation using J9 to search for class declaration) 
  */
 public void testPotentialMatchInBinary2() throws CoreException {
-	IJavaProject project = this.getJavaProject("JsSearch");
+	IJavaProject project = this.getJavaProject("JSSearch");
 	IClasspathEntry[] classpath = project.getRawClasspath();
 	try {
 		// add AbortCompilation.jar to classpath
@@ -2026,7 +2024,7 @@
  * (Regression test for 1G4IN3E: ITPJCORE:WINNT - AbortCompilation using J9 to search for class declaration) 
  */
 public void testPotentialMatchInBinary3() throws CoreException {
-	IJavaProject project = this.getJavaProject("JsSearch");
+	IJavaProject project = this.getJavaProject("JSSearch");
 	IClasspathEntry[] classpath = project.getRawClasspath();
 	try {
 		// add AbortCompilation.jar to classpath
@@ -2060,7 +2058,7 @@
  * (regression test for bug 3445 search: type hierarchy scope incorrect (1GLC8VS))
  */
 public void testSearchScope01() throws CoreException { // was testHierarchyScope
-	ICompilationUnit cu = this. getCompilationUnit("JsSearch", "src", "a9", "A.js");
+	ICompilationUnit cu = this. getCompilationUnit("JSSearch", "src", "a9", "A.js");
 	IType type = cu.getType("C");
 	IJavaSearchScope scope = SearchEngine.createHierarchyScope(type);
 	assertTrue("a9.C should be included in hierarchy scope", scope.encloses(type));
@@ -2073,7 +2071,7 @@
  * (regression test for bug 9041 search: cannot create a sub-cu scope)
  */
 public void testSearchScope02() throws CoreException { // was testSubCUSearchScope1
-	IType type = getCompilationUnit("JsSearch", "src", "b3", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "b3", "X.js").getType("X");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type});
 
 	search(
@@ -2093,7 +2091,7 @@
  * (regression test for bug 9041 search: cannot create a sub-cu scope)
  */
 public void testSearchScope03() throws CoreException { // was testSubCUSearchScope2
-	IType type = getCompilationUnit("JsSearch", "src", "b3", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "b3", "X.js").getType("X");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getField("field")});
 
 	search(
@@ -2110,7 +2108,7 @@
  * (regression test for bug 9041 search: cannot create a sub-cu scope)
  */
 public void testSearchScope04() throws CoreException { // was testSubCUSearchScope3
-	IType type = getCompilationUnit("JsSearch", "src", "b3", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "b3", "X.js").getType("X");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getType("Y")});
 
 	search(
@@ -2131,7 +2129,7 @@
 	File workspaceLocation = new File(workspace.getRoot().getLocation().toOSString());
 	File minimalJar = new File(workspaceLocation, "JavaSearch/MyJar.jar");
 	File externalJar = new File(workspaceLocation.getParentFile().getCanonicalFile(), "MyJar.jar"); // canonicalize the external path as this is not done on case sensitive platforms when creating a new lib entry
-	IJavaProject project = this.getJavaProject("JsSearch");
+	IJavaProject project = this.getJavaProject("JSSearch");
 	IClasspathEntry[] classpath = project.getRawClasspath();
 	try {
 		copy(minimalJar, externalJar);
@@ -2142,7 +2140,7 @@
 		newClasspath[length-1] = JavaCore.newLibraryEntry(new Path(externalPath), new Path(externalPath), null, false);
 		project.setRawClasspath(newClasspath, null);
 		
-		IPackageFragment pkg = this.getPackageFragment("JsSearch", externalPath, "p0");
+		IPackageFragment pkg = this.getPackageFragment("JSSearch", externalPath, "p0");
 		IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {pkg});
 
 		search(
@@ -2177,7 +2175,7 @@
  * Simple type declaration test.
  */
 public void testTypeDeclaration01() throws CoreException { // was testSimpleTypeDeclaration
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 
 	search(
 		type, 
@@ -2209,7 +2207,7 @@
  * (regression test for bug 29524 Search for declaration via patterns adds '"*")
  */
 public void testTypeDeclaration03() throws CoreException { // was testTypeDeclaration
-	IPackageFragment pkg = this.getPackageFragment("JsSearch", "src", "d8");
+	IPackageFragment pkg = this.getPackageFragment("JSSearch", "src", "d8");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {pkg});
 
 	search(
@@ -2224,7 +2222,7 @@
  * Type declaration in jar file test.
  */
 public void testTypeDeclaration04() throws CoreException { // was testTypeDeclarationInJar
-	IType type = getClassFile("JsSearch", "MyJar.jar", "p1", "A.class").getType();
+	IType type = getClassFile("JSSearch", "MyJar.jar", "p1", "A.class").getType();
 
 	search(
 		type, 
@@ -2240,7 +2238,7 @@
  * (regression test for 20631 Declaration of local binary type not found)
  */
 public void testTypeDeclaration05() throws CoreException { // was testTypeDeclarationInJar2
-	IPackageFragmentRoot root = getPackageFragmentRoot("JsSearch", "test20631.jar");
+	IPackageFragmentRoot root = getPackageFragmentRoot("JSSearch", "test20631.jar");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {root});
 
 	search(
@@ -2258,7 +2256,7 @@
  * (check that subpackages are not included)
  */
 public void testTypeDeclaration06() throws CoreException { // was testTypeDeclarationInPackageScope
-	IType type = getCompilationUnit("JsSearch", "src", "p3", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p3", "X.js").getType("X");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getPackageFragment()});
 
 	search(
@@ -2276,7 +2274,7 @@
  * (check that subpackages are not included)
  */
 public void testTypeDeclaration07() throws CoreException { // was testTypeDeclarationInPackageScope2
-	IType type = getClassFile("JsSearch", "MyJar.jar", "p0", "X.class").getType();
+	IType type = getClassFile("JSSearch", "MyJar.jar", "p0", "X.class").getType();
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getPackageFragment()});
 
 	search(
@@ -2295,7 +2293,7 @@
  */
 public void testTypeDeclaration08() throws CoreException { // was testMemberTypeDeclaration
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[]{
-		this.getPackageFragment("JsSearch", "src", "b4")
+		this.getPackageFragment("JSSearch", "src", "b4")
 	});
 
 	search(
@@ -2342,7 +2340,7 @@
  * Local type declaration test.
  */
 public void testTypeDeclaration11() throws CoreException { // was testLocalTypeDeclaration1
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "f2");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "f2");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {pkg});
 
 	search(
@@ -2377,7 +2375,7 @@
  * (regression test for PR 1GKAQJS: ITPJCORE:WIN2000 - search: incorrect results for nested types)
  */
 public void testTypeOccurence1() throws CoreException { // was testTypeOccurence
-	IType type = getCompilationUnit("JsSearch", "src", "r", "A.js").getType("A").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "r", "A.js").getType("A").getType("X");
 
 	search(
 		type, 
@@ -2398,7 +2396,7 @@
  * (regression test for bug 37166 NPE in SearchEngine when matching type against ProblemReferenceBinding )
  */
 public void testTypeOccurence2() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "r8", "B.js").getType("B");
+	IType type = getCompilationUnit("JSSearch", "src", "r8", "B.js").getType("B");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getPackageFragment()});
 
 	search(
@@ -2415,7 +2413,7 @@
  * Ensures that correct positions are reported for an inner type reference using a ALL_OCCURENCES pattern
  */
 public void testTypeOccurence3() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "e4", "A.js").getType("A").getType("Inner");
+	IType type = getCompilationUnit("JSSearch", "src", "e4", "A.js").getType("A").getType("Inner");
 
 	search(
 		type, 
@@ -2436,7 +2434,7 @@
  * (regression test for bug 3310 Smoke 124: Compile errors introduced with rename refactoring (1GFBK2G))
  */
 public void testTypeOccurence4() throws CoreException { // was testTypeOccurenceWithDollar
-	IType type = getCompilationUnit("JsSearch", "src", "q3", "A$B.js").getType("A$B");
+	IType type = getCompilationUnit("JSSearch", "src", "q3", "A$B.js").getType("A$B");
 
 	search(
 		type, 
@@ -2453,7 +2451,7 @@
  * (Regression test for PR 1GK7K17: ITPJCORE:WIN2000 - search: missing type reference)
  */
 public void testTypeReference01() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "", "X.js").getType("X");
 
 	search(
 		type, 
@@ -2469,7 +2467,7 @@
  * (Regression test for bug 29516 SearchEngine regressions in 20030114)
  */
 public void testTypeReference02() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "src", "d7", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "d7", "A.js").getType("A");
 
 	search(
 		type, 
@@ -2504,7 +2502,7 @@
  * (Regression test for bug 31997 Refactoring d.n. work for projects with brackets in name.)
  */
 public void testTypeReference04() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "otherSrc()", "", "X31997.js").getType("X31997");
+	IType type = getCompilationUnit("JSSearch", "otherSrc()", "", "X31997.js").getType("X31997");
 
 	search(
 		type, 
@@ -2520,7 +2518,7 @@
  * (Regression test for bug 48261 Search does not show results)
  */
 public void testTypeReference05() throws CoreException {
-	IType type = getCompilationUnit("JsSearch", "test48261.jar", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "test48261.jar", "p", "X.js").getType("X");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {type.getPackageFragment().getParent()});
 
 	search(
@@ -2552,7 +2550,7 @@
  * Simple type reference test.
  */
 public void testTypeReference07() throws CoreException { // was testTypeDeclaration01
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 
 	search(
 		type, 
@@ -2574,7 +2572,7 @@
  * (regression test for PR #1G4GO4O)
  */
 public void testTypeReference08() throws CoreException { // was testTypeReferenceInInitializer
-	IType type = getCompilationUnit("JsSearch", "src", "", "Test.js").getType("Test");
+	IType type = getCompilationUnit("JSSearch", "src", "", "Test.js").getType("Test");
 
 	search(
 		type, 
@@ -2591,7 +2589,7 @@
  * Type reference as a single name reference test.
  */
 public void testTypeReference09() throws CoreException { // was testTypeReferenceAsSingleNameReference
-	IType type = getCompilationUnit("JsSearch", "src", "", "TypeReferenceAsSingleNameReference.js").getType("TypeReferenceAsSingleNameReference");
+	IType type = getCompilationUnit("JSSearch", "src", "", "TypeReferenceAsSingleNameReference.js").getType("TypeReferenceAsSingleNameReference");
 
 	search(
 		type, 
@@ -2658,7 +2656,7 @@
  * (regression test for PR 1GL0MN9: ITPJCORE:WIN2000 - search: not consistent results for nested types)
  */
 public void testTypeReference11() throws CoreException { // was testMemberTypeReference2
-	IType type = getCompilationUnit("JsSearch", "src", "a", "A.js").getType("A").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "a", "A.js").getType("A").getType("X");
 
 	search(
 		type, 
@@ -2675,7 +2673,7 @@
  * (regression test for 1G4GHPS: ITPJUI:WINNT - Strange error message in search)
  */
 public void testTypeReference12() throws CoreException { // was testObjectMemberTypeReference
-	IType type = getCompilationUnit("JsSearch", "src", "ObjectMemberTypeReference", "A.js")
+	IType type = getCompilationUnit("JSSearch", "src", "ObjectMemberTypeReference", "A.js")
 		.getType("A")
 		.getType("Object");
 
@@ -2694,7 +2692,7 @@
  * (Regression test for PR #1G4TSC0)
  */
 public void testTypeReference13() throws CoreException { // was testTypeReferenceInQualifiedNameReference
-	IType type = getCompilationUnit("JsSearch", "src", "p", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "A.js").getType("A");
 
 	search(
 		type, 
@@ -2712,7 +2710,7 @@
  * (Regression test for PR #1GLBP65)
  */
 public void testTypeReference14() throws CoreException { // was testTypeReferenceInQualifiedNameReference2
-	IType type = getCompilationUnit("JsSearch", "src", "p4", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p4", "A.js").getType("A");
 
 	search(
 		type, 
@@ -2730,7 +2728,7 @@
  * (Regression test for PR 1GL9UMH: ITPJCORE:WIN2000 - search: missing type occurrences)
  */
 public void testTypeReference15() throws CoreException { // was testTypeReferenceInQualifiedNameReference3
-	IType type = getCompilationUnit("JsSearch", "src", "", "W.js").getType("W");
+	IType type = getCompilationUnit("JSSearch", "src", "", "W.js").getType("W");
 
 	search(
 		type, 
@@ -2746,7 +2744,7 @@
  * (Regression test for bug 16751 Renaming a class doesn't update all references  )
  */
 public void testTypeReference16() throws CoreException { // was testTypeReferenceInQualifiedNameReference4
-	IType type = getCompilationUnit("JsSearch", "src", "b7", "X.js").getType("SubClass");
+	IType type = getCompilationUnit("JSSearch", "src", "b7", "X.js").getType("SubClass");
 
 	search(
 		type, 
@@ -2762,7 +2760,7 @@
  * (regression test for PR #1G5N8KS)
  */
 public void testTypeReference17() throws CoreException { // was testTypeReferenceNotInClasspath
-	IType type = getCompilationUnit("JsSearch", "src", "p", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "p", "X.js").getType("X");
 
 	search(
 		type, 
@@ -2784,7 +2782,7 @@
  * (Regression test for PR #1GA7QA1)
  */
 public void testTypeReference18() throws CoreException { // was testVariousTypeReferences
-	IType type = getCompilationUnit("JsSearch", "src", "NoReference", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "NoReference", "A.js").getType("A");
 
 	search(
 		type, 
@@ -2800,7 +2798,7 @@
  * (regression test for PR #1GA7PAS)
  */
 public void testTypeReference19() throws CoreException { // was testTypeReferenceInImport
-	IType type = getCompilationUnit("JsSearch", "src", "p2", "Z.js").getType("Z");
+	IType type = getCompilationUnit("JSSearch", "src", "p2", "Z.js").getType("Z");
 
 	search(
 		type, 
@@ -2816,7 +2814,7 @@
  * (regression test for bug 23077 search: does not find type references in some imports)
  */
 public void testTypeReference20() throws CoreException { // was testTypeReferenceInImport2
-	IType type = getCompilationUnit("JsSearch", "src", "r6", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "r6", "A.js").getType("A");
 
 	search(
 		type, 
@@ -2837,7 +2835,7 @@
  * (regression test for PR #1GAL424)
  */
 public void testTypeReference21() throws CoreException { // was testTypeReferenceInArray
-	IType type = getCompilationUnit("JsSearch", "src", "TypeReferenceInArray", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "TypeReferenceInArray", "A.js").getType("A");
 
 	search(
 		type, 
@@ -2854,7 +2852,7 @@
  * (regression test for bug 3230 Search - Too many type references for query ending with * (1GAZVGI)  )
  */
 public void testTypeReference22() throws CoreException { // was testTypeReferenceInArray2
-	IType type = getCompilationUnit("JsSearch", "src", "s1", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "s1", "X.js").getType("X");
 
 	search(
 		type, 
@@ -2870,7 +2868,7 @@
  * (regression test for 1G52F7P: ITPJCORE:WINNT - Search - finds bogus references to class)
  */
 public void testTypeReference23() throws CoreException { // testNegativeTypeReference
-	IType type = getCompilationUnit("JsSearch", "src", "p7", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "p7", "A.js").getType("A");
 
 	search(
 		type, 
@@ -2886,7 +2884,7 @@
  * (Regression test for bug 6779 searchDeclarationsOfReferencedTyped - missing exception types)
  */
 public void testTypeReference24() throws CoreException { // was testTypeReferenceInThrows
-	IType type = getCompilationUnit("JsSearch", "src", "a7", "X.js").getType("MyException");
+	IType type = getCompilationUnit("JSSearch", "src", "a7", "X.js").getType("MyException");
 
 	resultCollector.showAccuracy = true;
 	search(
@@ -2909,7 +2907,7 @@
 		TYPE, 
 		REFERENCES,
 		SearchEngine.createJavaSearchScope(new IJavaElement[] {
-			getPackageFragment("JsSearch", "src", "b5")
+			getPackageFragment("JSSearch", "src", "b5")
 		}), 
 		this.resultCollector);
 	assertSearchResults(
@@ -2930,7 +2928,7 @@
 		TYPE, 
 		REFERENCES,
 		SearchEngine.createJavaSearchScope(new IJavaElement[] {
-			getPackageFragment("JsSearch", "src", "b5")
+			getPackageFragment("JSSearch", "src", "b5")
 		}), 
 		this.resultCollector);
 	assertSearchResults(
@@ -2944,7 +2942,7 @@
  * (Regression test for bug 21485  NPE when doing a reference search to a package)
  */
 public void testTypeReference27() throws CoreException { // was testInnacurateTypeReference3
-	IType type = getCompilationUnit("JsSearch", "src", "r3", "A21485.js").getType("A21485");
+	IType type = getCompilationUnit("JSSearch", "src", "r3", "A21485.js").getType("A21485");
 
 	resultCollector.showAccuracy = true;
 	search(
@@ -2962,7 +2960,7 @@
  * (regression test for bug 23329 search: incorrect range for type references in brackets)
  */
 public void testTypeReference28() throws CoreException { // was testTypeReferenceInCast
-	IType type = getCompilationUnit("JsSearch", "src", "s3", "A.js").getType("B");
+	IType type = getCompilationUnit("JSSearch", "src", "s3", "A.js").getType("B");
 
 	search(
 		type, 
@@ -2993,7 +2991,7 @@
  * Type reference test (not case sensitive)
  */
 public void testTypeReference30() throws CoreException { // was testTypeReferenceNotCaseSensitive
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "d4");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "d4");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {pkg});
 	SearchPattern pattern = createPattern("Y", TYPE, REFERENCES, false);
 
@@ -3015,7 +3013,7 @@
 		TYPE, 
 		REFERENCES,
 		SearchEngine.createJavaSearchScope(new IJavaElement[] {
-			getPackageFragment("JsSearch", "src", "d5")
+			getPackageFragment("JSSearch", "src", "d5")
 		}), 
 		this.resultCollector);
 	assertSearchResults(
@@ -3029,7 +3027,7 @@
  * (regression test for bug 28236 Search for refs to class in hierarchy matches class outside hierarchy )
  */
 public void testTypeReference32() throws CoreException { // was testTypeReferenceInHierarchy
-	IType type = getCompilationUnit("JsSearch", "src", "d9.p1", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "d9.p1", "A.js").getType("A");
 
 	IJavaSearchScope scope = SearchEngine.createHierarchyScope(type);
 	search(
@@ -3046,7 +3044,7 @@
  * (Regression test for bug 29366 Search reporting invalid inaccurate match )
  */
 public void testTypeReference33() throws CoreException { // was testTypeReferenceWithRecovery
-	IType type = getCompilationUnit("JsSearch", "src", "e1", "A29366.js").getType("A29366");
+	IType type = getCompilationUnit("JSSearch", "src", "e1", "A29366.js").getType("A29366");
 
 	resultCollector.showAccuracy = true;
 	search(
@@ -3063,7 +3061,7 @@
  * (Regression test for bug 36479 Rename operation during refactoring fails)
  */
 public void testTypeReference34() throws CoreException { // was testTypeReferenceWithProblem
-	IType type = getCompilationUnit("JsSearch", "src", "e6", "A.js").getType("A");
+	IType type = getCompilationUnit("JSSearch", "src", "e6", "A.js").getType("A");
 
 	resultCollector.showAccuracy = true;
 	search(
@@ -3081,7 +3079,7 @@
  * (Regression test for bug 39831 Search finds only "inexact" matches)
  */
 public void testTypeReference35() throws CoreException { // was testTypeReferenceWithCorruptJar
-	IJavaProject project = getJavaProject("JsSearch");
+	IJavaProject project = getJavaProject("JSSearch");
 	IClasspathEntry[] originalCP = project.getRawClasspath();
 	try {
 		// add corrupt.jar to classpath
@@ -3091,7 +3089,7 @@
 		newCP[cpLength] = JavaCore.newLibraryEntry(new Path("/JavaSearch/corrupt.jar"), null, null);
 		project.setRawClasspath(newCP, null);
 		
-		IType type = getCompilationUnit("JsSearch", "src", "e7", "A.js").getType("A");
+		IType type = getCompilationUnit("JSSearch", "src", "e7", "A.js").getType("A");
 
 		resultCollector.showAccuracy = true;
 		search(
@@ -3110,7 +3108,7 @@
  * Local type reference test.
  */
 public void testTypeReference36() throws CoreException { // was testLocalTypeReference1
-	IPackageFragment pkg = getPackageFragment("JsSearch", "src", "f2");
+	IPackageFragment pkg = getPackageFragment("JSSearch", "src", "f2");
 	IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {pkg});
 
 	resultCollector.showContext = true;
@@ -3148,7 +3146,7 @@
  * Type reference inside/outside doc comment.
  */
 public void testTypeReference38() throws CoreException { // was testTypeReferenceInOutDocComment
-	IType type = getCompilationUnit("JsSearch", "src", "s4", "X.js").getType("X");
+	IType type = getCompilationUnit("JSSearch", "src", "s4", "X.js").getType("X");
 	resultCollector.showInsideDoc = true;
 	search(type, REFERENCES, getJavaSearchScope(), this.resultCollector);
 	assertSearchResults(
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachSourceTests/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachSourceTests/.classpath
new file mode 100644
index 0000000..b4627a8
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachSourceTests/.classpath
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="lib" path="attach.jar"/>
+    <classpathentry kind="lib" path="attach2.jar"/>
+    <classpathentry kind="lib" path="test.jar"/>    
+    <classpathentry kind="lib" path="update.jar"/>    
+    <classpathentry kind="lib" path="full.jar"/>
+    <classpathentry kind="lib" path="test2.jar"/>    
+    <classpathentry kind="lib" path="test4.jar"/>    
+    <classpathentry kind="lib" path="test5.jar"/>    
+    <classpathentry kind="lib" path="test6.jar"/>
+    <classpathentry kind="lib" path="lib"/>
+    <classpathentry kind="src" path="src" output="src"/>
+    <classpathentry kind="var" path="JCL_LIB"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachSourceTests/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachSourceTests/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachSourceTests/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachedJavadocProject/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachedJavadocProject/.classpath
new file mode 100644
index 0000000..b69ee6e
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachedJavadocProject/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jsdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="lib/test6.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachedJavadocProject/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachedJavadocProject/.project
new file mode 100644
index 0000000..720b8d9
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/AttachedJavadocProject/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>AttachedJavadocProject</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CodeCorrection/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CodeCorrection/.classpath
new file mode 100644
index 0000000..dce3aa7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CodeCorrection/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="lib.jar"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CodeCorrection/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CodeCorrection/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CodeCorrection/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Compiler/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Compiler/.classpath
new file mode 100644
index 0000000..b26c690
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Compiler/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Compiler/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Compiler/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Compiler/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Completion/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Completion/.classpath
new file mode 100644
index 0000000..7828904
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Completion/.classpath
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="src" path="src2"/>
+    <classpathentry kind="src" path="src3"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="zzz.jar" sourcepath="/Completion/zzzsrc.zip"/>
+    <classpathentry kind="lib" path="test0049.jar" sourcepath="/Completion/test0049src.zip"/>
+    <classpathentry kind="lib" path="pack.jar"/>
+    <classpathentry kind="lib" path="same.jar"/>
+    <classpathentry kind="lib" path="constructors.jar" sourcepath="/Completion/constructorssrc.zip"/>
+    <classpathentry kind="lib" path="generics.jar" sourcepath="/Completion/genericssrc.zip"/>
+    <classpathentry kind="lib" path="class-folder"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Completion/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Completion/.project
new file mode 100644
index 0000000..e98f410
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Completion/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Completion</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter/.classpath
new file mode 100644
index 0000000..7e077eb
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
+    <classpathentry kind="output" path="bin"/>
+    <classpathentry kind="lib" sourcepath="src" path="bins"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter15/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter15/.classpath
new file mode 100644
index 0000000..474fab1
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter15/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="CONVERTER_JCL15_LIB" sourcepath="CONVERTER_JCL15_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
+    <classpathentry kind="output" path="bin"/>
+    <classpathentry kind="lib" sourcepath="src" path="bins"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter15/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter15/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Converter15/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CreateMembers/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CreateMembers/.classpath
new file mode 100644
index 0000000..49cabdd
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CreateMembers/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CreateMembers/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CreateMembers/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/CreateMembers/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Encoding/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Encoding/.classpath
new file mode 100644
index 0000000..2e9d84f
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Encoding/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+    <classpathentry kind="lib" sourcepath="src" path="bins"/>
+    <classpathentry kind="lib" path="testUTF8.jar" sourcepath="/Encoding/testUTF8.zip" rootpath=""/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Encoding/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Encoding/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Encoding/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Formatter/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Formatter/.classpath
new file mode 100644
index 0000000..2e9d84f
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Formatter/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+    <classpathentry kind="lib" sourcepath="src" path="bins"/>
+    <classpathentry kind="lib" path="testUTF8.jar" sourcepath="/Encoding/testUTF8.zip" rootpath=""/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Formatter/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Formatter/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Formatter/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JSSearch/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JSSearch/.classpath
new file mode 100644
index 0000000..340612a
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JSSearch/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="src" path="otherSrc()"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JSSearch/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JSSearch/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JSSearch/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectSrcTests/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectSrcTests/.classpath
new file mode 100644
index 0000000..49cabdd
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectSrcTests/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectSrcTests/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectSrcTests/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectSrcTests/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectTests/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectTests/.classpath
new file mode 100644
index 0000000..068e118
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectTests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path=""/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="lib.jar"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectTests/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectTests/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaProjectTests/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch/.classpath
new file mode 100644
index 0000000..e6167a3
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch/.classpath
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="src" path="otherSrc()"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="MyJar.jar"/>
+    <classpathentry kind="lib" path="test20631.jar" sourcepath="/JavaSearch/test20631.zip" rootpath=""/>
+    <classpathentry kind="lib" path="test24741.jar" sourcepath="/JavaSearch/test24741.jar" rootpath=""/>
+    <classpathentry kind="lib" path="test47909.jar" sourcepath="/JavaSearch/test47909.jar" rootpath=""/>
+    <classpathentry kind="lib" path="test47989.jar" sourcepath="/JavaSearch/test47989.jar" rootpath=""/>
+    <classpathentry kind="lib" path="test48261.jar" sourcepath="/JavaSearch/test48261.jar" rootpath=""/>
+    <classpathentry kind="lib" path="test48725.jar" sourcepath="/JavaSearch/test48725.jar" rootpath=""/>
+    <classpathentry kind="lib" path="b111416.jar" sourcepath="/JavaSearch/b111416.jar" rootpath=""/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch15/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch15/.classpath
new file mode 100644
index 0000000..9f83149
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch15/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry excluding="tmp" kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch15/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch15/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearch15/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchBugs/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchBugs/.classpath
new file mode 100644
index 0000000..a21e94d
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchBugs/.classpath
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry excluding="b81556/b/" kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="lib" path="lib/test81556.jar" sourcepath="/JavaSearchBugs/lib/test81556.jar" rootpath=""/>
+	<classpathentry kind="lib" path="lib/test75816.jar" sourcepath="/JavaSearchBugs/lib/test75816.jar" rootpath=""/>
+	<classpathentry kind="lib" path="lib/b86293.jar"/>
+	<classpathentry kind="lib" path="lib/b87627.jar" sourcepath="/JavaSearchBugs/lib/b87627.jar" rootpath=""/>
+	<classpathentry kind="lib" path="lib/b110422.jar" sourcepath="" rootpath=""/>
+	<classpathentry kind="lib" path="lib/b124469.jar" sourcepath="/JavaSearchBugs/lib/b124469.jar" rootpath=""/>
+	<classpathentry kind="lib" path="lib/b124645.jar"/>
+	<classpathentry kind="lib" path="lib/b125178.jar" sourcepath="" rootpath=""/>
+	<classpathentry kind="lib" path="lib/b126330.jar"/>
+	<classpathentry kind="lib" path="lib/b128877.jar" sourcepath="/JavaSearchBugs/lib/b128877.jar" rootpath=""/>
+	<classpathentry kind="lib" path="lib/b137984.jar"/>
+	<classpathentry kind="lib" path="lib/JavaSearch15.jar" sourcepath="/JavaSearchBugs/lib/JavaSearch15.jar" rootpath=""/>
+	<classpathentry sourcepath="lib" kind="lib" path="lib"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchBugs/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchBugs/.project
new file mode 100644
index 0000000..c909b4d
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchBugs/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JavaSearchBugs</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects1/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects1/.classpath
new file mode 100644
index 0000000..216b064
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects1/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="var" path="JCL_LIB"/>
+    <classpathentry exported="true" kind="lib" path="lib"/>
+    <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects1/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects1/.project
new file mode 100644
index 0000000..c330715
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects1/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JavaSearchMultipleProjects1</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects2/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects2/.classpath
new file mode 100644
index 0000000..201bf03
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects2/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="src" path="/JavaSearchMultipleProjects1"/>
+    <classpathentry kind="var" path="JCL_LIB"/>
+    <classpathentry kind="lib" path="lib"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects2/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects2/.project
new file mode 100644
index 0000000..08c9e31
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/JavaSearchMultipleProjects2/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JavaSearchMultipleProjects2</name>
+	<comment></comment>
+	<projects>
+		<project>JavaSearchMultipleProjects</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Resolve/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Resolve/.classpath
new file mode 100644
index 0000000..38e0319
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Resolve/.classpath
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="src" path="src2"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="zzz.jar" sourcepath="/Resolve/zzzsrc.zip"/>
+    <classpathentry kind="lib" path="p3.jar" sourcepath="/Resolve/p3src.zip"/>
+    <classpathentry kind="lib" path="jj.jar" sourcepath="/Resolve/jjsrc.zip"/>
+    <classpathentry kind="lib" path="test25888.jar" sourcepath="/Resolve/test25888src.zip"/>
+    <classpathentry kind="lib" path="test47177.jar" sourcepath="/Resolve/test47177src.zip"/>
+    <classpathentry kind="lib" path="test47214.jar" sourcepath="/Resolve/test47214.jar"/>
+    <classpathentry kind="lib" path="test0023.jar" sourcepath="/Resolve/test0023src.zip"/>
+    <classpathentry kind="lib" path="p4.jar"/>
+    <classpathentry kind="lib" path="class-folder"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Resolve/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Resolve/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/Resolve/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/SnippetCompletion/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/SnippetCompletion/.classpath
new file mode 100644
index 0000000..38e0319
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/SnippetCompletion/.classpath
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="src" path="src2"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="zzz.jar" sourcepath="/Resolve/zzzsrc.zip"/>
+    <classpathentry kind="lib" path="p3.jar" sourcepath="/Resolve/p3src.zip"/>
+    <classpathentry kind="lib" path="jj.jar" sourcepath="/Resolve/jjsrc.zip"/>
+    <classpathentry kind="lib" path="test25888.jar" sourcepath="/Resolve/test25888src.zip"/>
+    <classpathentry kind="lib" path="test47177.jar" sourcepath="/Resolve/test47177src.zip"/>
+    <classpathentry kind="lib" path="test47214.jar" sourcepath="/Resolve/test47214.jar"/>
+    <classpathentry kind="lib" path="test0023.jar" sourcepath="/Resolve/test0023src.zip"/>
+    <classpathentry kind="lib" path="p4.jar"/>
+    <classpathentry kind="lib" path="class-folder"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/SnippetCompletion/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/SnippetCompletion/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/SnippetCompletion/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchy/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchy/.classpath
new file mode 100644
index 0000000..38e0319
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchy/.classpath
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="src" path="src2"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="zzz.jar" sourcepath="/Resolve/zzzsrc.zip"/>
+    <classpathentry kind="lib" path="p3.jar" sourcepath="/Resolve/p3src.zip"/>
+    <classpathentry kind="lib" path="jj.jar" sourcepath="/Resolve/jjsrc.zip"/>
+    <classpathentry kind="lib" path="test25888.jar" sourcepath="/Resolve/test25888src.zip"/>
+    <classpathentry kind="lib" path="test47177.jar" sourcepath="/Resolve/test47177src.zip"/>
+    <classpathentry kind="lib" path="test47214.jar" sourcepath="/Resolve/test47214.jar"/>
+    <classpathentry kind="lib" path="test0023.jar" sourcepath="/Resolve/test0023src.zip"/>
+    <classpathentry kind="lib" path="p4.jar"/>
+    <classpathentry kind="lib" path="class-folder"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchy/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchy/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchy/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyDependent/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyDependent/.classpath
new file mode 100644
index 0000000..0888cd4
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyDependent/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path=""/>
+    <classpathentry kind="src" path="/TypeHierarchyNotification"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyDependent/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyDependent/.project
new file mode 100644
index 0000000..12f7bde
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyDependent/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+		<project>TypeHierarchyNotification</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyNotification/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyNotification/.classpath
new file mode 100644
index 0000000..dce3aa7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyNotification/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="lib" path="lib.jar"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyNotification/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyNotification/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchyNotification/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchySerialization/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchySerialization/.classpath
new file mode 100644
index 0000000..b7a47d9
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchySerialization/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+     <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchySerialization/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchySerialization/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeHierarchySerialization/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeResolve/.classpath b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeResolve/.classpath
new file mode 100644
index 0000000..49cabdd
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeResolve/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeResolve/.project b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeResolve/.project
new file mode 100644
index 0000000..75574e7
--- /dev/null
+++ b/tests/org.eclipse.wst.jsdt.core.tests.model/workspace/TypeResolve/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.jsdt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>