| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>MediaSource.isTypeSupported() test cases.</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| // Generate a distinct test for each type in types |
| function test_type_support(types, expectation, description) |
| { |
| for (var i = 0; i < types.length; ++i) { |
| test(function() |
| { |
| assert_equals(MediaSource.isTypeSupported(types[i]), |
| expectation, 'supported'); |
| }, description + ' "' + types[i] + '"'); |
| } |
| }; |
| |
| test_type_support([ |
| 'video', |
| 'video/', |
| 'video/webm', |
| 'video/webm;', |
| 'video/webm;codecs', |
| 'video/webm;codecs=', |
| 'video/webm;codecs="', |
| 'video/webm;codecs=""', |
| 'video/webm;codecs=","', |
| '', |
| null |
| ], false, 'Test invalid MIME format'); |
| |
| test_type_support([ |
| 'audio/webm;codecs="vp8"', |
| 'audio/mp4;codecs="avc1.4d001e"', |
| ], false, 'Test invalid mismatch between major type and codec ID'); |
| |
| test_type_support([ |
| 'audio/mp4;codecs="vorbis"', |
| 'audio/webm;codecs="mp4a.40.2"', |
| 'video/mp4;codecs="vp8"', |
| 'video/webm;codecs="mp4a.40.2"', |
| 'video/mp4;codecs="vorbis"', |
| 'video/webm;codecs="mp4a.40.2"', |
| ], false, 'Test invalid mismatch between minor type and codec ID'); |
| |
| test_type_support([ |
| 'audio/mp4;codecs="mp4a"', |
| 'audio/mp4;codecs="mp4a.40"', |
| 'audio/mp4;codecs="mp4a.40."', |
| 'audio/mp4;codecs="mp4a.67.3"' |
| ], false, 'Test invalid codec ID'); |
| |
| test_type_support([ |
| 'video/webm;codecs="vp8"', |
| 'video/webm;codecs="vorbis"', |
| 'video/webm;codecs="vp8,vorbis"', |
| 'video/webm;codecs="vorbis, vp8"', |
| 'audio/webm;codecs="vorbis"', |
| 'AUDIO/WEBM;CODECS="vorbis"', |
| ], true, 'Test valid WebM type'); |
| |
| test_type_support([ |
| '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"', |
| ], true, 'Test valid MP4 type'); |
| </script> |
| </body> |
| </html> |