blob: a4d73723f987409d36b86fb976009884144c0561 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="../../fast/dom/resources/event-sender-util.js"></script>
<script src="../../resources/js-test.js"></script>
<p>On the second time selecting &lt;span&gt;, it should not become non-contenteditable.
If it becomes non-contenteditable, the selection from &lt;span&gt; to &lt;table&gt;
will break editing boundaries and contain "a".
This test checks the &lt;span&gt; does not changed to non-contenteditable element.</p>
<div id="host" contenteditable></div>
<pre id="console"></pre>
<script>
var shadowRoot = host.createShadowRoot();
shadowRoot.innerHTML = '<table border="1">' +
'<tr><td id="dst">aaaaa</td><td id="another">aaaaa</td></tr>' +
'<tr><td>aaaaa</td><td>aaaaa</td></tr>' +
'</table><span id="src" contenteditable>bbbbb</span>';
var src = shadowRoot.getElementById('src');
var dst = shadowRoot.getElementById('dst');
var another = shadowRoot.getElementById('another');
// 1. Select from src to dst.
mouseMoveToElem(src);
eventSender.mouseDown();
mouseMoveToElem(dst);
eventSender.mouseUp();
// 2. Click some element.
mouseMoveToElem(another);
eventSender.mouseDown();
eventSender.mouseUp();
// 3. Select from src to dst again.
mouseMoveToElem(src);
eventSender.mouseDown();
mouseMoveToElem(dst);
eventSender.mouseUp();
function contains(str, key) {
return str.indexOf(key) >= 0;
}
var selectedString = shadowRoot.getSelection().toString();
shouldBeFalse('contains(selectedString, "a")');
var successfullyParsed = true;
</script>
</body>
</html>