tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>