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

Unified Diff: third_party/WebKit/LayoutTests/editing/pasteboard/subframe-dragndrop-1.html

Issue 1462823002: Make layout tests in editing/pasteboard to use w3c test harness (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 2015-11-20T10:44:42 Created 5 years, 1 month 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: third_party/WebKit/LayoutTests/editing/pasteboard/subframe-dragndrop-1.html
diff --git a/third_party/WebKit/LayoutTests/editing/pasteboard/subframe-dragndrop-1.html b/third_party/WebKit/LayoutTests/editing/pasteboard/subframe-dragndrop-1.html
index ff9a773136f03a363e77ef9e7c57f0496a7afc60..29d803effe7c0c18170ad9cd578e2366158744e4 100644
--- a/third_party/WebKit/LayoutTests/editing/pasteboard/subframe-dragndrop-1.html
+++ b/third_party/WebKit/LayoutTests/editing/pasteboard/subframe-dragndrop-1.html
@@ -1,45 +1,63 @@
+<!DOCTYPE html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
<script>
-if (window.testRunner)
- testRunner.dumpEditingCallbacks();
-
+var tester = async_test('iframe');
function runTest() {
+ var iframe = document.querySelector('iframe');
var frame = frames[0];
- var doc = frame.document;
- var sel = frame.getSelection();
- sel.collapse(doc.body, 0);
- doc.execCommand("InsertText", false, "foo bar baz");
-
- if (window.testRunner) {
- // Attempt to put the mouse over the word 'bar'. The proper way to do this
- // would be to put 'bar' inside an id'd span so that we'd know it's coordinates exactly.
- var x = 50;
- var y = 15;
- eventSender.mouseMoveTo(x, y);
-
- // Select 'bar'
- eventSender.mouseDown();
- eventSender.mouseUp();
- eventSender.mouseDown();
- eventSender.mouseUp();
-
- // Pause so that the mouse down will start a drag instead of a triple click.
- eventSender.leapForward(1500);
-
- eventSender.mouseDown();
- eventSender.leapForward(1000);
-
- x += 100;
- // Drop it like it's hot.
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseUp();
-
- window.testRunner.notifyDone();
- }
+ var sample = frame.document.body;
+ var selection = frame.getSelection();
+ selection.collapse(sample, 0);
+ frame.document.execCommand('insertText', false, 'foo bar baz');
+
+ // Set "bar" to |range|.
+ var range = new Range(sample.document);
yoichio 2015/11/20 04:21:26 Move lines 15 to 18 to before L30 for readbility?
+ range.setStart(sample.firstChild, 4);
+ range.setEnd(sample.firstChild, 7);
+ var rect = range.getBoundingClientRect();
+
+ if (!window.internals && !window.eventSender)
+ return;
+
+ internals.settings.setEditingBehavior('win');
+ internals.settings.setSmartInsertDeleteEnabled(true);
+ internals.settings.setSelectTrailingWhitespaceEnabled(true);
+
+ // Attempt to put the mouse over the word 'bar'. The proper way to do this
+ // would be to put 'bar' inside an id'd span so that we'd know it's
+ // coordinates exactly.
+ var x = iframe.offsetLeft + rect.left + 3;
+ var y = iframe.offsetTop + rect.top + 3
+ eventSender.mouseMoveTo(x, y);
+
+ // Select 'bar'
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+
+ // Pause so that the mouse down will start a drag instead of a triple click.
+ eventSender.leapForward(1500);
+
+ eventSender.mouseDown();
+ eventSender.leapForward(1000);
+
+ x += 100;
+ // Drop it like it's hot.
+ eventSender.mouseMoveTo(x, y);
+ eventSender.mouseUp();
+
+ tester.step(function() {
+ assert_equals(sample.innerHTML, 'foo baz&nbsp;bar&nbsp;', 'innerHTML');
+ assert_false(selection.isCollapsed, 'isCollapsed');
+ assert_equals(selection.anchorNode, sample.firstChild, 'anchorNode');
+ assert_equals(selection.anchorOffset, 7, 'anchorOffset');
+ });
+
+ tester.done();
}
-if (window.testRunner)
- window.testRunner.waitUntilDone();
</script>
-<body style="margin: 0px; padding: 0px;">
-<iframe style="margin: 0; padding: 0; height: 300px; width: 300px;" src="../resources/contenteditable-iframe-src.html" onload="runTest();"></iframe>
+<iframe srcdoc="<body contenteditable style='font-family:monospace'></body>" onload="runTest();"></iframe>
<p>This test uses the eventSender to do drag and drop. To run it manually, drag the word selected in the above subframe and drop it after 'baz'. The result should be 'foo baz bar'.</p>
-</body>
+<div id="log"></div>

Powered by Google App Engine
This is Rietveld 408576698