blob: 1b27e4d5f7378d0e9db5a60b0e800abc574306c0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../fast/js/resources/js-test-pre.js"></script>
</head>
<body>
<div id="source" contenteditable="true" spellcheck="false">You has the right.</div>
<div id="target" contenteditable="true" spellcheck="true"></div>
<script>
description('This tests whether WebKit can render grammar markers when pasting text if it has a grammar-checker. To test manually, copy the text in the first div element and paste it to the second div element. This test succeeds when WebKit renders a grammar marker under a word "has".');
jsTestIsAsync = true;
if (window.internals)
internals.settings.setAsynchronousSpellCheckingEnabled(true);
var retryCount = 10;
var sleepPeriod = 1;
var ungrammaticalPhrase = 'has';
var hasMarker;
function verifyMarker() {
hasMarker = internals.hasGrammarMarker(document, target.innerHTML.indexOf(ungrammaticalPhrase), ungrammaticalPhrase.length);
if (!hasMarker && --retryCount > 0) {
sleepPeriod *= 2;
window.setTimeout(verifyMarker, sleepPeriod);
return;
}
shouldBeTrue('hasMarker');
finishJSTest();
};
if (window.testRunner) {
testRunner.dumpAsText(true);
testRunner.setBackingScaleFactor(2, function () {
verifyMarker();
});
}
var source = document.getElementById('source');
window.getSelection().selectAllChildren(source);
document.execCommand('Copy');
var target = document.getElementById('target');
window.getSelection().selectAllChildren(target);
document.execCommand('Paste');
</script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>