<!DOCTYPE html>
<html>
<head>
<script src="../../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);

function verifyGrammarMarker(destination, ungrammaticalPhrase)
{
    if (internals.hasGrammarMarker(destination.innerHTML.indexOf(ungrammaticalPhrase), ungrammaticalPhrase.length)) {
        testPassed("ungrammatical phrase '" + ungrammaticalPhrase + "' on '" + destination.innerHTML + "'");
        return true;
    } else
       return false;
}

if (window.testRunner) {
    testRunner.dumpAsText(true);
    testRunner.setBackingScaleFactor(2, function () {
        shouldBecomeEqual('verifyGrammarMarker(target, "has")', 'true', finishJSTest);
    });
}

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="../../resources/js-test-post.js"></script>
</body>
</html>
