Skip to content

Commit

Permalink
Rewrite "editing/selection/modify_move/move-by-word-visually-multi-li…
Browse files Browse the repository at this point in the history
…ne.html" to utilize selection_test()

This patch changes "move-by-word-visually-multi-line.html" to utilize
|selection_test()| and split into multiple files to remove from slow test
list for ease of maintenance.

This patch is a preparation of the patch[1].

Note: Test files are generated by the tool[2].

[1] http://crrev.com/c/975083 Implement
AdjustSelectionToAvoidCrossingEditingBoundaries() with
HonorEditingBoundaryAtOr{After,Before}()
[2] http://crrev.com/c/620331 Generate selection_test() for Selection#modify()

Bug: 679977, 824687
Change-Id: I965c8dc2e2d6af7d0ed5f906d7185f12a3db2c12
Reviewed-on: https://chromium-review.googlesource.com/981917
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546705}
  • Loading branch information
yosinch authored and Commit Bot committed Mar 29, 2018
1 parent 6438cf1 commit 4e78842
Show file tree
Hide file tree
Showing 38 changed files with 7,080 additions and 77 deletions.
1 change: 0 additions & 1 deletion third_party/WebKit/LayoutTests/SlowTests
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
crbug.com/24182 storage/indexeddb/objectstore-cursor.html [ Slow ]
crbug.com/24182 storage/indexeddb/mozilla/test_objectStore_openKeyCursor.html [ Slow ]
crbug.com/24182 editing/selection/modify_move/move-by-word-visually-mac.html [ Slow ]
crbug.com/24182 editing/selection/modify_move/move-by-word-visually-multi-line.html [ Slow ]
crbug.com/24182 compositing/culling/filter-occlusion-blur-large.html [ Slow ]
crbug.com/24182 virtual/disable-spv175/compositing/culling/filter-occlusion-blur-large.html [ Slow ]
crbug.com/24182 compositing/video-frame-size-change.html [ Slow ]
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
// To verify "mac" behavior other than macOS, please add following lines:
// internals.settings.setEditingBehavior('mac');
// internals.settings.setSelectTrailingWhitespaceEnabled(false);
const isMac = navigator.platform.indexOf('Mac') === 0;

selection_test(
'<div contenteditable dir="ltr">|abc def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">|abc def<br><br><br>uvw xyz</div>',
'1-0 ltr left word');

selection_test(
'<div contenteditable dir="ltr">a|bc def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">|abc def<br><br><br>uvw xyz</div>',
'1-1 ltr left word');

selection_test(
'<div contenteditable dir="ltr">ab|c def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">|abc def<br><br><br>uvw xyz</div>',
'1-2 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc| def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">|abc def<br><br><br>uvw xyz</div>',
'1-3 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc |def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">|abc def<br><br><br>uvw xyz</div>',
'1-4 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc d|ef<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc |def<br><br><br>uvw xyz</div>',
'1-5 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc de|f<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc |def<br><br><br>uvw xyz</div>',
'1-6 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def|<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc |def<br><br><br>uvw xyz</div>',
'1-7 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br>|<br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc |def<br><br><br>uvw xyz</div>',
'1-8 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br>|<br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc |def<br><br><br>uvw xyz</div>',
'1-9 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>|uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc |def<br><br><br>uvw xyz</div>',
'1-10 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>u|vw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc def<br><br><br>|uvw xyz</div>',
'1-11 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>uv|w xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc def<br><br><br>|uvw xyz</div>',
'1-12 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>uvw| xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc def<br><br><br>|uvw xyz</div>',
'1-13 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>uvw |xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc def<br><br><br>|uvw xyz</div>',
'1-14 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>uvw x|yz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc def<br><br><br>uvw |xyz</div>',
'1-15 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>uvw xy|z</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc def<br><br><br>uvw |xyz</div>',
'1-16 ltr left word');

selection_test(
'<div contenteditable dir="ltr">abc def<br><br><br>uvw xyz|</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr">abc def<br><br><br>uvw |xyz</div>',
'1-17 ltr left word');
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
// To verify "mac" behavior other than macOS, please add following lines:
// internals.settings.setEditingBehavior('mac');
// internals.settings.setSelectTrailingWhitespaceEnabled(false);
const isMac = navigator.platform.indexOf('Mac') === 0;

selection_test(
'<div contenteditable dir="rtl">|abc def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc |def<br><br><br>uvw xyz</div>'
: '<div contenteditable dir="rtl">abc| def<br><br><br>uvw xyz</div>',
'1-0 rtl left word');

selection_test(
'<div contenteditable dir="rtl">a|bc def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def|<br><br><br>uvw xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>|uvw xyz</div>',
'1-1 rtl left word');

selection_test(
'<div contenteditable dir="rtl">ab|c def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def|<br><br><br>uvw xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>|uvw xyz</div>',
'1-2 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc| def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def|<br><br><br>uvw xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>|uvw xyz</div>',
'1-3 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc |def<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def|<br><br><br>uvw xyz</div>'
: '<div contenteditable dir="rtl">abc| def<br><br><br>uvw xyz</div>',
'1-4 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc d|ef<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc |def<br><br><br>uvw xyz</div>'
: '<div contenteditable dir="rtl">abc| def<br><br><br>uvw xyz</div>',
'1-5 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc de|f<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc |def<br><br><br>uvw xyz</div>'
: '<div contenteditable dir="rtl">abc| def<br><br><br>uvw xyz</div>',
'1-6 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def|<br><br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def<br><br><br>uvw |xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>|uvw xyz</div>',
'1-7 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br>|<br><br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def<br><br><br>uvw |xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>|uvw xyz</div>',
'1-8 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br>|<br>uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def<br><br><br>uvw |xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>|uvw xyz</div>',
'1-9 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>|uvw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def<br><br><br>uvw |xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>uvw| xyz</div>',
'1-10 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>u|vw xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="rtl">abc def<br><br><br>uvw xyz|</div>',
'1-11 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>uv|w xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="rtl">abc def<br><br><br>uvw xyz|</div>',
'1-12 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>uvw| xyz</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="rtl">abc def<br><br><br>uvw xyz|</div>',
'1-13 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>uvw |xyz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def<br><br><br>uvw xyz|</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>uvw| xyz</div>',
'1-14 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>uvw x|yz</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def<br><br><br>uvw |xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>uvw| xyz</div>',
'1-15 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>uvw xy|z</div>',
selection => selection.modify('move', 'left', 'word'),
isMac
? '<div contenteditable dir="rtl">abc def<br><br><br>uvw |xyz</div>'
: '<div contenteditable dir="rtl">abc def<br><br><br>uvw| xyz</div>',
'1-16 rtl left word');

selection_test(
'<div contenteditable dir="rtl">abc def<br><br><br>uvw xyz|</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="rtl">abc def<br><br><br>uvw xyz|</div>',
'1-17 rtl left word');
</script>
Loading

0 comments on commit 4e78842

Please sign in to comment.