blob: 3d6d05305d288c22f65facd3eb5de0ff7d4a914f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script>
if (window.testRunner)
testRunner.dumpAsText();
</script>
</head>
<body>
<div contenteditable=true id="content" role="textbox">
wrods is misspelled aab lotsi nowadays. euep.
</div>
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests that misspelled words are correctly marked when asking for an attributed string.");
if (window.accessibilityController) {
var content = document.getElementById("content");
content.focus();
// Iterate all the words so that misspelled markings get generated.
var length = content.innerText.length;
var s = window.getSelection();
s.setPosition(content, 0);
for (var k = 0; k < length; k++) {
s.modify("move", "forward", "character");
}
var text = accessibilityController.focusedElement;
// wrods
shouldBe("text.stringForRange(0, 5)", "'wrods'");
shouldBeTrue("text.attributedStringRangeIsMisspelled(0, 5)");
// is
shouldBe("text.stringForRange(6, 2)", "'is'");
shouldBeFalse("text.attributedStringRangeIsMisspelled(6, 2)");
// misspelled
shouldBe("text.stringForRange(9, 10)", "'misspelled'");
shouldBeFalse("text.attributedStringRangeIsMisspelled(9, 10)");
// aab
shouldBe("text.stringForRange(20, 3)", "'aab'");
shouldBeTrue("text.attributedStringRangeIsMisspelled(20, 3)");
// lotsi
shouldBe("text.stringForRange(24, 5)", "'lotsi'");
shouldBeTrue("text.attributedStringRangeIsMisspelled(24, 5)");
// nowadays
shouldBe("text.stringForRange(30, 8)", "'nowadays'");
shouldBeFalse("text.attributedStringRangeIsMisspelled(30, 8)");
// eue9
shouldBe("text.stringForRange(40, 5)", "'euep.'");
shouldBeTrue("text.attributedStringRangeIsMisspelled(40, 5)");
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>