audiochannelmerger-basic.html (2246B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title> 5 audiochannelmerger-basic.html 6 </title> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script src="/webaudio/resources/audit-util.js"></script> 10 <script src="/webaudio/resources/audit.js"></script> 11 </head> 12 <body> 13 <script id="layout-test-code"> 14 let audit = Audit.createTaskRunner(); 15 16 // Task: Checking constraints in ChannelMergerNode. 17 audit.define('exceptions-channels', (task, should) => { 18 let context = new OfflineAudioContext(2, 128, 44100); 19 let merger; 20 21 should(function() { 22 merger = context.createChannelMerger(); 23 }, 'context.createChannelMerger()').notThrow(); 24 25 should(function() { 26 merger = context.createChannelMerger(0); 27 }, 'context.createChannelMerger(0)').throw(DOMException, 'IndexSizeError'); 28 29 should(function() { 30 merger = context.createChannelMerger(32); 31 }, 'context.createChannelMerger(32)').notThrow(); 32 33 // Can't create a channel merger with 33 channels because the audio 34 // context has a 32-channel-limit in Chrome. 35 should(function() { 36 merger = context.createChannelMerger(33); 37 }, 'context.createChannelMerger(33)').throw(DOMException, 'IndexSizeError'); 38 39 task.done(); 40 }); 41 42 // Task: checking the channel-related properties have the correct value 43 // and can't be changed. 44 audit.define('exceptions-properties', (task, should) => { 45 let context = new OfflineAudioContext(2, 128, 44100); 46 let merger = context.createChannelMerger(); 47 48 should(merger.channelCount, 'merger.channelCount').beEqualTo(1); 49 50 should(function() { 51 merger.channelCount = 3; 52 }, 'merger.channelCount = 3').throw(DOMException, 'InvalidStateError'); 53 54 should(merger.channelCountMode, 'merger.channelCountMode') 55 .beEqualTo('explicit'); 56 57 should(function() { 58 merger.channelCountMode = 'max'; 59 }, 'merger.channelCountMode = "max"').throw(DOMException, 'InvalidStateError'); 60 61 task.done(); 62 }); 63 64 audit.run(); 65 </script> 66 </body> 67 </html>