Fri, 16 Jan 2015 04:50:19 +0100
Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test connecting an AudioNode to an AudioParam</title>
5 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
6 <script type="text/javascript" src="webaudio.js"></script>
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
8 </head>
9 <body>
10 <pre id="test">
11 <script class="testbody" type="text/javascript">
13 var gTest = {
14 length: 2048,
15 createGraph: function(context) {
16 var sourceBuffer = context.createBuffer(2, 2048, context.sampleRate);
17 for (var i = 0; i < 2048; ++i) {
18 sourceBuffer.getChannelData(0)[i] = 1;
19 sourceBuffer.getChannelData(1)[i] = -1;
20 }
22 var destination = context.destination;
24 var paramSource = context.createBufferSource();
25 paramSource.buffer = this.buffer;
27 var source = context.createBufferSource();
28 source.buffer = sourceBuffer;
30 var gain = context.createGain();
32 paramSource.connect(gain.gain);
33 source.connect(gain);
35 paramSource.start(0);
36 source.start(0);
37 return gain;
38 },
39 createExpectedBuffers: function(context) {
40 this.buffer = context.createBuffer(2, 2048, context.sampleRate);
41 for (var i = 0; i < 2048; ++i) {
42 for (var j = 0; j < 2; ++j) {
43 this.buffer.getChannelData(j)[i] = Math.sin(440 * 2 * (j + 1) * Math.PI * i / context.sampleRate);
44 }
45 }
46 var expectedBuffer = context.createBuffer(2, 2048, context.sampleRate);
47 for (var i = 0; i < 2048; ++i) {
48 expectedBuffer.getChannelData(0)[i] = 1 + (this.buffer.getChannelData(0)[i] + this.buffer.getChannelData(1)[i]) / 2;
49 expectedBuffer.getChannelData(1)[i] = -(1 + (this.buffer.getChannelData(0)[i] + this.buffer.getChannelData(1)[i]) / 2);
50 }
51 return expectedBuffer;
52 },
53 };
55 runTest();
57 </script>
58 </pre>
59 </body>
60 </html>