<html>
<head>
<meta charset="utf-8">
<script src="../resources/js-test-pre.js"></script>
<script>
if (window.testRunner)
    testRunner.overridePreference("WebKitJavaEnabled", "1");
</script>
</head>
<body>

<p>Test that Java arrays work with generic JS array methods.</p>
<p>Also test that they work when passed as the second argument to apply(). This may or may not be correct behavior per LiveConnect spec.</p>

<div id="console"></div>
<applet CODE="SharedApplet.class" NAME="javaTest" WIDTH=150 HEIGHT=25 MAYSCRIPT></applet>
<script>

debug("call");
var array = document.javaTest.stringArray();
Array.prototype.sort.call(array);
shouldBe("array[0] + ''", "'One'");
shouldBe("array[1] + ''", "'Three'");
shouldBe("array[2] + ''", "'Two'");

debug("apply");
array = document.javaTest.stringArray();
Array.prototype.sort.apply(array, []);
shouldBe("array[0] + ''", "'One'");
shouldBe("array[1] + ''", "'Three'");
shouldBe("array[2] + ''", "'Two'");

function concat()
{
    var result = "";
    for (i = 0; i < arguments.length; ++i)
        result += arguments[i];
    return result;
}

debug("passing array as function arguments, potentially parser-optimized apply");
array = document.javaTest.stringArray();
shouldBe("concat.apply({}, array)", "'OneTwoThree'");

debug("passing array as function arguments, unoptimized apply");
array = document.javaTest.stringArray();
shouldBe('concat["apply"]({}, array)', "'OneTwoThree'");

shouldThrow("array.length = 5");

</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>
