<!DOCTYPE html>
<html>
  <head>
    <title>
      biquad-highpass.html
    </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="/webaudio/resources/biquad-filters.js"></script>
    <script src="/webaudio/resources/biquad-testing.js"></script>
  </head>
  <body>
    <script id="layout-test-code">
      let audit = Audit.createTaskRunner();

      audit.define(
          {label: 'test', description: 'Biquad highpass filter'},
          function(task, should) {
            // Create offline audio context.
            let context = new OfflineAudioContext(
                2, sampleRate * renderLengthSeconds, sampleRate);

            // The filters we want to test.
            let filterParameters = [
              {cutoff: 0, q: 1, gain: 1},
              {cutoff: 1, q: 1, gain: 1},
              {cutoff: 0.25, q: 1, gain: 1},
            ];

            createTestAndRun(context, 'highpass', {
              should: should,
              threshold: 1.5487e-8,
              filterParameters: filterParameters
            }).then(task.done.bind(task));
          });

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