blob: d928173dde0cbd8f4722899872b080e2d427fe1e [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<div id="container">
For manual testing,
<ol>
<li>Double click at "hello" or "world".</li>
<li>You see selection where you double clicked.</li>
</ol>
<div id="sample" contenteditable>hello world</div>
</div>
<script>
description('Double click to select word should work with DOM modification by click event handler.');
var sample = document.getElementById('sample');
var selection = getSelection();
sample.addEventListener('click', function() {
if (!selection.rangeCount)
return;
selection.getRangeAt(0).insertNode(document.createElement('span'));
});
if (window.eventSender) {
eventSender.mouseMoveTo(sample.offsetLeft + 10, sample.offsetTop + 1);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
// To make this platform independent, we use |trim()| for checking selected
// word, e.g. Windows selects word with a trailing space, but Mac selects
// only word.
shouldBeEqualToString('selection.toString().trim()', 'hello');
document.getElementById('container').outerHTML = '';
}
</script>