<html>
<head>
    <title>Array parameters Applet</title>
</head>
<body>
<h1>Calling Java Array Test page</h1>
This page calls a Java method which takes Arrays as parameters. On successful calling of the function, the passed in values are printed
to stdout from Java using System.out.println
Send object array should fail, but WebKit should not crash.
<form name="controls">
     <input type="button" name="string" value="Send String array" onClick="document.arraytestapplet.arrayFunction(['one', 'two', 'three'])"/><br>
     <input type="button" name="boolean" value="Send boolean array" onClick="document.arraytestapplet.booleanFunction(['0', '1', '2'])"/><br>
     <input type="button" name="byte" value="Send byte array" onClick="document.arraytestapplet.byteFunction(new Array(0, 1, 2))"/><br>
     <input type="button" name="char" value="Send char array" onClick="document.arraytestapplet.charFunction(new Array('a', 'b', 'c'))"/><br>
     <input type="button" name="short" value="Send short array" onClick="document.arraytestapplet.shortFunction(new Array(0, 1, 2))"/><br>
     <input type="button" name="int" value="Send int array" onClick="document.arraytestapplet.intFunction(new Array(0, 1, 2))"/><br>
     <input type="button" name="long" value="Send long array" onClick="document.arraytestapplet.longFunction(new Array(0, 1, 2))"/><br>
     <input type="button" name="float" value="Send float array" onClick="document.arraytestapplet.floatFunction(new Array(0.0, 0.1, 0.2))"/><br>
     <input type="button" name="double" value="Send double array" onClick="document.arraytestapplet.doubleFunction(new Array(0.1, 0.1, 0.2))"/><br>
     <input type="button" name="object" value="Send object array" onClick="document.arraytestapplet.objectFunction(new Array(0.1, 0.1, 0.2))"/><br>
</form>
<applet name="arraytestapplet" code="ArrayParameterTestApplet.class" codebase="resources" width="0" height="0" mayscript="true">
Unable to load applet.
</applet>
<!--
<object id="helloapplet" codetype="application/java-archive"
    classid="java:HelloApplet.class" archive="helloapplet.jar"
    height="100" width="200">
Unable to load applet.
</object> -->
</body>
</html>
