4 <script src="/w3c/resources/testharness.js"></script>
5 <script src="/w3c/resources/testharnessreport.js"></script>
6 <link rel='stylesheet' href='/w3c/resources/testharness.css'>
11 // Generate a distinct test for each type in types
12 function test_type_support(types, expectation, description)
14 for (var i = 0; i < types.length; ++i) {
17 assert_equals(MediaSource.isTypeSupported(types[i]),
18 expectation, 'supported');
19 }, description + ' "' + types[i] + '"');
30 'video/webm;codecs="',
31 'video/webm;codecs=""',
32 'video/webm;codecs=","',
33 ], false, 'Test invalid MIME format');
36 'audio/webm;codecs="vp8"',
37 'audio/mp4;codecs="avc1.4d001e"',
38 ], false, 'Test invalid mismatch between major type and codec ID');
41 'audio/mp4;codecs="vorbis"',
42 'audio/webm;codecs="mp4a.40.2"',
43 'video/mp4;codecs="vp8"',
44 'video/webm;codecs="mp4a.40.2"',
45 'video/mp4;codecs="vorbis"',
46 'video/webm;codecs="mp4a.40.2"',
47 ], false, 'Test invalid mismatch between minor type and codec ID');
50 'audio/mp4;codecs="mp4a"',
51 'audio/mp4;codecs="mp4a.40"',
52 'audio/mp4;codecs="mp4a.40."',
53 'audio/mp4;codecs="mp4a.67.3"'
54 ], false, 'Test invalid codec ID');
57 'video/webm;codecs="vp8"',
58 'video/webm;codecs="vorbis"',
59 'video/webm;codecs="vp8,vorbis"',
60 'video/webm;codecs="vorbis, vp8"',
61 'audio/webm;codecs="vorbis"',
62 ], true, 'Test valid WebM type');
65 'video/mp4;codecs="avc1.4d001e"', // H.264 Main Profile level 3.0
66 'video/mp4;codecs="avc1.42001e"', // H.264 Baseline Profile level 3.0
67 'audio/mp4;codecs="mp4a.40.2"', // MPEG4 AAC-LC
68 'audio/mp4;codecs="mp4a.40.5"', // MPEG4 HE-AAC
69 'audio/mp4;codecs="mp4a.67"', // MPEG2 AAC-LC
70 'video/mp4;codecs="mp4a.40.2"',
71 'video/mp4;codecs="avc1.4d001e,mp4a.40.2"',
72 'video/mp4;codecs="mp4a.40.2 , avc1.4d001e "',
73 'video/mp4;codecs="avc1.4d001e,mp4a.40.5"',
74 ], true, 'Test valid MP4 type');