1 function initialize_EditorTests()
4 InspectorTest.createTestEditor = function(clientHeight, chunkSize, textEditorDelegate)
6 WebInspector.debugDefaultTextEditor = true;
7 var textEditor = new WebInspector.DefaultTextEditor("", textEditorDelegate || new WebInspector.TextEditorDelegate());
8 textEditor.overrideViewportForTest(0, clientHeight || 100, chunkSize || 10);
9 textEditor.show(WebInspector.inspectorView.element);
13 InspectorTest.fillEditorWithText = function(textEditor, lineCount)
15 var textModel = textEditor._textModel;
17 for (var i = 0; i < lineCount; ++i)
19 textModel.setText(lines.join("\n"));
22 InspectorTest.insertTextLine = function(line)
26 eventSender.keyDown("\n");
29 function innerInsertTextLine()
31 textInputController.insertText(line);
33 setTimeout(innerInsertTextLine);
37 InspectorTest.dumpEditorChunks = function(textEditor)
39 InspectorTest.addResult("Chunk model");
40 var chunks = textEditor._mainPanel._textChunks;
41 for (var i = 0; i < chunks.length; ++i)
42 InspectorTest.addResult("Chunk [" + i + "] " + chunks[i].startLine + ":" + chunks[i].endLine + " (" + (chunks[i]._expanded ? "expanded" : "collapsed") + ")");
45 InspectorTest.dumpEditorModel = function(textEditor)
47 InspectorTest.addResult("Text model");
48 var textModel = textEditor._textModel;
49 for (var i = 0; i < textModel.linesCount; ++i) {
50 var prefix = "[" + i + "]";
51 while (prefix.length < 10)
53 InspectorTest.addResult(prefix + textModel.line(i));
57 InspectorTest.dumpEditorDOM = function(textEditor)
59 InspectorTest.addResult("Editor DOM");
60 var element = textEditor._mainPanel._container;
61 for (var node = element.firstChild; node; node = node.nextSibling) {
63 var prefix = "[" + node._chunk.startLine + ":" + node._chunk.endLine + "]";
65 var prefix = "[" + node.lineNumber + "]";
66 while (prefix.length < 10)
68 InspectorTest.addResult(prefix + node.outerHTML);
72 InspectorTest.dumpEditorHTML = function(textEditor, mainPanelOnly)
74 var element = mainPanelOnly ? textEditor._mainPanel.element : textEditor.element;
75 var dumpedHTML = element.innerHTML.replace(/<div/g, "\n<div");
76 var dumpedHTML = dumpedHTML.replace(/height: [0-9]+/g, "height: <number>");
77 InspectorTest.addResult(dumpedHTML);
80 InspectorTest.getLineElement = function(textEditor, lineNumber)
82 return textEditor._mainPanel.chunkForLine(lineNumber).expandedLineRow(lineNumber);