Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(279)

Unified Diff: LayoutTests/editing/undo/undo-delete.html

Issue 43523002: Make tests related to undo word deletion platform independent (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: All tests modified Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/editing/undo/undo-delete.html
diff --git a/LayoutTests/editing/undo/undo-delete.html b/LayoutTests/editing/undo/undo-delete.html
index 1e78d2e28f052bfe5515124070fc28a8aaf376e5..6c99881146c5892fb25c19a790fc9985a2c9abbb 100644
--- a/LayoutTests/editing/undo/undo-delete.html
+++ b/LayoutTests/editing/undo/undo-delete.html
@@ -1,40 +1,45 @@
-<html>
-<head>
-
-<style>
-.editing {
- border: 2px solid red;
- padding: 12px;
- font-size: 24px;
-}
-</style>
-<script src="../editing.js" language="JavaScript" type="text/JavaScript" ></script>
-
+<!DOCTYPE html>
+<html>
+<body>
+<div id="container">
+<p id="description"></p>
+<p>To test manually, place the cursor at the end of 'word' and delete it completely character by character. Do ctrl+z. On Mac, 'word' should be selected. On other platforms 'word' should not be selected and the cursor should be placed at the end of 'word'.</p>
+<div id="test" style="border: 2px solid red;" contenteditable>This word should be selected.</div>
+</div>
+<div id="console"></div>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
<script>
+description('Verifies the selection behavior on undoing a text deletion.');
+var selectionNode = document.getElementById('test').firstChild;
+var selectionOffset = selectionNode.data.indexOf('d') + 1;
+var endOffset = selectionNode.data.indexOf(' ') + 1;
+var selection = window.getSelection();
-function editingTest() {
- moveSelectionForwardByWordCommand();
- moveSelectionForwardByWordCommand();
- deleteCommand();
- deleteCommand();
- deleteCommand();
- deleteCommand();
- undoCommand();
-}
+function undoTest(platform, expectedStartNode, expectedStartOffset, expectedEndNode, expectedEndOffset, selectedText) {
+ debug(platform);
+ internals.settings.setEditingBehavior(platform);
-</script>
+ selection.collapse(selectionNode, selectionOffset);
+ for (var i = 0; i < 4; i++)
+ document.execCommand('delete');
+ document.execCommand('undo');
-</head>
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">This word should be selected, since the test deleted it a character at a time and then did an undo.</span>
-</div>
+ shouldBeEqualToString('selection.anchorNode.data', expectedStartNode.data);
+ shouldBe('selection.anchorOffset', expectedStartOffset + '');
+ shouldBeEqualToString('selection.focusNode.data', expectedEndNode.data);
+ shouldBe('selection.focusOffset', expectedEndOffset + '');
+ shouldBeEqualToString('selection.toString()', selectedText);
+}
-<script>
-if (window.internals)
- internals.settings.setEditingBehavior("mac");
-runEditingTest();
+if (window.internals) {
+ undoTest('mac', selectionNode, selectionOffset, selectionNode, endOffset, 'word');
+ undoTest('win', selectionNode, selectionOffset, selectionNode, endOffset, 'word');
+ undoTest('unix', selectionNode, selectionOffset, selectionNode, endOffset, 'word');
+ undoTest('android', selectionNode, selectionOffset, selectionNode, endOffset, 'word');
+}
+if (window.testRunner)
+ document.getElementById('container').outerHTML = '';
</script>
-
+<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>
« no previous file with comments | « LayoutTests/editing/undo/undo-combined-delete-expected.txt ('k') | LayoutTests/editing/undo/undo-delete-boundary.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698