tor-browser

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

delaynode-maxdelaylimit.html (2429B)


      1 <!DOCTYPE html>
      2 <html>
      3  <head>
      4    <title>
      5      delaynode-maxdelaylimit.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    <script src="/webaudio/resources/delay-testing.js"></script>
     12  </head>
     13  <body>
     14    <script id="layout-test-code">
     15      let audit = Audit.createTaskRunner();
     16 
     17      audit.define(
     18          {
     19            label: 'test',
     20            description:
     21                'Tests attribute and maximum allowed delay of DelayNode'
     22          },
     23          function(task, should) {
     24 
     25            // Create offline audio context.
     26            let context = new OfflineAudioContext(
     27                1, sampleRate * renderLengthSeconds, sampleRate);
     28            let toneBuffer = createToneBuffer(
     29                context, 20, 20 * toneLengthSeconds, sampleRate);  // 20Hz tone
     30 
     31            let bufferSource = context.createBufferSource();
     32            bufferSource.buffer = toneBuffer;
     33 
     34            window.context = context;
     35            should(() => context.createDelay(180),
     36                   'Setting Delay length to 180 seconds or more')
     37                .throw(DOMException, 'NotSupportedError');
     38            should(() => context.createDelay(0),
     39                   'Setting Delay length to 0 seconds')
     40                .throw(DOMException, 'NotSupportedError');
     41            should(() => context.createDelay(-1),
     42                   'Setting Delay length to negative')
     43                .throw(DOMException, 'NotSupportedError');
     44            should(() => context.createDelay(NaN),
     45                   'Setting Delay length to NaN')
     46                .throw(TypeError);
     47 
     48            let delay = context.createDelay(179);
     49            delay.delayTime.value = delayTimeSeconds;
     50            window.delay = delay;
     51            should(
     52                delay.delayTime.value,
     53                'delay.delayTime.value = ' + delayTimeSeconds)
     54                .beEqualTo(delayTimeSeconds);
     55 
     56            bufferSource.connect(delay);
     57            delay.connect(context.destination);
     58            bufferSource.start(0);
     59 
     60            context.startRendering()
     61                .then(buffer => checkDelayedResult(buffer, toneBuffer, should))
     62                .then(() => task.done());
     63          });
     64 
     65      audit.run();
     66    </script>
     67  </body>
     68 </html>