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 'unsupported_mediatype',
36 ], false, 'Test invalid MIME format');
39 'audio/webm;codecs="vp8"',
40 'audio/mp4;codecs="avc1.4d001e"',
41 ], false, 'Test invalid mismatch between major type and codec ID');
44 'audio/mp4;codecs="vorbis"',
45 'audio/webm;codecs="mp4a.40.2"',
46 'video/mp4;codecs="vp8"',
47 'video/webm;codecs="mp4a.40.2"',
48 'video/mp4;codecs="vorbis"',
49 'video/webm;codecs="mp4a.40.2"',
50 ], false, 'Test invalid mismatch between minor type and codec ID');
53 'audio/mp4;codecs="mp4a"',
54 'audio/mp4;codecs="mp4a.40"',
55 'audio/mp4;codecs="mp4a.40."',
56 'audio/mp4;codecs="mp4a.67.3"'
57 ], false, 'Test invalid codec ID');
60 'video/webm;codecs="vp8"',
61 'video/webm;codecs="vorbis"',
62 'video/webm;codecs="vp8,vorbis"',
63 'video/webm;codecs="vorbis, vp8"',
64 'audio/webm;codecs="vorbis"',
65 'AUDIO/WEBM;CODECS="vorbis"',
66 ], true, 'Test valid WebM type');
69 'video/mp4;codecs="avc1.4d001e"', // H.264 Main Profile level 3.0
70 'video/mp4;codecs="avc1.42001e"', // H.264 Baseline Profile level 3.0
71 'audio/mp4;codecs="mp4a.40.2"', // MPEG4 AAC-LC
72 'audio/mp4;codecs="mp4a.40.5"', // MPEG4 HE-AAC
73 'audio/mp4;codecs="mp4a.67"', // MPEG2 AAC-LC
74 'video/mp4;codecs="mp4a.40.2"',
75 'video/mp4;codecs="avc1.4d001e,mp4a.40.2"',
76 'video/mp4;codecs="mp4a.40.2 , avc1.4d001e "',
77 'video/mp4;codecs="avc1.4d001e,mp4a.40.5"',
78 ], true, 'Test valid MP4 type');