<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
<script>
var methodName = '';
function doTest()
{
    if (window.testRunner)
        testRunner.dumpAsText();

    for (var i = 0; i < 1024; ++i)
        methodName += 'long';

    objCPlugin[methodName]();
    for (var i = 0; i < 1000; ++i)
        objCPlugin[methodName]();
    shouldBeEqualToString('objCPlugin[methodName]()', 'methodMappedToLongName');
    finishJSTest();
}
</script>
</head>
<body onload="doTest();">
<embed id="testCPlugin" type="application/x-webkit-test-netscape"></embed>
<script>
    description("Test invoking a method with a long name does not cause crash or memory leak.");
    jsTestIsAsync=true;
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
