blob: ebb7db4cac06e45d23a8720918d07efa03fb610b [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/extensions-test.js"></script>
<script type="text/javascript">
window.inspectedValue = { str: "foo", num: 42 };
window.loop = { };
window.loop.next = window.loop;
function extension_testEvalOk(nextTest)
{
webInspector.inspectedWindow.eval("inspectedValue", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_testEvalStringifyingLoopFailed(nextTest)
{
webInspector.inspectedWindow.eval("window.loop", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_testEvalDefinesGlobalSymbols(nextTest)
{
webInspector.inspectedWindow.eval("function extensionFunc() {}");
webInspector.inspectedWindow.eval("extensionVar = 42;");
webInspector.inspectedWindow.eval("({ func: typeof window.extensionFunc, variable: window.extensionVar })", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_testEvalStatement(nextTest)
{
webInspector.inspectedWindow.eval("var x = 3; while (--x); x", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_testEvalUndefined(nextTest)
{
webInspector.inspectedWindow.eval("undefined", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_testEvalConsoleAPI(nextTest)
{
webInspector.inspectedWindow.eval("typeof inspect", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_testWithStringifyOverridden(nextTest)
{
webInspector.inspectedWindow.eval("(JSON.stringify = function() { throw 'oops! you can not use JSON.stringify'; }), 'OK'", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_testEvalThrows(nextTest)
{
webInspector.inspectedWindow.eval("throw('testExceptionString')", callbackAndNextTest(extension_onEval, nextTest));
}
function extension_onEval(value, status)
{
var exceptionString = typeof status === "undefined" ? "undefined" : JSON.stringify(status);
output("Evaluate: " + JSON.stringify(value) + " (exception: " + exceptionString + ")");
}
</script>
</head>
<body onload="runTest()">
<p>Tests WebInspector extension API</p>
</body>
</html>