summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-onended.html
blob: 64bc54f21b32fece90c58e70c22112ff24735576 (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
<!DOCTYPE html>
<html>
  <head>
    <title>
      Test ConstantSourceNode onended
    </title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <script id="layout-test-code">
      let sampleRate = 44100.0;
      // Number of frames that the source will run; fairly arbitrary
      let numberOfFrames = 32;
      // Number of frames to render; arbitrary, but should be larger than
      // numberOfFrames;
      let renderFrames = 16 * numberOfFrames;

      let context = new OfflineAudioContext(1, renderFrames, sampleRate);
      let src = new ConstantSourceNode(context);
      src.connect(context.destination);

      let tester = async_test('ConstantSourceNode onended event fired');

      src.onended = function() {
        tester.step(function() {
          assert_true(true, 'ConstantSourceNode.onended fired');
        });
        tester.done();
      };

      src.start();
      src.stop(numberOfFrames / context.sampleRate);

      context.startRendering();
    </script>
  </body>
</html>