| CONSOLE WARNING: line 37: Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture. |
| Test the play() behaviour with regards to the returned promise for media elements. |
| |
| |
| playBeforeCanPlay() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| EXPECTED (mediaElement.readyState == '0') OK |
| play() |
| EVENT(loadedmetadata) |
| EVENT(loadeddata) |
| EVENT(canplay) |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playWhenCanPlay() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| EVENT(canplay) |
| EXPECTED (mediaElement.readyState >= '3') OK |
| EXPECTED (mediaElement.paused == 'true') OK |
| play() |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playAfterPlaybackStarted() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| EVENT(canplaythrough) |
| RUN(mediaElement.play()) |
| EVENT(playing) |
| EXPECTED (mediaElement.readyState == '4') OK |
| EXPECTED (mediaElement.paused == 'false') OK |
| play() |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playRequiresUserGestureAndHasIt() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| play() |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playRequiresUserGestureAndDoesNotHaveIt() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| play() |
| arguments.length: 1 |
| Promise failed with NotAllowedError: play() can only be initiated by a user gesture. |
| |
| playNotSupportedContent() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'data:,.wav') |
| play() |
| EVENT(error) |
| EXPECTED (mediaElement.error == '[object MediaError]') OK |
| EXPECTED (mediaElement.error.code == '4') OK |
| arguments.length: 1 |
| Promise failed with NotSupportedError: Failed to load because no supported source was found. |
| |
| playDecodeError() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| EVENT(loadedmetadata) |
| play() |
| EVENT(error) |
| EXPECTED (mediaElement.error == '[object MediaError]') OK |
| EXPECTED (mediaElement.error.code == '3') OK |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playNetworkError() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| EVENT(loadedmetadata) |
| play() |
| EVENT(error) |
| EXPECTED (mediaElement.error == '[object MediaError]') OK |
| EXPECTED (mediaElement.error.code == '2') OK |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playWithErrorAlreadySet() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'data:,.wav') |
| EVENT(error) |
| EXPECTED (mediaElement.error == '[object MediaError]') OK |
| EXPECTED (mediaElement.error.code == '4') OK |
| play() |
| arguments.length: 1 |
| Promise failed with NotSupportedError: The element has no supported sources. |
| |
| playSrcChangedAfterError() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'data:,.wav') |
| EVENT(error) |
| EXPECTED (mediaElement.error == '[object MediaError]') OK |
| EXPECTED (mediaElement.error.code == '4') OK |
| RUN(mediaElement.src = 'content/test.wav') |
| EVENT(loadedmetadata) |
| play() |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playRaceWithSrcChangeError() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'data:,.wav') |
| EVENT(error) |
| EXPECTED (mediaElement.error == '[object MediaError]') OK |
| EXPECTED (mediaElement.error.code == '4') OK |
| RUN(mediaElement.src = 'content/test.wav') |
| EXPECTED (mediaElement.error == 'null') OK |
| EXPECTED (mediaElement.readyState == '0') OK |
| play() |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playAndPauseWhenCanPlay() |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'content/test.wav') |
| EVENT(canplaythrough) |
| EXPECTED (mediaElement.readyState == '4') OK |
| play() |
| EXPECTED (mediaElement.paused == 'false') OK |
| EXPECTED (mediaElement.paused == 'true') OK |
| EVENT(playing) |
| arguments.length: 1 |
| Promise resolved with undefined |
| |
| playAndPauseBeforeCanPlay() |
| RUN(mediaElement = document.createElement('audio')) |
| EXPECTED (mediaElement.readyState == '0') OK |
| play() |
| EXPECTED (mediaElement.paused == 'false') OK |
| EXPECTED (mediaElement.paused == 'true') OK |
| arguments.length: 1 |
| Promise failed with AbortError: The play() request was interrupted by a call to pause(). |
| |
| loadRejectsPendingPromises() |
| RUN(mediaElement = document.createElement('audio')) |
| play() |
| RUN(mediaElement.load()) |
| arguments.length: 1 |
| Promise failed with AbortError: The play() request was interrupted by a new load request. |
| |
| newSrcRejectPendingPromises() |
| RUN(mediaElement = document.createElement('audio')) |
| play() |
| RUN(mediaElement.src = 'content/test.wav') |
| arguments.length: 1 |
| Promise failed with AbortError: The play() request was interrupted by a new load request. |
| |
| testEventAndPromiseOrdering |
| RUN(mediaElement = document.createElement('audio')) |
| RUN(mediaElement.src = 'data:,') |
| EVENT(error) |
| RUN(mediaElement.volume = 0.1) |
| play() |
| RUN(mediaElement.volume = 0.2) |
| arguments.length: 1 |
| Promise failed with NotSupportedError: The element has no supported sources. |
| END OF TEST |
| |