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

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-sequence.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> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>
5 offlineaudiocontext-suspend-resume-sequence.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>
9
10 <body> 12 <body>
11 <script> 13 <script id="layout-test-code">
12 var audit = Audit.createTaskRunner(); 14 let audit = Audit.createTaskRunner();
13 var context; 15 let context;
14 16
15 // The sample rate is multiple of the rendering quantum, so suspension 17 // The sample rate is multiple of the rendering quantum, so suspension
16 // times fall in to the render quantum boundary. 18 // times fall in to the render quantum boundary.
17 var renderQuantum = 128; 19 let renderQuantum = 128;
18 20
19 var sampleRate = renderQuantum * 100; 21 let sampleRate = renderQuantum * 100;
20 var renderDuration = 2; 22 let renderDuration = 2;
21 23
22 // These numbers are in an arbitrary order, but not randomly generated in 24 // These numbers are in an arbitrary order, but not randomly generated in
23 // runtime to avoid moving pieces. However, it is safe to arrange them 25 // runtime to avoid moving pieces. However, it is safe to arrange them
24 // in a random order in runtime. 26 // in a random order in runtime.
25 // 27 //
26 // Also these numbers are multiple of 0.25, so they are supposed to fall 28 // Also these numbers are multiple of 0.25, so they are supposed to fall
27 // in the render quantum boundary for easier and more intuitive 29 // in the render quantum boundary for easier and more intuitive
28 // verification. 30 // verification.
29 var suspendTimes = [0.25, 0.75, 1.0, 0.5, 1.25, 0.0, 1.75]; 31 let suspendTimes = [0.25, 0.75, 1.0, 0.5, 1.25, 0.0, 1.75];
30 32
31 // Sorted ascending suspend time is our expected result. 33 // Sorted ascending suspend time is our expected result.
32 var expectedSuspendTimes = suspendTimes.slice(0).sort(function (a, b) { 34 let expectedSuspendTimes = suspendTimes.slice(0).sort(function(a, b) {
33 return a - b; 35 return a - b;
34 }); 36 });
35 37
36 var actualSuspendTimes = []; 38 let actualSuspendTimes = [];
37 39
38 audit.define({ 40 audit.define(
39 label: 'test', 41 {
40 description: 'resume() and suspend() with timed sequence' 42 label: 'test',
41 }, (task, should) => { 43 description: 'resume() and suspend() with timed sequence'
42 context = new OfflineAudioContext(1, sampleRate * renderDuration, 44 },
43 sampleRate); 45 (task, should) => {
46 context = new OfflineAudioContext(
47 1, sampleRate * renderDuration, sampleRate);
44 48
45 for (var i = 0; i < suspendTimes.length; i++) { 49 for (let i = 0; i < suspendTimes.length; i++) {
46 // Schedule suspends in a random time order, but the actual suspend 50 // Schedule suspends in a random time order, but the actual
47 // must happen in ascending time order. 51 // suspend must happen in ascending time order.
48 scheduleSuspend(i, suspendTimes[i], should); 52 scheduleSuspend(i, suspendTimes[i], should);
49 } 53 }
50 54
51 context.startRendering() 55 context.startRendering()
52 .then(buffer => verifyResult(should)) 56 .then(buffer => verifyResult(should))
53 .then(() => task.done()); 57 .then(() => task.done());
54 58
55 }); 59 });
56 60
57 audit.run(); 61 audit.run();
58 62
59 function scheduleSuspend(index, suspendTime, should) { 63 function scheduleSuspend(index, suspendTime, should) {
60 should(() => context.suspend(suspendTime) 64 should(
61 .then(() => { 65 () => context.suspend(suspendTime).then(() => {
62 actualSuspendTimes.push(suspendTime); 66 actualSuspendTimes.push(suspendTime);
63 context.resume(); 67 context.resume();
64 }), 68 }),
65 'Scheduling suspend #' + index + ' at ' + suspendTime + 69 'Scheduling suspend #' + index + ' at ' + suspendTime +
66 ' second(s)') 70 ' second(s)')
67 .notThrow(); 71 .notThrow();
68 } 72 }
69 73
70 function verifyResult(should) { 74 function verifyResult(should) {
71 for (var i = 0; i < actualSuspendTimes.length; i++) { 75 for (let i = 0; i < actualSuspendTimes.length; i++) {
72 var scheduledOrder = suspendTimes.indexOf(actualSuspendTimes[i]); 76 let scheduledOrder = suspendTimes.indexOf(actualSuspendTimes[i]);
73 var expectedOrder = expectedSuspendTimes.indexOf(actualSuspendTimes[ 77 let expectedOrder =
74 i]); 78 expectedSuspendTimes.indexOf(actualSuspendTimes[i]);
75 79
76 should(i, 'The resolution order of suspend #' + scheduledOrder + 80 should(
77 ' is ' + i + ' at ' + suspendTimes[scheduledOrder].toFixed(2) + 81 i,
78 ' second(s)') 82 'The resolution order of suspend #' + scheduledOrder + ' is ' +
79 .beEqualTo(expectedOrder); 83 i + ' at ' + suspendTimes[scheduledOrder].toFixed(2) +
84 ' second(s)')
85 .beEqualTo(expectedOrder);
80 } 86 }
81 } 87 }
82
83 </script> 88 </script>
84
85 </body> 89 </body>
86 </html> 90 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698