<html>
<head>
<script src="resources/profiler-test-JS-resources.js"></script>
<script>
if (window.layoutTestController) {
    layoutTestController.dumpAsText();
    layoutTestController.setJavaScriptProfilingEnabled(true);
}

function startTest()
{
    console.profile("Anonymous function calles eval");

    var variableThatPointsToAnAnonymousFunction = function() {
        eval("insertNewText()");
    }

    variableThatPointsToAnAnonymousFunction();
    endTest();
}
</script>
</head>

<body onload="startTest()">
This page's JavaScript calls an anonymous function which calls eval().
<br>
<br>
To run this test manually, load it in the browser then load the WebInspector and look at
the profile.  Beneath onload and startTest it should show an (anonymous function)
which has a (program) child.
<div id="output"></div>
</body>
</html>
