| Index: LayoutTests/editing/selection/drag-selection-nodes.html
|
| diff --git a/LayoutTests/editing/selection/drag-selection-nodes.html b/LayoutTests/editing/selection/drag-selection-nodes.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e25e8ac1d1bb4407302bf9357e7a3efac45dfc38
|
| --- /dev/null
|
| +++ b/LayoutTests/editing/selection/drag-selection-nodes.html
|
| @@ -0,0 +1,90 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| +<script>
|
| +function log(s)
|
| +{
|
| + document.getElementById('console')
|
| + .appendChild(document.createElement('div'))
|
| + .appendChild(document.createTextNode(s));
|
| +}
|
| +
|
| +function onDragStart1(e)
|
| +{
|
| + if (e.target.parentNode.id == 'drag1'
|
| + && e.target.nodeType == Node.TEXT_NODE)
|
| + log('Test 1: PASS');
|
| + else
|
| + log('Test 1: FAIL: target element was ' + e.target);
|
| +}
|
| +
|
| +function onDragStart2(e)
|
| +{
|
| + if (e.target.id == 'drag2')
|
| + log('Test 2: PASS');
|
| + else
|
| + log('Test 2: FAIL: target element was ' + e.target);
|
| +}
|
| +
|
| +function onDragStart3(e)
|
| +{
|
| + if (e.target.id == 'dragImage')
|
| + log('Test 3: PASS');
|
| + else
|
| + log('Test 3: FAIL: target element was ' + e.target);
|
| +}
|
| +
|
| +function dragAndDrop(n)
|
| +{
|
| + var startX = n.offsetLeft + n.offsetWidth / 2;
|
| + var startY = n.offsetTop + n.offsetHeight / 2;
|
| + eventSender.mouseMoveTo(startX, startY);
|
| + eventSender.mouseDown();
|
| + eventSender.leapForward(200);
|
| + eventSender.mouseMoveTo(startX + 400, startY);
|
| + eventSender.mouseUp();
|
| +}
|
| +
|
| +function runTest()
|
| +{
|
| + var drag1 = document.getElementById('drag1');
|
| + var drag2 = document.getElementById('drag2');
|
| + var drag3 = document.getElementById('drag3');
|
| +
|
| + drag1.addEventListener('dragstart', onDragStart1);
|
| + drag2.addEventListener('dragstart', onDragStart2);
|
| + drag3.addEventListener('dragstart', onDragStart3);
|
| +
|
| + if (!window.testRunner)
|
| + return;
|
| + testRunner.dumpAsText();
|
| +
|
| + var s = window.getSelection();
|
| + var r;
|
| +
|
| + s.removeAllRanges();
|
| + r = document.createRange();
|
| + r.selectNode(drag1);
|
| + s.addRange(r);
|
| + dragAndDrop(drag1);
|
| +
|
| + s.removeAllRanges();
|
| + drag2.focus();
|
| + drag2.select();
|
| + dragAndDrop(drag2);
|
| +
|
| + s.removeAllRanges();
|
| + r = document.createRange();
|
| + r.selectNode(drag3);
|
| + dragAndDrop(document.getElementById('dragImage'));
|
| +}
|
| +</script>
|
| +</head>
|
| +<body onload="runTest()">
|
| +<p>Simple test that dragging and dropping a selection targets the right node.
|
| +<div id="drag1">Test 1: select this line and drag me.</div>
|
| +<p>Test 2: <input id="drag2" type="text" value="Select the text in this input and drag me"></input>
|
| +<div id="drag3">Test 3: select this line and <img id="dragImage" src="../resources/abe.png"> drag me from the image.</div>
|
| +<div id="console"></div>
|
| +</body>
|
| +</html>
|
|
|