| <!doctype html> |
| <html lang="en"> |
| <head> |
| </head> |
| <body> |
| <video></video> |
| <p>Test Encrypted Media extension of HTMLMediaElement <em>canPlayType()</em> method for WebM types.</p> |
| |
| <script src=../video-test.js></script> |
| <script> |
| video = mediaElement = document.getElementsByTagName('video')[0]; |
| |
| consoleWrite("WebM video container without a codec results in \"maybe\"."); |
| testExpected("video.canPlayType('video/webm')", "maybe"); |
| testExpected("video.canPlayType('video/webm', '')", "maybe"); |
| testExpected("video.canPlayType('video/webm', null)", "maybe"); |
| testExpected("video.canPlayType('video/webm', undefined)", "maybe"); |
| testExpected("video.canPlayType('video/webm', 'webkit-org.w3.clearkey')", "maybe"); |
| testExpected("video.canPlayType('video/webm', 'WeBkIt-OrG.W3.ClEaRkEy')", "maybe"); |
| testExpected("video.canPlayType('video/webm', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM video container with a valid codec results in \"probably\"."); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8\"')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8\"', '')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8\"', null)", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8\"', undefined)", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8\"', 'webkit-org.w3.clearkey')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8\"', 'WeBkIt-OrG.W3.ClEaRkEy')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM video container with two valid codecs result in \"probably\"."); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, vorbis\"')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, vorbis\"', '')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, vorbis\"', null)", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, vorbis\"', undefined)", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, vorbis\"', 'webkit-org.w3.clearkey')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, vorbis\"', 'WeBkIt-OrG.W3.ClEaRkEy')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, vorbis\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM video container with two valid codecs result in \"probably\" regardless of the order."); |
| testExpected("video.canPlayType('video/webm; codecs=\"vorbis, vp8\"')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vorbis, vp8\"', '')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vorbis, vp8\"', null)", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vorbis, vp8\"', undefined)", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vorbis, vp8\"', 'webkit-org.w3.clearkey')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vorbis, vp8\"', 'WeBkIt-OrG.W3.ClEaRkEy')", "probably"); |
| testExpected("video.canPlayType('video/webm; codecs=\"vorbis, vp8\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM video container with an invalid codec results in \"\"."); |
| testExpected("video.canPlayType('video/webm; codecs=\"1\"')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1\"', '')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1\"', null)", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1\"', undefined)", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1\"', 'webkit-org.w3.clearkey')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1\"', 'WeBkIt-OrG.W3.ClEaRkEy')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM video container with any invalid codec results in \"\"."); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, 1\"')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, 1\"', '')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, 1\"', null)", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, 1\"', undefined)", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, 1\"', 'webkit-org.w3.clearkey')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, 1\"', 'WeBkIt-OrG.W3.ClEaRkEy')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"vp8, 1\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM video container with any invalid codec results in \"\" regardless of the order."); |
| testExpected("video.canPlayType('video/webm; codecs=\"1, vp8\"')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1, vp8\"', '')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1, vp8\"', null)", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1, vp8\"', undefined)", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1, vp8\"', 'webkit-org.w3.clearkey')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1, vp8\"', 'WeBkIt-OrG.W3.ClEaRkEy')", ""); |
| testExpected("video.canPlayType('video/webm; codecs=\"1, vp8\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM audio container without a codec results in \"maybe\"."); |
| testExpected("video.canPlayType('audio/webm')", "maybe"); |
| testExpected("video.canPlayType('audio/webm', '')", "maybe"); |
| testExpected("video.canPlayType('audio/webm', null)", "maybe"); |
| testExpected("video.canPlayType('audio/webm', undefined)", "maybe"); |
| testExpected("video.canPlayType('audio/webm', 'webkit-org.w3.clearkey')", "maybe"); |
| testExpected("video.canPlayType('audio/webm', 'WeBkIt-OrG.W3.ClEaRkEy')", "maybe"); |
| testExpected("video.canPlayType('audio/webm', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM audio container with a valid codec results in \"probably\"."); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vorbis\"')", "probably"); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vorbis\"', '')", "probably"); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vorbis\"', null)", "probably"); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vorbis\"', undefined)", "probably"); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vorbis\"', 'webkit-org.w3.clearkey')", "probably"); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vorbis\"', 'WeBkIt-OrG.W3.ClEaRkEy')", "probably"); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vorbis\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>WebM video container with a video codec results in \"\"."); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vp8\"')", ""); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vp8\"', '')", ""); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vp8\"', null)", ""); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vp8\"', undefined)", ""); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vp8\"', 'webkit-org.w3.clearkey')", ""); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vp8\"', 'WeBkIt-OrG.W3.ClEaRkEy')", ""); |
| testExpected("video.canPlayType('audio/webm; codecs=\"vp8\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>Case does not matter (except for the codecs string)."); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"vp8, vorbis\"')", "probably"); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"vp8, vorbis\"', '')", "probably"); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"vp8, vorbis\"', null)", "probably"); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"vp8, vorbis\"', undefined)", "probably"); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"vp8, vorbis\"', 'webkit-org.w3.clearkey')", "probably"); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"vp8, vorbis\"', 'WeBkIt-OrG.W3.ClEaRkEy')", "probably"); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"vp8, vorbis\"', 'com.example.invalid')", ""); |
| |
| consoleWrite("<br>The codecs string is case sensitive, so non-lower-case codecs result in \"\"."); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"Vp8, VoRbIs\"')", ""); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"Vp8, VoRbIs\"', '')", ""); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"Vp8, VoRbIs\"', null)", ""); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"Vp8, VoRbIs\"', undefined)", ""); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"Vp8, VoRbIs\"', 'webkit-org.w3.clearkey')", ""); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"Vp8, VoRbIs\"', 'WeBkIt-OrG.W3.ClEaRkEy')", ""); |
| testExpected("video.canPlayType('ViDeO/WeBm; CoDeCs=\"Vp8, VoRbIs\"', 'com.example.invalid')", ""); |
| |
| endTest(); |
| </script> |
| </body> |
| </html> |