<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/console-test.js"></script>
<script>
function onload()
{
    //        0---------1---------2---------3---------4---------5---------6---------7---------8---------9---------0---------1---------2---------3---------4---------5---------6---------7---------8---------9---------0
    var url = "http://example.com/2---------3---------4---------5---------6---------7---------8---------9---------0---------1---------2---------3---------4---------5---------6---------7---------8---------9---------0";

    console.log("The URL is: %s", url);
    console.log(url);

    runTest();
}

function test()
{
    InspectorTest.expandConsoleMessages();
    InspectorTest.dumpConsoleMessages();
    InspectorTest.completeTest();
}
</script>
</head>

<body onload="onload()">
<p>
Tests that a URL logged to the console is trimmed down to 150 characters.
</p>
</body>
</html>
