blob: 1d01dc2f9c8f79cbccd23ebed18b51d9f2e99289 [file] [edit]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/accessibility-helper.js"></script>
<script src="../resources/js-test.js"></script>
</head>
<body>
<div id="text" contenteditable="true"> Charlie Delta Ninja
Kelly</div>
<script>
var output = "This test ensures setting text selection works.\n\n";
if (window.accessibilityController) {
window.jsTestIsAsync = true;
let range = document.createRange();
range.setStart(document.getElementById("text").firstChild, 2);
range.setEnd(document.getElementById("text").firstChild, 9);
window.getSelection().addRange(range);
var editable = accessibilityController.accessibleElementById("text");
var startMarker, endMarker, selectedMarkerRange;
setTimeout(async function() {
output += await expectAsync("editable.selectedText", "'Charlie'");
selectedMarkerRange = editable.selectedTextMarkerRange();
startMarker = editable.startTextMarkerForTextMarkerRange(selectedMarkerRange);
endMarker = editable.endTextMarkerForTextMarkerRange(selectedMarkerRange);
// Expand |endMarker| to encompass "Charlie Delta".
for (let i = 0; i < 6; i++)
endMarker = editable.nextTextMarker(endMarker);
editable.setSelectedTextMarkerRange(editable.textMarkerRangeForMarkers(startMarker, endMarker));
output += await expectAsync("editable.selectedText", "'Charlie Delta'");
// Expand |endMarker to encompass "Charlie Delta Ninja Kel"
for (let i = 0; i < 10; i++)
endMarker = editable.nextTextMarker(endMarker);
editable.setSelectedTextMarkerRange(editable.textMarkerRangeForMarkers(startMarker, endMarker));
output += await expectAsync("editable.selectedText", "'Charlie Delta Ninja Kel'");
debug(output);
finishJSTest();
}, 0);
}
</script>
</body>
</html>