<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="editor-test.js"></script>
<script>

function test()
{
    var textEditor = InspectorTest.createTestEditor();
    textEditor.mimeType = "text/javascript";
    textEditor._mainPanel._highlighter.setHighlightLineLimit(100);

    var src = "this.field = \"foo\"; /* comment */ function bar() { return null; }";
    for(var i = 0; i < 5; i++) {
        src += src;
    }
    src = "/* START */ " + src + "/* FINISH */";
    textEditor.setText(src);
    InspectorTest.dumpEditorHTML(textEditor, true);
    InspectorTest.completeTest();
}

</script>
</head>

<body onload="runTest()">
<p>
This test checks that text editor doesn't paint highlight for too long lines.
</p>

</body>
</html>
