blob: 6a65f8265355df601ae55ada7de933feb6c0529a [file] [log] [blame]
<!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>