Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/editing/selection/user-select/user-select-all.html |
| diff --git a/third_party/WebKit/LayoutTests/editing/selection/user-select/user-select-all.html b/third_party/WebKit/LayoutTests/editing/selection/user-select/user-select-all.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4f9ac6305524f55a65b736b626c90fa4aed9ee7d |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/editing/selection/user-select/user-select-all.html |
| @@ -0,0 +1,102 @@ |
| +<!doctype html> |
| +<script src="../../../resources/testharness.js"></script> |
| +<script src="../../../resources/testharnessreport.js"></script> |
| +<script src="../../assert_selection.js"></script> |
| +<div id="log"></div> |
| +<script> |
| +function mouseMoveFromTo(fromX, toX){ |
| + var userSelectAllElement = document.getElementById("allArea"); |
| + var y = userSelectAllElement.offsetTop + 10; |
| + eventSender.dragMode = false; |
| + // Clear click count |
| + eventSender.mouseMoveTo(0, 0); |
| + eventSender.mouseDown(); |
| + eventSender.mouseUp(); |
| + |
| + eventSender.mouseMoveTo(fromX, y); |
| + eventSender.mouseDown(); |
| + eventSender.mouseMoveTo(toX, y); |
| + eventSender.mouseUp(); |
| +} |
| + |
| +test(() => { |
| + // Extend and Move skip over user-select:all. |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| + selection => selection.modify('extend', 'forward', 'character'), |
| + '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>'); |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| + selection => selection.modify('extend', 'right', 'character'), |
| + '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>'); |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>', |
| + selection => selection.modify('extend', 'backward', 'character'), |
| + '<div>foo|<span style="-webkit-user-select:all">bar</span>baz</div>'); |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>', |
| + selection => selection.modify('extend', 'left', 'character'), |
| + '<div>foo|<span style="-webkit-user-select:all">bar</span>baz</div>'); |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| + selection => selection.modify('move', 'forward', 'character'), |
| + '<div>foo<span style="-webkit-user-select:all">b|ar</span>baz</div>'); |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| + selection => selection.modify('move', 'right', 'character'), |
| + '<div>foo<span style="-webkit-user-select:all">b|ar</span>baz</div>'); |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">bar|</span>baz</div>', |
| + selection => selection.modify('move', 'backward', 'character'), |
| + '<div>foo<span style="-webkit-user-select:all">ba|r</span>baz</div>'); |
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">bar|</span>baz</div>', |
| + selection => selection.modify('move', 'left', 'character'), |
| + '<div>foo<span style="-webkit-user-select:all">ba|r</span>baz</div>'); |
| + |
|
yosin_UTC9
2016/06/30 03:47:37
nit: We don't need to have an extra blank line.
It
yoichio
2016/07/04 06:28:17
Done.
|
| + assert_selection( |
| + '<div>foo<span style="-webkit-user-select:all">bar<span id="middle">bar</span>bar</span>baz</div>', |
| + selection => { |
| + eventSender.dragMode = false; |
| + var document = selection.document; |
| + var middle = document.getElementById('middle'); |
| + eventSender.mouseMoveTo(document.offsetLeft + middle.offsetLeft, document.offsetTop + middle.offsetTop + 5); |
| + eventSender.mouseDown(); |
| + eventSender.leapForward(100); |
| + eventSender.mouseMoveTo(document.offsetLeft + middle.offsetLeft + middle.offsetWidth, document.offsetTop + middle.offsetTop + 5); |
| + eventSender.mouseUp();}, |
| + '<div>foo<span style="-webkit-user-select:all">^bar<span id="middle">bar</span>bar|</span>baz</div>'); |
| + assert_selection( |
| + '<div id="div">foo<span style="-webkit-user-select:all">bar<span id="middle">bar</span>bar</span>baz</div>', |
| + selection => { |
| + eventSender.dragMode = false; |
| + var document = selection.document; |
| + var middle = document.getElementById('middle'); |
| + eventSender.mouseMoveTo(document.offsetLeft + document.getElementById('div').offsetLeft, document.offsetTop + middle.offsetTop + 5); |
| + eventSender.mouseDown(); |
| + eventSender.leapForward(100); |
| + eventSender.mouseMoveTo(document.offsetLeft + middle.offsetLeft, document.offsetTop + middle.offsetTop + 5); |
| + eventSender.mouseUp();}, |
| + '<div id="div">^foo<span style="-webkit-user-select:all">bar<span id="middle">bar</span>bar|</span>baz</div>'); |
| + assert_selection( |
| + '<div id="div">foo<span style="-webkit-user-select:all">bar<span id="middle">bar</span>bar</span>baz</div>', |
| + selection => { |
| + eventSender.dragMode = false; |
| + var document = selection.document; |
| + var middle = document.getElementById('middle'); |
| + var div = document.getElementById('div'); |
| + eventSender.mouseMoveTo(document.offsetLeft + div.offsetLeft + div.offsetWidth, document.offsetTop + middle.offsetTop + 5); |
| + eventSender.mouseDown(); |
| + eventSender.leapForward(100); |
| + eventSender.mouseMoveTo(document.offsetLeft + middle.offsetLeft, document.offsetTop + middle.offsetTop + 5); |
| + eventSender.mouseUp();}, |
| + '<div id="div">foo<span style="-webkit-user-select:all">|bar<span id="middle">bar</span>bar</span>baz^</div>'); |
| + |
| + assert_selection( |
|
yosin_UTC9
2016/06/30 03:47:37
nit: We don't need to have an extra blank line.
It
yoichio
2016/07/04 06:28:17
Done.
|
| + '<div>foo<span style="-webkit-user-select:all">bar<span id="middle">bar</span>bar</span>|baz</div>', |
| + selection => { |
| + var middle = selection.document.getElementById('middle'); |
| + selection.selectAllChildren(middle);}, |
| + '<div>foo<span style="-webkit-user-select:all">bar<span id="middle">^bar|</span>bar</span>baz</div>'); |
| +}); |
| +</script> |