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

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/AudioParam/audioparam-k-rate.html

Issue 2727663003: Move task.describe to audit.define arg (Closed)
Patch Set: Fix up expected results Created 3 years, 9 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> 1 <!doctype html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>Test k-rate AudioParams</title> 4 <title>Test k-rate AudioParams</title>
5 <script src="../../resources/testharness.js"></script> 5 <script src="../../resources/testharness.js"></script>
6 <script src="../../resources/testharnessreport.js"></script> 6 <script src="../../resources/testharnessreport.js"></script>
7 <script src="../resources/audit-util.js"></script> 7 <script src="../resources/audit-util.js"></script>
8 <script src="../resources/audit.js"></script> 8 <script src="../resources/audit.js"></script>
9 </head> 9 </head>
10 10
11 <body> 11 <body>
12 <script> 12 <script>
13 let sampleRate = 48000; 13 let sampleRate = 48000;
14 let renderLength = 2048; 14 let renderLength = 2048;
15 let eventEndTime = 0.015; 15 let eventEndTime = 0.015;
16 16
17 let audit = Audit.createTaskRunner() 17 let audit = Audit.createTaskRunner()
18 18
19 audit.define("validate", function (task, should) { 19 audit.define(
20 task.describe("Validate test parameters"); 20 {label: 'validate', description: 'Validate test parameters'},
21 should(eventEndTime, "eventTime").beLessThan(renderLength / sampleRate); 21 function(task, should) {
22 task.done(); 22 should(eventEndTime, 'eventTime')
23 }); 23 .beLessThan(renderLength / sampleRate);
24 task.done();
25 });
24 26
25 audit.define("playbackrate+detune", function (task, should) { 27 audit.define(
26 task.describe("Test k-rate AudioBufferSourceNode AudioParams"); 28 {
29 label: 'playbackrate+detune',
30 description: 'Test k-rate AudioBufferSourceNode AudioParams'
31 },
32 function(task, should) {
27 33
28 let context = new OfflineAudioContext(1, renderLength, sampleRate); 34 let context = new OfflineAudioContext(1, renderLength, sampleRate);
29 let buffer = createConstantBuffer(context, renderLength, 1); 35 let buffer = createConstantBuffer(context, renderLength, 1);
30 let node = new AudioBufferSourceNode(context, { 36 let node = new AudioBufferSourceNode(context, {buffer: buffer});
31 buffer: buffer
32 });
33 37
34 node.connect(context.destination); 38 node.connect(context.destination);
35 39
36 // Initialize detune and playbackRate to some non-zero value (because 40 // Initialize detune and playbackRate to some non-zero value
37 // we're using exponential ramps. Then add exponential ramp to some 41 // (because we're using exponential ramps. Then add exponential
38 // non-zero end value. The actual values don't matter as long as 42 // ramp to some non-zero end value. The actual values don't matter
39 // they're strictly positive. 43 // as long as they're strictly positive.
40 node.detune.setValueAtTime(0.125, 0); 44 node.detune.setValueAtTime(0.125, 0);
41 node.playbackRate.setValueAtTime(1, 0); 45 node.playbackRate.setValueAtTime(1, 0);
42 46
43 node.detune.exponentialRampToValueAtTime(0.75, 0.015); 47 node.detune.exponentialRampToValueAtTime(0.75, 0.015);
44 node.playbackRate.exponentialRampToValueAtTime(0.5, 0.015); 48 node.playbackRate.exponentialRampToValueAtTime(0.5, 0.015);
45 49
46 node.start(); 50 node.start();
47 51
48 context.startRendering() 52 context.startRendering()
49 .then(function () { 53 .then(function() {
50 // The final values for each attribute should be the expected final 54 // The final values for each attribute should be the expected
51 // value. 55 // final value.
52 should(node.detune.value, "Final node.detune.value") 56 should(node.detune.value, 'Final node.detune.value')
53 .beEqualTo(0.75); 57 .beEqualTo(0.75);
54 should(node.playbackRate.value, "Final node.playbackRate.value") 58 should(
55 .beEqualTo(0.5); 59 node.playbackRate.value, 'Final node.playbackRate.value')
56 }) 60 .beEqualTo(0.5);
57 .then(task.done.bind(task)); 61 })
58 }); 62 .then(task.done.bind(task));
63 });
59 64
60 audit.define("panner-k-rate", function (task, should) { 65 audit.define(
61 task.describe( 66 {
62 "Test k-rate PannerNode and AudioListenerNode AudioParams"); 67 label: 'panner-k-rate',
68 description:
69 'Test k-rate PannerNode and AudioListenerNode AudioParams'
70 },
71 function(task, should) {
63 72
64 let context = new OfflineAudioContext(1, renderLength, sampleRate); 73 let context = new OfflineAudioContext(1, renderLength, sampleRate);
65 let buffer = createConstantBuffer(context, renderLength, 1); 74 let buffer = createConstantBuffer(context, renderLength, 1);
66 let source = new AudioBufferSourceNode(context, { 75 let source = new AudioBufferSourceNode(context, {buffer: buffer});
67 buffer: buffer
68 });
69 76
70 let panner = new PannerNode(context, {panningModel: "HRTF"}); 77 let panner = new PannerNode(context, {panningModel: 'HRTF'});
71 78
72 source.connect(panner).connect(context.destination); 79 source.connect(panner).connect(context.destination);
73
74 // Initialize the k-rate parameters to some positive value. Then add
75 // exponential ramp to some non-zero end value. The actual values don't
76 // matter as long as they're strictly positive.
77 panner.orientationX.setValueAtTime(1, 0);
78 panner.orientationY.setValueAtTime(1, 0);
79 panner.orientationZ.setValueAtTime(1, 0);
80 80
81 panner.positionX.setValueAtTime(5, 0); 81 // Initialize the k-rate parameters to some positive value. Then
82 panner.positionY.setValueAtTime(5, 0); 82 // add exponential ramp to some non-zero end value. The actual
83 panner.positionZ.setValueAtTime(5, 0); 83 // values don't matter as long as they're strictly positive.
84 panner.orientationX.setValueAtTime(1, 0);
85 panner.orientationY.setValueAtTime(1, 0);
86 panner.orientationZ.setValueAtTime(1, 0);
84 87
85 context.listener.forwardX.setValueAtTime(1, 0); 88 panner.positionX.setValueAtTime(5, 0);
86 context.listener.forwardY.setValueAtTime(1, 0); 89 panner.positionY.setValueAtTime(5, 0);
87 context.listener.forwardZ.setValueAtTime(1, 0); 90 panner.positionZ.setValueAtTime(5, 0);
88 91
89 context.listener.positionX.setValueAtTime(.5, 0); 92 context.listener.forwardX.setValueAtTime(1, 0);
90 context.listener.positionY.setValueAtTime(.5, 0); 93 context.listener.forwardY.setValueAtTime(1, 0);
91 context.listener.positionZ.setValueAtTime(.5, 0); 94 context.listener.forwardZ.setValueAtTime(1, 0);
92 95
93 context.listener.upX.setValueAtTime(1, 0); 96 context.listener.positionX.setValueAtTime(.5, 0);
94 context.listener.upY.setValueAtTime(1, 0); 97 context.listener.positionY.setValueAtTime(.5, 0);
95 context.listener.upZ.setValueAtTime(1, 0); 98 context.listener.positionZ.setValueAtTime(.5, 0);
96
97 panner.orientationX.exponentialRampToValueAtTime(2.5, 0.015);
98 panner.orientationY.exponentialRampToValueAtTime(2.5, 0.015);
99 panner.orientationZ.exponentialRampToValueAtTime(2.5, 0.015);
100 99
101 panner.positionX.exponentialRampToValueAtTime(11, 0.015); 100 context.listener.upX.setValueAtTime(1, 0);
102 panner.positionY.exponentialRampToValueAtTime(11, 0.015); 101 context.listener.upY.setValueAtTime(1, 0);
103 panner.positionZ.exponentialRampToValueAtTime(11, 0.015); 102 context.listener.upZ.setValueAtTime(1, 0);
104 103
105 context.listener.forwardX.exponentialRampToValueAtTime(3, 0.015); 104 panner.orientationX.exponentialRampToValueAtTime(2.5, 0.015);
106 context.listener.forwardY.exponentialRampToValueAtTime(3, 0.015); 105 panner.orientationY.exponentialRampToValueAtTime(2.5, 0.015);
107 context.listener.forwardZ.exponentialRampToValueAtTime(3, 0.015); 106 panner.orientationZ.exponentialRampToValueAtTime(2.5, 0.015);
108 107
109 context.listener.positionX.exponentialRampToValueAtTime(0.5, 0.015); 108 panner.positionX.exponentialRampToValueAtTime(11, 0.015);
110 context.listener.positionY.exponentialRampToValueAtTime(0.5, 0.015); 109 panner.positionY.exponentialRampToValueAtTime(11, 0.015);
111 context.listener.positionZ.exponentialRampToValueAtTime(0.5, 0.015); 110 panner.positionZ.exponentialRampToValueAtTime(11, 0.015);
112 111
113 context.listener.upX.exponentialRampToValueAtTime(4, 0.015); 112 context.listener.forwardX.exponentialRampToValueAtTime(3, 0.015);
114 context.listener.upY.exponentialRampToValueAtTime(4, 0.015); 113 context.listener.forwardY.exponentialRampToValueAtTime(3, 0.015);
115 context.listener.upZ.exponentialRampToValueAtTime(4, 0.015); 114 context.listener.forwardZ.exponentialRampToValueAtTime(3, 0.015);
116
117 source.start();
118 115
119 context.startRendering() 116 context.listener.positionX.exponentialRampToValueAtTime(0.5, 0.015);
120 .then(function () { 117 context.listener.positionY.exponentialRampToValueAtTime(0.5, 0.015);
121 // The final values for each attribute should be the expected final 118 context.listener.positionZ.exponentialRampToValueAtTime(0.5, 0.015);
122 // value.
123 should(panner.orientationX.value,
124 "Final panner.orientationX.value")
125 .beEqualTo(2.5);
126 should(panner.orientationY.value,
127 "Final panner.orientationY.value")
128 .beEqualTo(2.5);
129 should(panner.orientationZ.value,
130 "Final panner.orientationZ.value")
131 .beEqualTo(2.5);
132 should(panner.positionX.value, "Final panner.positionX.value")
133 .beEqualTo(11);
134 should(panner.positionY.value, "Final panner.positionY.value")
135 .beEqualTo(11);
136 should(panner.positionZ.value, "Final panner.positionZ.value")
137 .beEqualTo(11);
138 119
139 should(context.listener.forwardX.value, 120 context.listener.upX.exponentialRampToValueAtTime(4, 0.015);
140 "Final context.listener.forwardX.value") 121 context.listener.upY.exponentialRampToValueAtTime(4, 0.015);
141 .beEqualTo(3); 122 context.listener.upZ.exponentialRampToValueAtTime(4, 0.015);
142 should(context.listener.forwardY.value, 123
143 "Final context.listener.forwardY.value") 124 source.start();
144 .beEqualTo(3); 125
145 should(context.listener.forwardZ.value, 126 context.startRendering()
146 "Final context.listener.forwardZ.value") 127 .then(function() {
147 .beEqualTo(3); 128 // The final values for each attribute should be the expected
148 should(context.listener.positionX.value, 129 // final value.
149 "Final context.listener.positionX.value") 130 should(
150 .beEqualTo(0.5); 131 panner.orientationX.value,
151 should(context.listener.positionY.value, 132 'Final panner.orientationX.value')
152 "Final context.listener.positionY.value") 133 .beEqualTo(2.5);
153 .beEqualTo(0.5); 134 should(
154 should(context.listener.positionZ.value, 135 panner.orientationY.value,
155 "Final context.listener.positionZ.value") 136 'Final panner.orientationY.value')
156 .beEqualTo(0.5); 137 .beEqualTo(2.5);
157 should(context.listener.upX.value, 138 should(
158 "Final context.listener.upX.value") 139 panner.orientationZ.value,
159 .beEqualTo(4); 140 'Final panner.orientationZ.value')
160 should(context.listener.upY.value, 141 .beEqualTo(2.5);
161 "Final context.listener.upY.value") 142 should(panner.positionX.value, 'Final panner.positionX.value')
162 .beEqualTo(4); 143 .beEqualTo(11);
163 should(context.listener.upZ.value, 144 should(panner.positionY.value, 'Final panner.positionY.value')
164 "Final context.listener.upZ.value") 145 .beEqualTo(11);
165 .beEqualTo(4); 146 should(panner.positionZ.value, 'Final panner.positionZ.value')
166 }) 147 .beEqualTo(11);
167 .then(task.done.bind(task)); 148
168 }); 149 should(
150 context.listener.forwardX.value,
151 'Final context.listener.forwardX.value')
152 .beEqualTo(3);
153 should(
154 context.listener.forwardY.value,
155 'Final context.listener.forwardY.value')
156 .beEqualTo(3);
157 should(
158 context.listener.forwardZ.value,
159 'Final context.listener.forwardZ.value')
160 .beEqualTo(3);
161 should(
162 context.listener.positionX.value,
163 'Final context.listener.positionX.value')
164 .beEqualTo(0.5);
165 should(
166 context.listener.positionY.value,
167 'Final context.listener.positionY.value')
168 .beEqualTo(0.5);
169 should(
170 context.listener.positionZ.value,
171 'Final context.listener.positionZ.value')
172 .beEqualTo(0.5);
173 should(
174 context.listener.upX.value,
175 'Final context.listener.upX.value')
176 .beEqualTo(4);
177 should(
178 context.listener.upY.value,
179 'Final context.listener.upY.value')
180 .beEqualTo(4);
181 should(
182 context.listener.upZ.value,
183 'Final context.listener.upZ.value')
184 .beEqualTo(4);
185 })
186 .then(task.done.bind(task));
187 });
169 188
170 audit.run(); 189 audit.run();
171 </script> 190 </script>
172 </body> 191 </body>
173 </html> 192 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698