Spelling should work when the user selects a multi-word misspelling exactly. To test manually, enable 'Ask Google for Suggestions' in Chrome, type 'It should be upper case.', select 'upper case', and context-click on the selection.The test succeeds when the context menu shows spelling suggestions.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS internals.markerCountForNode(destination.childNodes[0], "spelling") became different from 0
PASS spellingMarkerRange.toString() is "upper case"
PASS window.getSelection().toString() is ""
PASS window.getSelection().toString() is "upper case"
PASS spellingMarkerRange.toString() is "upper case"
PASS window.getSelection().toString() is "upper case"
PASS contextMenuElements[contextMenuElements.length - 1] is "uppercase"
PASS successfullyParsed is true

TEST COMPLETE
It should be upper case.
