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

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/WaveShaper/waveshaper-limits.html

Issue 2895963003: Apply layout-test-tidy to LayoutTests/webaudio (Closed)
Patch Set: Created 3 years, 7 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>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>
5 waveshaper-limits.html
6 </title>
4 <script src="../../resources/testharness.js"></script> 7 <script src="../../resources/testharness.js"></script>
5 <script src="../../resources/testharnessreport.js"></script> 8 <script src="../../resources/testharnessreport.js"></script>
6 <script src="../resources/audit-util.js"></script> 9 <script src="../resources/audit-util.js"></script>
7 <script src="../resources/audit.js"></script> 10 <script src="../resources/audit.js"></script>
8 </head> 11 </head>
12 <body>
13 <script id="layout-test-code">
14 let audit = Audit.createTaskRunner();
9 15
10 <body> 16 let context;
11 <script> 17 let bufferData;
12 var audit = Audit.createTaskRunner(); 18 let outputData;
19 let reference;
13 20
14 var context; 21 let sampleRate = 48000;
15 var bufferData;
16 var outputData;
17 var reference;
18
19 var sampleRate = 48000;
20 // Must be odd so we have an exact middle point. 22 // Must be odd so we have an exact middle point.
21 var testFrames = 23; 23 let testFrames = 23;
22 var scale = 1 / ((testFrames - 1) / 2 - 1); 24 let scale = 1 / ((testFrames - 1) / 2 - 1);
23 // Number of decimal digits to print 25 // Number of decimal digits to print
24 var decimals = 6; 26 let decimals = 6;
25 // Required accuracy 27 // Required accuracy
26 var diffThreshold = Math.pow(10, -decimals); 28 let diffThreshold = Math.pow(10, -decimals);
27 29
28 // Generate reference data 30 // Generate reference data
29 function generateReference() { 31 function generateReference() {
30 // The curve data is 0, 1, 0, and the input data is a ramp from -1+eps t o 1+eps. Then the 32 // The curve data is 0, 1, 0, and the input data is a ramp from -1+eps
31 // output is a ramp from 0 to 1 back to 0. 33 // to 1+eps. Then the output is a ramp from 0 to 1 back to 0.
32 var ref = new Float32Array(testFrames); 34 let ref = new Float32Array(testFrames);
33 var midPoint = (testFrames - 1) / 2; 35 let midPoint = (testFrames - 1) / 2;
34 // First sample is below -1 at -1-scale. 36 // First sample is below -1 at -1-scale.
35 ref[0] = 0; 37 ref[0] = 0;
36 // Generate ramp up to the mid-point 38 // Generate ramp up to the mid-point
37 for (var k = 0; k < midPoint; ++k) { 39 for (let k = 0; k < midPoint; ++k) {
38 ref[k + 1] = k * scale; 40 ref[k + 1] = k * scale;
39 } 41 }
40 // The value at the mid-point must be 1, from the curve 42 // The value at the mid-point must be 1, from the curve
41 ref[midPoint] = 1; 43 ref[midPoint] = 1;
42 // Generate a ramp from 1 down to 0 44 // Generate a ramp from 1 down to 0
43 for (var k = midPoint; k < testFrames - 1; ++k) { 45 for (let k = midPoint; k < testFrames - 1; ++k) {
44 ref[k + 1] = 2 - k * scale; 46 ref[k + 1] = 2 - k * scale;
45 } 47 }
46 // The last sample is out of range at 1+scale 48 // The last sample is out of range at 1+scale
47 ref[testFrames - 1] = 0; 49 ref[testFrames - 1] = 0;
48 return ref; 50 return ref;
49 } 51 }
50 52
51 function checkResult (renderedBuffer, should) { 53 function checkResult(renderedBuffer, should) {
52 outputData = renderedBuffer.getChannelData(0); 54 outputData = renderedBuffer.getChannelData(0);
53 reference = generateReference(); 55 reference = generateReference();
54 var success = true; 56 let success = true;
55 // Verify that every output value matches our expected reference value. 57 // Verify that every output value matches our expected reference value.
56 for (var k = 0; k < outputData.length; ++k) { 58 for (let k = 0; k < outputData.length; ++k) {
57 var diff = outputData[k] - reference[k]; 59 let diff = outputData[k] - reference[k];
58 should(Math.abs(diff), 60 should(
59 "Max error mapping " + bufferData[k].toFixed(decimals) + " to " + 61 Math.abs(diff),
60 outputData[k].toFixed(decimals)) 62 'Max error mapping ' + bufferData[k].toFixed(decimals) + ' to ' +
61 .beLessThanOrEqualTo(diffThreshold); 63 outputData[k].toFixed(decimals))
64 .beLessThanOrEqualTo(diffThreshold);
62 } 65 }
63 } 66 }
64 67
65 audit.define( 68 audit.define(
66 { 69 {
67 label: 'test', 70 label: 'test',
68 description: 71 description:
69 'WaveShaperNode including values outside the range of [-1,1]' 72 'WaveShaperNode including values outside the range of [-1,1]'
70 }, 73 },
71 function(task, should) { 74 function(task, should) {
72 context = new OfflineAudioContext(1, testFrames, sampleRate); 75 context = new OfflineAudioContext(1, testFrames, sampleRate);
73 // Create input values between -1.1 and 1.1 76 // Create input values between -1.1 and 1.1
74 var buffer = 77 let buffer =
75 context.createBuffer(1, testFrames, context.sampleRate); 78 context.createBuffer(1, testFrames, context.sampleRate);
76 bufferData = buffer.getChannelData(0); 79 bufferData = buffer.getChannelData(0);
77 var start = -1 - scale; 80 let start = -1 - scale;
78 for (var k = 0; k < testFrames; ++k) { 81 for (let k = 0; k < testFrames; ++k) {
79 bufferData[k] = k * scale + start; 82 bufferData[k] = k * scale + start;
80 } 83 }
81 84
82 var source = context.createBufferSource(); 85 let source = context.createBufferSource();
83 source.buffer = buffer; 86 source.buffer = buffer;
84 87
85 // Create simple waveshaper. It should map -1 to 0, 0 to 1, and +1 88 // Create simple waveshaper. It should map -1 to 0, 0 to 1, and +1
86 // to 0 and interpolate all points in between using a simple linear 89 // to 0 and interpolate all points in between using a simple linear
87 // interpolator. 90 // interpolator.
88 var shaper = context.createWaveShaper(); 91 let shaper = context.createWaveShaper();
89 var curve = new Float32Array(3); 92 let curve = new Float32Array(3);
90 curve[0] = 0; 93 curve[0] = 0;
91 curve[1] = 1; 94 curve[1] = 1;
92 curve[2] = 0; 95 curve[2] = 0;
93 shaper.curve = curve; 96 shaper.curve = curve;
94 source.connect(shaper); 97 source.connect(shaper);
95 shaper.connect(context.destination); 98 shaper.connect(context.destination);
96 99
97 source.start(); 100 source.start();
98 context.startRendering() 101 context.startRendering()
99 .then(buffer => checkResult(buffer, should)) 102 .then(buffer => checkResult(buffer, should))
100 .then(() => task.done()); 103 .then(() => task.done());
101 }); 104 });
102 105
103 audit.run(); 106 audit.run();
104 </script> 107 </script>
105 </body> 108 </body>
106 </html> 109 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698