| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script src="../editing.js"></script> |
| <script src="resources/js-test-selection-shared.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| description('This tests if internals.hasSpellingMarker works for differnt type of elements. ' |
| + 'This test succeds when there are four elements having "zz ". ' |
| + 'However, only the last one should not contatin spelling marker.'); |
| |
| jsTestIsAsync = true; |
| |
| if (window.internals) { |
| internals.settings.setUnifiedTextCheckerEnabled(true); |
| internals.settings.setAsynchronousSpellCheckingEnabled(true); |
| } |
| |
| var testRoot = document.createElement("div"); |
| document.body.insertBefore(testRoot, document.body.firstChild); |
| |
| function addContainer(markup) |
| { |
| var contatiner = document.createElement("div"); |
| contatiner.innerHTML = markup; |
| testRoot.appendChild(contatiner); |
| |
| return contatiner; |
| } |
| |
| function typeMisspelling(contatiner) |
| { |
| contatiner.firstChild.focus(); |
| typeCharacterCommand('z'); |
| typeCharacterCommand('z'); |
| typeCharacterCommand(' '); |
| } |
| |
| function verifySpellingMarkers(element) |
| { |
| var div = addContainer(element.containerMarkup); |
| typeMisspelling(div); |
| |
| if (window.internals) |
| shouldBecomeEqual("internals.hasSpellingMarker(0, 2)", element.isMisspelled ? "true" : "false", done); |
| else |
| done(); |
| } |
| |
| var tests = [ |
| function() { verifySpellingMarkers({ containerMarkup: "<textarea></textarea>", isMisspelled: true }); }, |
| function() { verifySpellingMarkers({ containerMarkup: "<input type='text'></input>", isMisspelled: true}); }, |
| function() { verifySpellingMarkers({ containerMarkup: "<div contenteditable='true'></div>", isMisspelled: true}); }, |
| function() { verifySpellingMarkers({ containerMarkup: "<div contentEditable='true' spellcheck='false'></div>", isMisspelled: false}); } |
| ]; |
| |
| function done() |
| { |
| var next = tests.shift(); |
| if (next) |
| return setTimeout(next, 0); |
| |
| if (window.internals) |
| testRoot.style.display = "none"; |
| |
| finishJSTest(); |
| } |
| done(); |
| |
| var successfullyParsed = true; |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |