this is a button (user assumes clickable) this is no longer exposed as clickable because of the explicit role on the delegate
This tests ensures that static text that is inside a click handler parent who IS presentational will not say it supports press.

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


PASS button.isPressActionSupported() is true
PASS text.isPressActionSupported() is false
PASS successfullyParsed is true

TEST COMPLETE

