| 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..ed94f5ad72d37d41f0559c58c678e3667bc8e12d
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/editing/selection/user-select/user-select-all.html
|
| @@ -0,0 +1,84 @@
|
| +<!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>
|
| +test(() => {
|
| + 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>');
|
| +}, 'Modify extend skips over user-select:all.');
|
| +test(() => {
|
| + 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>');
|
| +}, 'Modify move is not affected by user-select:all.');
|
| +test(() => {
|
| + function mouseMoveFromTo(selection, fromX, toX) {
|
| + eventSender.dragMode = false;
|
| + var document = selection.document;
|
| + var root = document.getElementById('div');
|
| + eventSender.mouseMoveTo(document.offsetLeft + fromX, document.offsetTop + root.offsetTop + 5);
|
| + eventSender.mouseDown();
|
| + eventSender.leapForward(100);
|
| + eventSender.mouseMoveTo(document.offsetLeft + toX, document.offsetTop + root.offsetTop + 5);
|
| + eventSender.mouseUp();
|
| + };
|
| +
|
| + assert_selection(
|
| + '<div id="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');
|
| + mouseMoveFromTo(selection, middle.offsetLeft, middle.offsetLeft + middle.offsetWidth);},
|
| + '<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 => {
|
| + var document = selection.document;
|
| + mouseMoveFromTo(selection, document.getElementById('div').offsetLeft, document.getElementById('middle').offsetLeft);},
|
| + '<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 => {
|
| + var document = selection.document;
|
| + var middle = document.getElementById('middle');
|
| + var div = document.getElementById('div');
|
| + mouseMoveFromTo(selection, div.offsetLeft + div.offsetWidth, middle.offsetLeft);},
|
| + '<div id="div">foo<span style="-webkit-user-select:all">|bar<span id="middle">bar</span>bar</span>baz^</div>');
|
| +}, 'Mouse move selects over user-select:all.');
|
| +test(() => {
|
| + assert_selection(
|
| + '<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>');
|
| +}, 'Selection.selectAllChildren is not affected by user-select:all.');
|
| +</script>
|
|
|