<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=151300">bug 151300</a>:
Backwards delete by word incorrectly appends deleted text to kill ring, should be prepend.</p>
<p>This test checks that backwards delete-by-word prepends to the kill ring.</p>

<div contenteditable id=ce>
one two three
</div>

<div>
Expected result:
one two three
</div>

<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    document.getElementById("ce").focus();
    testRunner.execCommand("MoveToEndOfLine");
    testRunner.execCommand("DeleteWordBackward");
    testRunner.execCommand("DeleteWordBackward");
    testRunner.execCommand("DeleteWordBackward");
    testRunner.execCommand("Yank");
} else
    document.write("This test only runs in automatic mode");
</script>
