changeset 89:66e9f29eddf4

Adding a new reproducer for JS->Java communication.
author Jana Fabrikova <jfabriko@redhat.com>
date Wed, 03 Oct 2012 15:55:13 +0200
parents f555ba6855f9
children fb1313a59a57
files JSToJGet/resources/JSToJGet.html JSToJGet/resources/JSToJ_auxiliary.js JSToJGet/resources/JSToJava_Get.js JSToJGet/resources/jstoj-get.jnlp JSToJGet/srcs/JSToJGet.java JSToJGet/testcases/JSToJGetTest.java
diffstat 6 files changed, 823 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JSToJGet/resources/JSToJGet.html	Wed Oct 03 15:55:13 2012 +0200
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en-US">
+  <head>
+    <title>JavaScript to Java LiveConnect - Get values from applet</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+    <script language="JavaScript" src="JSToJ_auxiliary.js"></script>
+    <script language="JavaScript" src="JSToJava_Get.js"></script>
+
+  </head>
+  <body>
+
+    <h2> The JSToJGet html page</h2> 
+
+    <applet code="JSToJGet" width="1000" height="100" id="jstojGetApplet" MAYSCRIPT>
+        <param name="jnlp_href" value="jstoj-get.jnlp">
+    </applet>
+
+    <div id="messageDiv"></div>
+
+    <script type="text/javascript">
+      var urlArgs = document.URL.split("?");
+      var testid = urlArgs[1];
+
+      if( testid != null ){
+          document.getElementById( 'jstojGetApplet' ).setStatusLabel(testid);
+          appendMessageDiv(testid+"... ");
+      }else{
+          document.getElementById( 'jstojGetApplet' ).setStatusLabel("url without ?");
+          appendMessageDiv("no url arguments...");
+      }
+      switch(testid){
+        case "int":
+            test_get_int();
+            break;
+        case "double":
+            test_get_double();
+            break;
+        case "float":
+            test_get_float();
+            break;
+        case "long":
+            test_get_long();
+            break;
+        case "boolean":
+            test_get_boolean();
+            break;
+        case "char":
+            test_get_char();
+            break;
+        case "byte":
+            test_get_byte();
+            break;
+        case "intArrayElement":
+            test_get_intArrayElement();
+            break;
+        case "intArrayBeyond":
+            test_get_intArrayBeyond();
+            break;
+        case "regularString":
+            test_get_regularString();
+            break;
+        case "specialCharsString":
+            test_get_specialCharsString();
+            break;
+        case "null":
+            test_get_null();
+            break;
+        case "Integer":
+            test_get_Integer();
+            break;
+        case "Double":
+            test_get_Double();
+            break;
+        case "Float":
+            test_get_Float();
+            break;
+        case "Long":
+            test_get_Long();
+            break;
+        case "Boolean":
+            test_get_Boolean();
+            break;
+        case "Character":
+            test_get_Character();
+            break;
+        case "Byte":
+            test_get_Byte();
+            break;
+        case "DoubleArrayElement":
+            test_get_DoubleArrayElement();
+            break;
+        case "DoubleFullArray":
+            test_get_DoubleFullArray();
+            break;
+        default:
+            appletStdOutLn('jstojGetApplet', "No argument in URL! Should be e.g. JSToJGet.html?int");           
+            document.getElementById( 'jstojGetApplet' ).setStatusLabel("Not a valid argument in URL! Should be e.g. JSToJGet.html?int");             
+            break;
+    }
+    afterTestsMessage('jstojGetApplet');
+    </script>
+
+  </body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JSToJGet/resources/JSToJ_auxiliary.js	Wed Oct 03 15:55:13 2012 +0200
@@ -0,0 +1,69 @@
+/*
+JSToJ_auxiliary.js
+This file contains auxiliary JavaScript functions for LiveConnect tests output,
+the following reproducers have this file as a common resource:
+- JSToJGet
+- JSToJSet
+- JSToJFuncParam
+- JSToJFuncReturn
+- JSToJFuncResol
+- JSToJTypeConv
+- JToJSGet
+- JToJSSet
+- JToJSFuncParam
+- JToJSFuncReturn
+- JToJSEval
+*/
+
+function check(actual, expected, expectedtype, testid, appletName ) {
+    if (actual == expected) { //the same value
+        if (typeof(actual) == expectedtype) { //the same type
+            passTest( testid, appletName );
+        } else {
+            failTypeTest( testid, appletName, actual, expectedtype );
+        }
+    } else {
+        failValTest( testid, appletName, actual, expected );                    
+    }
+}
+
+function passTest( testid, appletName ){
+    var passStr = "Test no."+testid+" - passed.";
+    //applet stdout
+    appletStdOut( appletName, passStr);
+    //html page
+    appendMessageDiv(passStr);
+}
+
+function failValTest( testid, appletName, actual, expected ){
+    var failValStr = "Test no."+testid+" - failed, value mismatch. expected:["+expected+"] found:["+actual+"].";
+    //applet stdout
+    appletStdOut( appletName, failValStr);
+    //html page
+    appendMessageDiv(failValStr);
+}
+
+function failTypeTest( testid, appletName, actual, expectedtype ){
+    var failTypeStr = "Test no."+testid+" - failed, type mismatch. expected:["+expectedtype+"] found:["+typeof(actual)+"].";
+    //applet stdout
+    appletStdOutLn( appletName, failTypeStr);
+    //html page
+    appendMessageDiv(failTypeStr);
+}
+
+function appletStdOut( appletName, str ){
+    document.getElementById( appletName ).stdOutWrite( str );
+}
+
+function appletStdOutLn( appletName, str ){
+    document.getElementById( appletName ).stdOutWriteln( str );
+}
+
+function afterTestsMessage( appletName ){
+    document.getElementById( appletName ).stdOutWriteln("afterTests");
+}
+
+function appendMessageDiv( message ){
+    var messageDiv = document.getElementById( 'messageDiv' );
+    messageDiv.appendChild( document.createTextNode(message) );
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JSToJGet/resources/JSToJava_Get.js	Wed Oct 03 15:55:13 2012 +0200
@@ -0,0 +1,249 @@
+function test_get_int(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var i = document.getElementById(appletName).i;    
+        check(i, 42, "number", " 1 - (int)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_double()
+{
+    var appletName = 'jstojGetApplet';
+    try{
+        var d = document.getElementById(appletName).d;
+        check(d, 42.42, "number", " 2 - (double)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_float(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var f = document.getElementById(appletName).f;
+        check(f, 42.099998474121094, "number", " 3 - (float)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_long(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var l = document.getElementById(appletName).l;
+        check(l, 4294967296, "number", " 4 - (long)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }    
+}
+
+function test_get_boolean(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var b = document.getElementById(appletName).b;
+        check(b, true, "boolean", " 5 - (boolean)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_char(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var c = document.getElementById(appletName).c;
+        check(c, 8995, "number", " 6 - (char)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_byte(){
+    var appletName = 'jstojGetApplet';
+    try{    
+        var by = document.getElementById(appletName).by;
+        check(by, 43, "number", " 7 - (byte)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_intArrayElement(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var ia = document.getElementById(appletName).ia[4];
+        check(ia, 1024, "number", " 8 - (int[] - element access)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_intArrayBeyond(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var ia2 = document.getElementById(appletName).ia[30];
+        check(ia2, null, "undefined", " 9 - (int[] - beyond length)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_regularString(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var rs = document.getElementById(appletName).rs;    
+        check(rs, "I'm a string!", "string", "10 - (regular string)", appletName);    
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_specialCharsString(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var ss = document.getElementById(appletName).ss;
+        check(ss, "𠁎〒£$ǣ€𝍖", "string", "11 - (string with special characters)",appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_null(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var n = document.getElementById(appletName).n;
+        check(n, null, "object","12 - (null)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_Integer(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var I = document.getElementById(appletName).I;
+        check(I, 24, "object","13 - (Integer)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_Double(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var D = document.getElementById(appletName).D;
+        check(D, 24.24, "object", "14 - (Double)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_Float(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var F = document.getElementById(appletName).F;
+        check(F, 24.124, "object", "15 - (Float)", appletName);    
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_Long(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var L = document.getElementById(appletName).L;
+        check(L, 6927694924, "object", "16 - (Long)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_Boolean(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var B = document.getElementById(appletName).B;
+        check(B, false, "object", "17 - (Boolean)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_Character(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var C = document.getElementById(appletName).C;
+        check(C, 'ᔦ',  "object", "18 - (Character)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_Byte(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var By = document.getElementById(appletName).By;
+        check(By, 34,  "object", "19 - (Byte)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_DoubleArrayElement(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var DaE = document.getElementById(appletName).Da1[9];
+        check(DaE, 24.24,  "object", "20 - (Double[] - element access)", appletName);
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+
+function test_get_DoubleFullArray(){
+    var appletName = 'jstojGetApplet';
+    try{
+        var DaStr = document.getElementById(appletName).Da1.toString().substr(0,20);
+        var Da = document.getElementById(appletName).Da1;
+    
+        var appletid = appletName;
+        var testid = "21 - (Double[] - full array)";
+        
+        var expected = "[Ljava.lang.Double;@";
+        var expectedtype = "object";
+    
+        if ( DaStr ==  expected ) { //the same value
+            if ( typeof(Da) == expectedtype ) { //the same type
+                passTest( testid, appletid );
+            } else {
+                failTypeTest( testid, appletid, typeof(Da), expectedtype );
+            }
+        } else {
+            failValTest( testid, appletid, DaStr, expected );                
+        }
+    }catch(e){
+        appletStdOut( appletName, e );    
+        appendMessageDiv(e);
+    }
+}
+    
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JSToJGet/resources/jstoj-get.jnlp	Wed Oct 03 15:55:13 2012 +0200
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jnlp spec="1.0+" codebase="" href="jstoj-get.jnlp">
+    <information>
+        <title>JavaScript to Java LiveConnect - Get</title>
+        <vendor>RedHat</vendor>
+        <homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+        <description>LiveConnect - tests for getting members from Java side.</description>
+    </information>
+    <resources>
+        <!-- Application Resources -->
+        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
+        <jar href="JSToJGet.jar" main="true" />
+    </resources>
+    <applet-desc 
+         name="JS to J Get"
+         main-class="JSToJGet"
+         width="1000"
+         height="100">
+     </applet-desc>
+</jnlp>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JSToJGet/srcs/JSToJGet.java	Wed Oct 03 15:55:13 2012 +0200
@@ -0,0 +1,71 @@
+import java.applet.*;
+import java.awt.*;
+
+public class JSToJGet extends Applet {
+
+    public static final int i = 42;
+    public static final double d = 42.42;
+    public static final float f = 42.1F;
+    public static final long l = 4294967296L;
+    public static final boolean b = true;
+    public static final char c = '\u2323';
+    public static final byte by = 43;
+    public static final String rs = "I'm a string!";
+    public static final String ss = "𠁎〒£$ǣ€𝍖";
+    public static final Object n = null;
+    public int[] ia = new int[5];
+
+    public static final Integer I = 24;
+    public static final Double D = 24.24;
+    public static final Float F = 24.124F;
+    public static final Long L = 6927694924L;
+    public static final Boolean B = false;
+    public static final Character C = '\u1526';
+    public static final Byte By = 34;
+    public Double[] Da1 = new Double[10];
+    public Double[] Da2 = null;
+
+    public char[] ca = new char[3];
+    public Character[] Ca = new Character[3];
+
+    private Label statusLabel;
+
+    public void init() {
+        setLayout(new BorderLayout());
+        statusLabel = new Label();
+        add(statusLabel);
+        String initStr = "JSToJGet applet initialized.";
+        System.out.println(initStr);
+        statusLabel.setText(initStr);
+
+        ia[4] = 1024;
+        Da1[9] = D;
+
+        String setupStr = "JSToJGet applet set up for GET tests.";
+        System.out.println(setupStr);
+        statusLabel.setText(setupStr);
+
+    }
+
+    // auxiliary method for setting the statusLabel text:
+    public void setStatusLabel(String s) {
+        statusLabel.setText(s);
+    }
+
+    // auxiliary methods for writing to stdout and stderr:
+    public void stdOutWrite(String s) {
+        System.out.print(s);
+    }
+
+    public void stdErrWrite(String s) {
+        System.err.print(s);
+    }
+
+    public void stdOutWriteln(String s) {
+        System.out.println(s);
+    }
+
+    public void stdErrWriteln(String s) {
+        System.err.println(s);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JSToJGet/testcases/JSToJGetTest.java	Wed Oct 03 15:55:13 2012 +0200
@@ -0,0 +1,309 @@
+/* JSToJGetTest.java
+Copyright (C) 2012 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+ */
+
+import net.sourceforge.jnlp.ProcessResult;
+import net.sourceforge.jnlp.ServerAccess;
+import net.sourceforge.jnlp.browsertesting.BrowserTest;
+import net.sourceforge.jnlp.browsertesting.Browsers;
+import net.sourceforge.jnlp.closinglisteners.CountingClosingListener;
+import net.sourceforge.jnlp.annotations.NeedsDisplay;
+import net.sourceforge.jnlp.annotations.TestInBrowsers;
+import org.junit.Assert;
+
+import org.junit.Test;
+
+public class JSToJGetTest extends BrowserTest {
+
+    public String[] testNames = { "int", "double", "float", "long", "boolean",
+            "char", "byte", "intArrayElement", "intArrayBeyond",
+            "regularString", "specialCharsString", "null", "Integer", "Double",
+            "Float", "Long", "Boolean", "Character", "Byte",
+            "DoubleArrayElement", "DoubleFullArray" };
+
+    public String[] outputStrings = { "Test no. 1 - (int)",
+            "Test no. 2 - (double)", "Test no. 3 - (float)",
+            "Test no. 4 - (long)", "Test no. 5 - (boolean)",
+            "Test no. 6 - (char)", "Test no. 7 - (byte)",
+            "Test no. 8 - (int[] - element access)",
+            "Test no. 9 - (int[] - beyond length)",
+            "Test no.10 - (regular string)",
+            "Test no.11 - (string with special characters)",
+            "Test no.12 - (null)", "Test no.13 - (Integer)",
+            "Test no.14 - (Double)", "Test no.15 - (Float)",
+            "Test no.16 - (Long)", "Test no.17 - (Boolean)",
+            "Test no.18 - (Character)", "Test no.19 - (Byte)",
+            "Test no.20 - (Double[] - element access)",
+            "Test no.21 - (Double[] - full array)" };
+
+    public String passStr = " - passed.";
+    public String failValStr = " - failed, value mismatch.";
+    public String failTypeStr = " - failed, type mismatch.";
+    public String expStr = "expected:[";
+    public String foundStr = "] found:[";
+    public String endStr = "].";
+
+    private final String exceptionStr = "xception";
+    private final String initStr = "JSToJGet applet initialized.";
+    private final String setupStr = "JSToJGet applet set up for GET tests.";
+    private final String afterStr = "afterTests";
+
+    private class CountingClosingListenerImpl extends CountingClosingListener {
+
+        @Override
+        protected boolean isAlowedToFinish(String s) {
+            if (s.contains(exceptionStr)) {
+                return true;
+            }
+            return (s.contains(initStr) && s.contains(setupStr) && s
+                    .contains(afterStr));
+        }
+    }
+
+    private void evaluateStdoutContents(int index, ProcessResult pr) {
+        // Assert that the applet was initialized.
+        Assert.assertTrue("JSToJGetTest stdout should contain \"" + initStr
+                + "\" but it didn't.", pr.stdout.contains(initStr));
+
+        // Assert that the applet was set up for the GM tests.
+        Assert.assertTrue("JSToJGetTest stdout should contain \"" + setupStr
+                + "\" but it didn't.", pr.stdout.contains(setupStr));
+
+        // Assert that the tests have passed.
+        String s0 = outputStrings[index] + passStr;
+        String s1 = outputStrings[index] + failValStr;
+        String s2 = outputStrings[index] + failTypeStr;
+        String s3 = "Error on Java side";
+
+        int ind0 = pr.stdout.indexOf(s0);
+        int ind1 = pr.stdout.indexOf(s1);
+        int ind2 = pr.stdout.indexOf(s2);
+        int ind3 = pr.stdout.indexOf(s3);
+        int indBegin = pr.stdout.indexOf(setupStr);
+        if (indBegin != -1) {
+            indBegin += setupStr.length();
+        } else {
+            indBegin = 0;
+        }
+
+        String failStr = "JSToJGet " + outputStrings[index]
+                + ": \"passed\" not found in the applet stdout, which is: "
+                + pr.stdout.substring(indBegin, pr.stdout.length());
+
+        if (ind1 != -1) {
+            // int inde = pr.stdout.indexOf(expStr);
+            // int indf = pr.stdout.indexOf(foundStr);
+            int indend = pr.stdout.indexOf(endStr);
+            failStr = pr.stdout.substring(ind1, indend + endStr.length());
+        }
+
+        if (ind2 != -1) {
+            // int inde = pr.stdout.indexOf(expStr);
+            // int indf = pr.stdout.indexOf(foundStr);
+            int indend = pr.stdout.indexOf(endStr);
+            failStr = pr.stdout.substring(ind2, indend + endStr.length());
+        }
+
+        if (ind3 != -1) {
+            failStr = "JSToJGet: " + outputStrings[index]
+                    + pr.stdout.substring(ind3, pr.stdout.length());
+        }
+
+        Assert.assertTrue(failStr, (ind3 == -1));// no error on Java side
+        Assert.assertTrue(failStr, (ind1 == -1));// no value mismatch
+        Assert.assertTrue(failStr, (ind2 == -1));// no type mismatch
+        Assert.assertTrue(failStr, (ind0 != -1));// test passed
+
+    }
+
+    private void genericJSToJavaGetTestMethod(int index) throws Exception {
+
+        String strURL = "/JSToJGet.html?" + testNames[index];
+        ProcessResult pr = server.executeBrowser(strURL,
+                new CountingClosingListenerImpl(),
+                new CountingClosingListenerImpl());
+        evaluateStdoutContents(index, pr);
+
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_int_Test() throws Exception {
+        genericJSToJavaGetTestMethod(0);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_double_Test() throws Exception {
+        genericJSToJavaGetTestMethod(1);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_float_Test() throws Exception {
+        genericJSToJavaGetTestMethod(2);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_long_Test() throws Exception {
+        genericJSToJavaGetTestMethod(3);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_boolean_Test() throws Exception {
+        genericJSToJavaGetTestMethod(4);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_char_Test() throws Exception {
+        genericJSToJavaGetTestMethod(5);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_byte_Test() throws Exception {
+        genericJSToJavaGetTestMethod(6);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_intArrayElement_Test() throws Exception {
+        genericJSToJavaGetTestMethod(7);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_intArrayBeyond_Test() throws Exception {
+        genericJSToJavaGetTestMethod(8);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_regularString_Test() throws Exception {
+        genericJSToJavaGetTestMethod(9);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_specialCharsString_Test() throws Exception {
+        genericJSToJavaGetTestMethod(10);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_null_Test() throws Exception {
+        genericJSToJavaGetTestMethod(11);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_Integer_Test() throws Exception {
+        genericJSToJavaGetTestMethod(12);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_Double_Test() throws Exception {
+        genericJSToJavaGetTestMethod(13);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_Float_Test() throws Exception {
+        genericJSToJavaGetTestMethod(14);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_Long_Test() throws Exception {
+        genericJSToJavaGetTestMethod(15);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_Boolean_Test() throws Exception {
+        genericJSToJavaGetTestMethod(16);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_Character_Test() throws Exception {
+        genericJSToJavaGetTestMethod(17);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_Byte_Test() throws Exception {
+        genericJSToJavaGetTestMethod(18);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_DoubleArrayElement_Test() throws Exception {
+        genericJSToJavaGetTestMethod(19);
+    }
+
+    @Test
+    @TestInBrowsers(testIn = { Browsers.all })
+    @NeedsDisplay
+    public void AppletJSToJGet_DoubleFullArray_Test() throws Exception {
+        genericJSToJavaGetTestMethod(20);
+    }
+
+}