summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay.html
blob: 5465c3943089e36b7dc95f65454904115beda55f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!doctype html>
<html>
  <head>
    <title>Test k-rate AudioParam of DelayNode</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/webaudio/resources/audit-util.js"></script>
    <script src="/webaudio/resources/audit.js"></script>
    <script src="automation-rate-testing.js"></script>
  </head>

  <body>
    <script>
      let audit = Audit.createTaskRunner();

      audit.define('Test k-rate DelayNode', (task, should) => {
        // Arbitrary sample rate and duration.
        let sampleRate = 8000;
        let testDuration = 1;
        let context = new OfflineAudioContext({
          numberOfChannels: 3,
          sampleRate: sampleRate,
          length: testDuration * sampleRate
        });


        doTest(context, should, {
          nodeName: 'DelayNode',
          nodeOptions: null,
          prefix: 'DelayNode',
          // Set all AudioParams to k-rate
          rateSettings: [{name: 'delayTime', value: 'k-rate'}],
          // Automate just the frequency
          automations: [{
            name: 'delayTime',
            methods: [
              {name: 'setValueAtTime', options: [0, 0]}, {
                name: 'linearRampToValueAtTime',
                options: [.5, testDuration]
              }
            ]
          }]
        }).then(() => task.done());
      });

      audit.run();
    </script>
  </body>
</html>