Adding JUnit JavaScript Support Tests
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/.classpath b/tests/org.eclipse.e4.languages.javascript.junit.test/.classpath
new file mode 100644
index 0000000..2fbb7a2
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/.project b/tests/org.eclipse.e4.languages.javascript.junit.test/.project
new file mode 100644
index 0000000..b95474c
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.e4.languages.javascript.junit.test</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.e4.languages.javascript.junit.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3f2da67
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Wed Apr 14 13:55:53 EDT 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.3
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/META-INF/MANIFEST.MF b/tests/org.eclipse.e4.languages.javascript.junit.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..bf346dd
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: JavaScript JUnit Test Bundle
+Bundle-SymbolicName: org.eclipse.e4.languages.javascript.junit.test
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Require-Bundle: org.junit,
+ org.eclipse.e4.languages.javascript.junit;bundle-version="1.0.0"
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/build.properties b/tests/org.eclipse.e4.languages.javascript.junit.test/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/AllTests.java b/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/AllTests.java
new file mode 100644
index 0000000..311d19a
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/AllTests.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.e4.languages.javascript.junit.test;
+
+import java.net.URL;
+import java.util.Arrays;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.e4.languages.javascript.junit.JavaScriptTestSuite;
+
+public class AllTests extends TestSuite {
+
+	public static Test suite() {
+		return new AllTests();
+	}
+
+	public AllTests() {
+		addTestSuite(BasicJavaScriptTest.class);		
+		URL testjsURL = getClass().getResource("test.js");
+		addTest(new JavaScriptTestSuite("AssertTestCase", Arrays.asList(new Object[]{testjsURL})));
+		addTest(new JavaScriptTestSuite("MyTestCase1", Arrays.asList(new Object[]{testjsURL})));
+		addTest(new JavaScriptTestSuite("MyTestCase2", Arrays.asList(new Object[]{testjsURL})));
+		addTest(new JavaScriptTestSuite("MyTestCase3", Arrays.asList(new Object[]{testjsURL})));
+	}
+}
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/BasicJavaScriptTest.java b/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/BasicJavaScriptTest.java
new file mode 100644
index 0000000..146ff10
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/BasicJavaScriptTest.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.e4.languages.javascript.junit.test;
+
+import org.eclipse.e4.languages.javascript.junit.JavaScriptTestCase;
+
+public class BasicJavaScriptTest extends JavaScriptTestCase {
+
+	public BasicJavaScriptTest() {
+		this(null);
+	}
+	
+	public BasicJavaScriptTest(String name) {
+		super(name, null);
+		useJavaTests();
+	}
+
+	public void testBasics() {
+		eval("var x = 7;");
+		eval("assertTrue(null, typeof x == 'number');");
+		eval("assertTrue('test', true);");
+		eval("assertTrue(true);");
+	}
+
+}
diff --git a/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/test.js b/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/test.js
new file mode 100644
index 0000000..636f94e
--- /dev/null
+++ b/tests/org.eclipse.e4.languages.javascript.junit.test/src/org/eclipse/e4/languages/javascript/junit/test/test.js
@@ -0,0 +1,51 @@
+var AssertTestCase = TestCase.extend("AssertTestCase");
+AssertTestCase.prototype.testAssertTrue = function() {
+	assertTrue(true);
+	assertTrue("test", true);
+	assertTrue(false, true);
+};
+AssertTestCase.prototype.testAssertFalse = function() {
+	assertFalse(false);
+	assertFalse("test", false);
+	assertFalse(true, false);
+};
+// more to come
+
+function MyTestCase1(name) {
+	this.setName(name);
+}
+MyTestCase1.prototype = new TestCase();
+MyTestCase1.prototype.setTestCaseName("MyTestCase1");
+MyTestCase1.prototype.testA = function() {
+	assertTrue(true);
+};
+MyTestCase1.prototype.testB = function() {
+	assertTrue(true);
+};
+
+var MyTestCase2 = TestCase.extend("MyTestCase2");
+MyTestCase2.prototype.testA = function() {
+	assertTrue(true);
+	assertNotUndefined(this.testSetup);
+};
+MyTestCase2.prototype.testB = function() {
+	assertTrue(true);
+};
+MyTestCase2.prototype.setUp = function() {
+	this.testSetup = true;
+};
+
+var MyTestCase3 = TestCase.extend("MyTestCase3", {
+	testA: function() {
+		assertTrue(true);
+		assertNotUndefined(this.testSetup);
+	},
+	testB: function() {
+		assertTrue(true);
+	},
+	setUp: function() {
+		this.testSetup = true;
+	}
+});
+
+