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 AudioParam.setTargetAtTime</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 V0 = 0.9;
14 var V1 = 0.1;
15 var T0 = 0;
16 var TimeConstant = 10;
18 var gTest = {
19 length: 2048,
20 numberOfChannels: 1,
21 createGraph: function(context) {
22 var sourceBuffer = context.createBuffer(1, 2048, context.sampleRate);
23 for (var i = 0; i < 2048; ++i) {
24 sourceBuffer.getChannelData(0)[i] = 1;
25 }
27 var source = context.createBufferSource();
28 source.buffer = sourceBuffer;
30 var gain = context.createGain();
31 gain.gain.value = V0;
32 gain.gain.setTargetAtTime(V1, T0, TimeConstant);
34 source.connect(gain);
36 source.start(0);
37 return gain;
38 },
39 createExpectedBuffers: function(context) {
40 var T1 = 2048 / context.sampleRate;
41 var expectedBuffer = context.createBuffer(1, 2048, context.sampleRate);
42 for (var i = 0; i < 2048; ++i) {
43 var t = i / context.sampleRate;
44 expectedBuffer.getChannelData(0)[i] = V1 + (V0 - V1) * Math.exp(-(t - T0) / TimeConstant);
45 }
46 return expectedBuffer;
47 },
48 };
50 runTest();
52 </script>
53 </pre>
54 </body>
55 </html>