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;
+ }
+});
+
+