| Index: LayoutTests/inspector/editor/text-editor-auto-whitespace-removing.html
|
| diff --git a/LayoutTests/inspector/editor/text-editor-auto-whitespace-removing.html b/LayoutTests/inspector/editor/text-editor-auto-whitespace-removing.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f188d00fd013bfd59cfc961d9deac667e2cccff6
|
| --- /dev/null
|
| +++ b/LayoutTests/inspector/editor/text-editor-auto-whitespace-removing.html
|
| @@ -0,0 +1,117 @@
|
| +<html>
|
| +<head>
|
| +<script src="../../http/tests/inspector/inspector-test.js"></script>
|
| +<script src="editor-test.js"></script>
|
| +<script>
|
| +function codeSnippet() {
|
| + return document.getElementById("codeSnippet").textContent;
|
| +}
|
| +
|
| +function test() {
|
| + var textEditor = InspectorTest.createTestEditor();
|
| + textEditor.setMimeType("text/javascript");
|
| + textEditor.setReadOnly(false);
|
| + textEditor.element.focus();
|
| + InspectorTest.evaluateInPage("codeSnippet();", onCodeSnippet);
|
| + var codeSnippetText;
|
| +
|
| + function onCodeSnippet(result)
|
| + {
|
| + codeSnippetText = result.value;
|
| + InspectorTest.runTestSuite(testSuite);
|
| + }
|
| +
|
| + function dumpAndNext(next)
|
| + {
|
| + function innerDumpAndNext()
|
| + {
|
| + InspectorTest.dumpTextWithSelection(textEditor, true);
|
| + next();
|
| + }
|
| + return innerDumpAndNext;
|
| + }
|
| +
|
| + function doubleEnter(next)
|
| + {
|
| + function onFirstEnter()
|
| + {
|
| + InspectorTest.fakeKeyEvent(textEditor, "enter", [], dumpAndNext(next));
|
| + }
|
| +
|
| + InspectorTest.fakeKeyEvent(textEditor, "enter", [], onFirstEnter);
|
| + }
|
| +
|
| + var testSuite = [
|
| + function testCollapsedBlock(next)
|
| + {
|
| + textEditor.setText(codeSnippetText);
|
| + InspectorTest.setLineSelections(textEditor, [
|
| + {line: 0, column: 12}
|
| + ]);
|
| + doubleEnter(next);
|
| + },
|
| +
|
| + function testOpenCurlyBrace(next)
|
| + {
|
| + textEditor.setText(codeSnippetText);
|
| + InspectorTest.setLineSelections(textEditor, [
|
| + {line: 1, column: 17}
|
| + ]);
|
| + doubleEnter(next);
|
| + },
|
| +
|
| + function testSmartIndent(next)
|
| + {
|
| + textEditor.setText(codeSnippetText);
|
| + InspectorTest.setLineSelections(textEditor, [
|
| + {line: 1, column: 2}
|
| + ]);
|
| + doubleEnter(next);
|
| + },
|
| +
|
| + function testMultiCursorSelection(next)
|
| + {
|
| + textEditor.setText(codeSnippetText);
|
| + InspectorTest.setLineSelections(textEditor, [
|
| + {line: 1, column: 2},
|
| + {line: 1, column: 4}
|
| + ]);
|
| + doubleEnter(next);
|
| + },
|
| +
|
| + function testEditedAutoIndent(next)
|
| + {
|
| + textEditor.setText(codeSnippetText);
|
| + InspectorTest.setLineSelections(textEditor, [
|
| + {line: 1, column: 17}
|
| + ]);
|
| + InspectorTest.fakeKeyEvent(textEditor, "enter", [], onEnter);
|
| +
|
| + function onEnter()
|
| + {
|
| + InspectorTest.fakeKeyEvent(textEditor, "W", [], onEditedText);
|
| + }
|
| +
|
| + function onEditedText()
|
| + {
|
| + InspectorTest.fakeKeyEvent(textEditor, "enter", [], dumpAndNext(next));
|
| + }
|
| + },
|
| + ];
|
| +}
|
| +
|
| +</script>
|
| +</head>
|
| +
|
| +<body onload="runTest();">
|
| +<p>
|
| +This test verifies that auto-appended spaces are removed on consequent enters.
|
| +</p>
|
| +
|
| +<pre id="codeSnippet">
|
| +function (){}
|
| + if (a == b) {
|
| +</pre>
|
| +
|
| +</body>
|
| +</html>
|
|
|