Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(567)

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/Panner/panner-loop.html

Issue 2713943002: Convert more PannerNode tests to testharness (Closed)
Patch Set: Address review comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../resources/js-test.js"></script> 4 <script src="../../resources/testharness.js"></script>
5 <script src="../../resources/testharnessreport.js"></script>
5 <script src="../resources/audit-util.js"></script> 6 <script src="../resources/audit-util.js"></script>
6 <script src="../resources/audio-testing.js"></script> 7 <script src="../resources/audit.js"></script>
7 <script src="../resources/panner-model-testing.js"></script> 8 <script src="../resources/panner-model-testing.js"></script>
8 </head> 9 </head>
9 10
10 <body> 11 <body>
11 <div id="description"></div>
12 <div id="console"></div>
13 <script> 12 <script>
14 description("Test PannerNode handling of feedback loops"); 13 let audit = Audit.createTaskRunner();
15 14
16 // See crbug.com/331446. 15 // See crbug.com/331446.
17 16
18 // Create a simple feedback loop and make sure the panner node processes i t correctly. 17 // Create a simple feedback loop and make sure the panner node processes i t correctly.
19 18
20 function runTest() { 19 audit.define(
21 if (window.testRunner) { 20 {label: 'test', description: 'PannerNode handling of feedback loops'},
22 testRunner.dumpAsText(); 21 (task, should) => {
23 testRunner.waitUntilDone();
24 }
25 22
26 window.jsTestIsAsync = true; 23 var sampleRate = 44100;
24 var renderLengthSeconds = 1;
27 25
28 var sampleRate = 44100; 26 // Create offline audio context.
29 var renderLengthSeconds = 1; 27 var context = new OfflineAudioContext(
30 28 2, sampleRate * renderLengthSeconds, sampleRate);
31 // Create offline audio context.
32 var context = new OfflineAudioContext(2, sampleRate * renderLengthSeco nds, sampleRate);
33 29
34 // Create nodes in graph. This is based on the test given in crbug.com /331446. 30 // Create nodes in graph. This is based on the test given in
35 var source = context.createBufferSource(); 31 // crbug.com/331446.
36 source.buffer = createImpulseBuffer(context, sampleRate * renderLength Seconds); 32 var source = context.createBufferSource();
37 var activateNode = context.createGain(); 33 source.buffer =
38 var dry = context.createGain(); 34 createImpulseBuffer(context, sampleRate * renderLengthSeconds);
39 var wet = context.createGain(); 35 var activateNode = context.createGain();
40 var filter = context.createBiquadFilter(); 36 var dry = context.createGain();
41 var delay = context.createDelay(); 37 var wet = context.createGain();
42 var feedbackNode = context.createGain(); 38 var filter = context.createBiquadFilter();
43 var output = context.createGain(); 39 var delay = context.createDelay();
40 var feedbackNode = context.createGain();
41 var output = context.createGain();
44 42
45 delay.delayTime.value = 0.1; 43 delay.delayTime.value = 0.1;
46 wet.gain.value = 0.5; 44 wet.gain.value = 0.5;
47 dry.gain.value = 1; 45 dry.gain.value = 1;
48 feedbackNode.gain.value = 0.45; 46 feedbackNode.gain.value = 0.45;
49 filter.frequency.value = 20000; 47 filter.frequency.value = 20000;
50 48
51 source.connect(activateNode); 49 source.connect(activateNode);
52 activateNode.connect(delay); 50 activateNode.connect(delay);
53 activateNode.connect(dry); 51 activateNode.connect(dry);
54 delay.connect(filter); 52 delay.connect(filter);
55 filter.connect(feedbackNode); 53 filter.connect(feedbackNode);
56 feedbackNode.connect(delay); 54 feedbackNode.connect(delay);
57 feedbackNode.connect(wet); 55 feedbackNode.connect(wet);
58 wet.connect(output); 56 wet.connect(output);
59 dry.connect(output); 57 dry.connect(output);
60 58
61 var panner = context.createPanner(); 59 var panner = context.createPanner();
62 panner.coneOuterGain = 0.1; 60 panner.coneOuterGain = 0.1;
63 panner.coneOuterAngle = 180; 61 panner.coneOuterAngle = 180;
64 panner.coneInnerAngle = 0; 62 panner.coneInnerAngle = 0;
65 63
66 panner.connect(context.destination); 64 panner.connect(context.destination);
67 65
68 output.connect(panner); 66 output.connect(panner);
69 67
70 // Render. We don't care what the output is, though. 68 // Render. We don't care what the output is, though.
71 69
72 context.oncomplete = function (event) { 70 should(context.startRendering(), 'Rendering of offline context')
73 testPassed("Rendering successfully completed. "); 71 .beResolved()
74 finishJSTest(); 72 .then(() => task.done());
75 }; 73 });
76 context.startRendering(); 74
77 } 75 audit.run();
78
79 runTest();
80 successfullyParsed = true;
81 </script> 76 </script>
82 77
83 </body> 78 </body>
84 </html> 79 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698