changeset 1875:f8d8f6b0a1fd

Added tests for JSObject.eval()
author Deepak Bhole <dbhole@redhat.com>
date Tue, 02 Feb 2010 16:21:26 -0500
parents a2659c8bb3c4
children 55c898e59858
files ChangeLog plugin/tests/LiveConnect/PluginTest.java plugin/tests/LiveConnect/common.js plugin/tests/LiveConnect/index.html plugin/tests/LiveConnect/jjs_eval_test.js
diffstat 5 files changed, 82 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Feb 02 16:16:48 2010 -0500
+++ b/ChangeLog	Tue Feb 02 16:21:26 2010 -0500
@@ -1,3 +1,12 @@
+2010-02-02  Deepak Bhole <dbhole@redhat.com>
+
+	* plugin/tests/LiveConnect/PluginTest.java
+	(jjsEvalTest): New function. Calls JSObject.eval() with given string.
+	* plugin/tests/LiveConnect/common.js: Added eval test suite as one of the
+	run options.
+	* plugin/tests/LiveConnect/index.html: Same.
+	* plugin/tests/LiveConnect/jjs_eval_test.js: Eval tests.
+
 2010-02-02  Deepak Bhole <dbhole@redhat.com>
 
 	* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Re-designed frame
--- a/plugin/tests/LiveConnect/PluginTest.java	Tue Feb 02 16:16:48 2010 -0500
+++ b/plugin/tests/LiveConnect/PluginTest.java	Tue Feb 02 16:21:26 2010 -0500
@@ -690,6 +690,17 @@
         return ret.toString();        
     }
 
+
+    /*
+    ***********************************
+    * Java -> JS invocation eval test *
+    ***********************************
+    */
+
+    public String jjsEvalTest(String str) {
+        return window.eval(str).toString();
+    }
+
     public void init() {
         window = JSObject.getWindow(this);
         //JSObject.getWindow(this).call("appletLoaded", new Object[]{});
--- a/plugin/tests/LiveConnect/common.js	Tue Feb 02 16:16:48 2010 -0500
+++ b/plugin/tests/LiveConnect/common.js	Tue Feb 02 16:21:26 2010 -0500
@@ -97,6 +97,9 @@
                     
                 if (document.getElementById("testForm").jjcrt.checked == 1)
                     jjsCallReturnTypeTests();
+
+                if (document.getElementById("testForm").jjeval.checked == 1)
+                    jjsEvalTests();
             } catch (e) {
                 document.getElementById("results").innerHTML += "<font color=\"red\">ERROR:<BR>" + e;
             }
--- a/plugin/tests/LiveConnect/index.html	Tue Feb 02 16:16:48 2010 -0500
+++ b/plugin/tests/LiveConnect/index.html	Tue Feb 02 16:21:26 2010 -0500
@@ -44,6 +44,7 @@
     <script language="JavaScript" src="jjs_set_tests.js"></script>
     <script language="JavaScript" src="jjs_func_rettype_tests.js"></script>
     <script language="JavaScript" src="jjs_func_parameters_tests.js"></script>
+    <script language="JavaScript" src="jjs_eval_test.js"></script>
 
 </HEAD>
 
@@ -66,6 +67,7 @@
                 <input type=checkbox name="jjsset"><tt>Java -> JS set tests</tt><BR>
                 <input type=checkbox name="jjcparam"><tt>Java -> JS function parameter conversion tests</tt><BR>
                 <input type=checkbox name="jjcrt"><tt>Java -> JS function return type tests</tt><BR>
+                <input type=checkbox name="jjeval"><tt>Java -> JS eval test</tt><BR>
             </td>
         </tr>
         <tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugin/tests/LiveConnect/jjs_eval_test.js	Tue Feb 02 16:21:26 2010 -0500
@@ -0,0 +1,57 @@
+/******************************************************
+ * Tests for parameter conversion between Java and JS *
+ ******************************************************/
+
+
+function jjsEvalTests() {
+
+    document.getElementById("results").innerHTML +=  "<h2>Java -> JS Eval Test:</h2>";
+
+    var tbl = document.createElement("table");
+    var tblBody = document.createElement("tbody");
+    var columnNames = new Array();
+    columnNames[0] = "Evaluating";
+    columnNames[1] = "Expected result";
+    columnNames[2] = "Result";
+    columnNames[3] = "Status";
+    var row;
+
+    createResultTable(tbl, tblBody, columnNames);
+
+    try {
+        row = document.createElement("tr");
+        evalstr = "document.location";
+        expectedvalue = eval(evalstr);
+        actualValue = PluginTest.jjsEvalTest(evalstr);
+        addResult(evalstr, expectedvalue, actualValue, row);
+        check(actualValue, expectedvalue, "string", row);
+    } catch (e) {
+        error(type, "", e, row);
+    }
+    tblBody.appendChild(row);
+
+    try {
+        row = document.createElement("tr");
+        evalstr = "1+1";
+        expectedvalue = eval(evalstr);
+        actualValue = PluginTest.jjsEvalTest(evalstr);
+        addResult(evalstr, expectedvalue, actualValue, row);
+        check(actualValue, expectedvalue, "string", row);
+    } catch (e) {
+        error(type, "", e, row);
+    }
+    tblBody.appendChild(row);
+
+    try {
+        row = document.createElement("tr");
+        evalstr = "typeof(true)";
+        expectedvalue = eval(evalstr);
+        actualValue = PluginTest.jjsEvalTest(evalstr);
+        addResult(evalstr, expectedvalue, actualValue, row);
+        check(actualValue, expectedvalue, "string", row);
+    } catch (e) {
+        error(type, "", e, row);
+    }
+    tblBody.appendChild(row);
+}
+