56 lines
2.3 KiB
HTML
56 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<title>Select Text</title>
|
|
</head>
|
|
<body>
|
|
|
|
<p contenteditable="true" id="text">The man jumped higher.</p>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("This tests that selection matches whole words, rather than partial matches.");
|
|
|
|
if (window.accessibilityController) {
|
|
var text = accessibilityController.accessibleElementById("text");
|
|
var windowSelection = window.getSelection();
|
|
|
|
// A matching range before the selection should be selected when searching for closest match.
|
|
document.getElementById("text").focus();
|
|
|
|
// Try to select a partial word, it should fail.
|
|
windowSelection.collapse(document.getElementById("text").firstChild, 0);
|
|
result = text.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "jump");
|
|
shouldBe("result", "''");
|
|
shouldBe("windowSelection.getRangeAt(0).startOffset", "0");
|
|
shouldBe("windowSelection.getRangeAt(0).endOffset", "0");
|
|
|
|
// Select the whole word, it should succeed.
|
|
result = text.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "jumped");
|
|
shouldBe("result", "'jumped'");
|
|
shouldBe("windowSelection.getRangeAt(0).startOffset", "8");
|
|
shouldBe("windowSelection.getRangeAt(0).endOffset", "14");
|
|
windowSelection.collapse(document.getElementById("text").firstChild, 0);
|
|
|
|
// Select multiple whole word, it should succeed.
|
|
result = text.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "jumped higher");
|
|
shouldBe("result", "'jumped higher'");
|
|
shouldBe("windowSelection.getRangeAt(0).startOffset", "8");
|
|
shouldBe("windowSelection.getRangeAt(0).endOffset", "21");
|
|
windowSelection.collapse(document.getElementById("text").firstChild, 0);
|
|
|
|
// Select multiple words, where one is not a whole word, it should fail.
|
|
result = text.selectTextWithCriteria("AXSelectTextAmbiguityResolutionClosestToSelection", "jumped high");
|
|
shouldBe("result", "''");
|
|
shouldBe("windowSelection.getRangeAt(0).startOffset", "0");
|
|
shouldBe("windowSelection.getRangeAt(0).endOffset", "0");
|
|
}
|
|
</script>
|
|
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|