This test verifies that tapping selected non-editable text toggles callout bar visibility. To manually test, select the text above, and wait for the callout bar to show; tap inside the selection to dismiss the callout bar, tap to show the callout bar again, and finally tap outside of the selected text to clear the selection.

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


PASS Observed selection.
PASS Showed callout bar after selecting text.
PASS Dismissed callout bar after tap in selected text.
PASS Showed callout bar after second tap in selected text.
PASS Dismissed selection after tap outside of selection.
PASS successfullyParsed is true

TEST COMPLETE

