This tests collapsing directionless selection on text in a block with the opposite text direction. To manually test, on Mac, select text below by mouse and use arrow keys (without pressing shift) to collapse the selection. The selection should collapse to the left if you pressed the left arrow key and to the right if you pressed the right arrow key.

PASS Selection is [anchorNode: [object Text](אבגדה) anchorOffset: 3 focusNode: [object Text](אבגדה) focusOffset: 3 isCollapsed: true]
PASS Selection is [anchorNode: [object Text](אבגדה) anchorOffset: 1 focusNode: [object Text](אבגדה) focusOffset: 1 isCollapsed: true]
PASS Selection is [anchorNode: [object Text](hello) anchorOffset: 2 focusNode: [object Text](hello) focusOffset: 2 isCollapsed: true]
PASS Selection is [anchorNode: [object Text](hello) anchorOffset: 4 focusNode: [object Text](hello) focusOffset: 4 isCollapsed: true]
PASS successfullyParsed is true

TEST COMPLETE

