Bug 1265408 - Add test for IIRFilterNode pass through; r=padenot
authorDan Minor <dminor@mozilla.com>
Thu, 12 May 2016 09:23:28 -0400
changeset 300890 555f1884bd94d1acd8a596195034bb65170e9170
parent 300889 e8ac527f4d47372fe793bd1495c1f584bbb644cc
child 300891 8ae75b48fdcc222241384d4d27285b7e4dbcd9f8
push id78119
push userdminor@mozilla.com
push dateTue, 07 Jun 2016 16:03:45 +0000
treeherdermozilla-inbound@021ffc7c02e6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerspadenot
bugs1265408
milestone50.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1265408 - Add test for IIRFilterNode pass through; r=padenot MozReview-Commit-ID: HbZJT1vEOo8
dom/media/webaudio/test/mochitest.ini
dom/media/webaudio/test/test_iirFilterNodePassThrough.html
--- a/dom/media/webaudio/test/mochitest.ini
+++ b/dom/media/webaudio/test/mochitest.ini
@@ -122,16 +122,17 @@ skip-if = toolkit == 'android' # bug 105
 [test_delayNodeTailWithReconnect.html]
 [test_delayNodeWithGain.html]
 [test_dynamicsCompressorNode.html]
 [test_dynamicsCompressorNodePassThrough.html]
 [test_dynamicsCompressorNodeWithGain.html]
 [test_gainNode.html]
 [test_gainNodeInLoop.html]
 [test_gainNodePassThrough.html]
+[test_iirFilterNodePassThrough.html]
 [test_maxChannelCount.html]
 skip-if = buildapp == 'mulet'
 [test_mediaDecoding.html]
 [test_mediaElementAudioSourceNode.html]
 tags=capturestream
 [test_mediaElementAudioSourceNodeFidelity.html]
 tags=capturestream
 [test_mediaElementAudioSourceNodePassThrough.html]
new file mode 100644
--- /dev/null
+++ b/dom/media/webaudio/test/test_iirFilterNodePassThrough.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+  <title>Test IIRFilterNode with passthrough</title>
+  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="text/javascript" src="webaudio.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<pre id="test">
+<script class="testbody" type="text/javascript">
+
+var gTest = {
+  length: 2048,
+  numberOfChannels: 1,
+  createGraph: function(context) {
+    var source = context.createBufferSource();
+
+    var filter = context.createIIRFilter([0.5, 0.5], [1.0]);
+
+    source.buffer = this.buffer;
+
+    source.connect(filter);
+
+    var filterWrapped = SpecialPowers.wrap(filter);
+    ok("passThrough" in filterWrapped, "BiquadFilterNode should support the passThrough API");
+    filterWrapped.passThrough = true;
+
+    source.start(0);
+    return filter;
+  },
+  createExpectedBuffers: function(context) {
+    this.buffer = context.createBuffer(1, 2048, context.sampleRate);
+    for (var i = 0; i < 2048; ++i) {
+      this.buffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * i / context.sampleRate);
+    }
+
+    return [this.buffer];
+  },
+};
+
+runTest();
+
+</script>
+</pre>
+</body>
+</html>