Index: LayoutTests/http/tests/media/media-source/mediasource-is-type-supported.html |
diff --git a/LayoutTests/http/tests/media/media-source/mediasource-is-type-supported.html b/LayoutTests/http/tests/media/media-source/mediasource-is-type-supported.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ac4fca56c417ac96a8aefd09d23721b299840568 |
--- /dev/null |
+++ b/LayoutTests/http/tests/media/media-source/mediasource-is-type-supported.html |
@@ -0,0 +1,83 @@ |
+<!DOCTYPE html> |
+<html> |
+ <head> |
+ <script src="/w3c/resources/testharness.js"></script> |
+ <script src="/w3c/resources/testharnessreport.js"></script> |
+ <link rel='stylesheet' href='/w3c/resources/testharness.css'> |
+ </head> |
+ <body> |
+ <div id="log"></div> |
+ <script> |
+ test(function () |
+ { |
+ var invalidTypes = [ |
+ // Invalid MIME format. |
+ 'video', |
+ 'video/', |
+ 'video/webm', |
+ 'video/webm;', |
+ 'video/webm;codecs', |
+ 'video/webm;codecs=', |
+ 'video/webm;codecs="', |
+ 'video/webm;codecs=""', |
+ 'video/webm;codecs=","', |
+ |
+ // Mismatch between major type and codec ID |
+ 'audio/webm;codecs="vp8"', |
+ 'audio/mp4;codecs="avc1.4d001e"', |
+ |
+ // Mismatch between minor type and codec ID. |
+ 'audio/mp4;codecs="vorbis"', |
+ 'audio/webm;codecs="mp4a.40.2"', |
+ 'video/mp4;codecs="vp8"', |
+ 'video/webm;codecs="mp4a.40.2"', |
+ |
+ // Invalid codec IDs. |
+ 'audio/webm;codecs="mp4a"', |
+ 'audio/webm;codecs="mp4a.40"', |
+ 'audio/webm;codecs="mp4a.40."', |
+ 'audio/mp4;codecs="mp4a.67.3"' |
+ ]; |
+ |
+ for (var i = 0; i < invalidTypes.length; ++i) { |
+ assert_false(MediaSource.isTypeSupported(invalidTypes[i]), "Type \"" + invalidTypes[i] + "\" not supported"); |
+ } |
+ }, "Test invalid types"); |
+ |
+ test(function () |
+ { |
+ var validTypes = [ |
+ 'video/webm;codecs="vp8"', |
+ 'video/webm;codecs="vorbis"', |
+ 'video/webm;codecs="vp8,vorbis"', |
+ 'video/webm;codecs="vorbis, vp8"', |
+ 'audio/webm;codecs="vorbis"', |
+ ]; |
+ |
+ for (var i = 0; i < validTypes.length; ++i) { |
+ assert_true(MediaSource.isTypeSupported(validTypes[i]), "Type \"" + validTypes[i] + "\" supported"); |
+ } |
+ }, "Test valid WebM types"); |
+ |
+ test(function () |
+ { |
+ var validTypes = [ |
+ 'video/mp4;codecs="avc1.4d001e"', // H.264 Main Profile level 3.0 |
+ 'video/mp4;codecs="avc1.42001e"', // H.264 Baseline Profile level 3.0 |
+ 'audio/mp4;codecs="mp4a.40.2"', // MPEG4 AAC-LC |
+ 'audio/mp4;codecs="mp4a.40.5"', // MPEG4 HE-AAC |
+ 'audio/mp4;codecs="mp4a.67"', // MPEG2 AAC-LC |
+ 'video/mp4;codecs="mp4a.40.2"', |
+ 'video/mp4;codecs="avc1.4d001e,mp4a.40.2"', |
+ 'video/mp4;codecs="mp4a.40.2 , avc1.4d001e "', |
+ 'video/mp4;codecs="avc1.4d001e,mp4a.40.5"', |
+ 'video/mp4;codecs="avc1.4d001e,mp4a.40.5"', |
+ ]; |
+ |
+ for (var i = 0; i < validTypes.length; ++i) { |
+ assert_true(MediaSource.isTypeSupported(validTypes[i]), "Type \"" + validTypes[i] + "\" supported"); |
+ } |
+ }, "Test valid MP4 types"); |
+ </script> |
+ </body> |
+</html> |