This test verifies if the misspelled word still remains spelling markers when user pressed the backspace key to move the caret at the end of the word or delete key to move the caret at the beginning of the word. This test succeeds when a word "meagesga" has red underline.

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


PASS internals.hasSpellingMarker(7, 8) became true
execDeleteCommand()
PASS internals.hasSpellingMarker(7, 8) became true
execForwardDeleteCommand()
PASS internals.hasSpellingMarker(7, 8) became true
PASS successfullyParsed is true

TEST COMPLETE

