
Test the operation of prompt().


** prompt() when disableRemotePlayback is set should fail
RUN(video.disableRemotePlayback = true)
EXPECTED ERROR: InvalidStateError: The object is in an invalid state.
RUN(video.disableRemotePlayback = false)

** prompt() outside of a user action should fail
EXPECTED ERROR: NotSupportedError: The operation is not supported.

** prompt() when no targets are available should fail
EXPECTED ERROR: NotSupportedError: The operation is not supported.

** Simulate a device becoming available
RUN(video.src = findMediaFile("video", "content/test"))
EVENT(canplaythrough)

** Simulate a device becoming selected
EVENT(connecting)
EVENT(connect)
END OF TEST

