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

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-promise-basic.html

Issue 2865773002: Convert OfflineAudioContext to us new Audit (Closed)
Patch Set: clang-format 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-basic.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!doctype html> 1 <!doctype html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../resources/testharness.js"></script> 4 <script src="../../resources/testharness.js"></script>
5 <script src="../../resources/testharnessreport.js"></script> 5 <script src="../../resources/testharnessreport.js"></script>
6 <script src="../resources/audio-testing.js"></script> 6 <script src="../resources/audit.js"></script>
7 <title>OfflineAudioContext.startRendering Promise</title> 7 <title>OfflineAudioContext.startRendering Promise</title>
8 </head> 8 </head>
9 9
10 <body> 10 <body>
11 <script> 11 <script>
12 var context; 12 var context;
13 var promiseData; 13 var promiseData;
14 14
15 var sampleRate = 48000; 15 var sampleRate = 48000;
16 var renderSeconds = 1; 16 var renderSeconds = 1;
17 var renderFrames = sampleRate * renderSeconds; 17 var renderFrames = sampleRate * renderSeconds;
18 var contextChannels = 2; 18 var contextChannels = 2;
19 19
20 var audit = Audit.createTaskRunner(); 20 var audit = Audit.createTaskRunner();
21 21
22 audit.defineTask('reject-promise', function (done) { 22 audit.define('reject-promise', (task, should) => {
23 // Create a context and verify that calling startRendering more than onc e causes a rejected 23 // Create a context and verify that calling startRendering more than
24 // promise. 24 // once causes a rejected promise.
25 var context = new OfflineAudioContext(contextChannels, renderFrames, sam pleRate); 25 var context =
26 new OfflineAudioContext(contextChannels, renderFrames, sampleRate);
26 context.startRendering(); 27 context.startRendering();
27 Should('Promise from calling startRendering twice', 28 should(
28 context.startRendering()) 29 context.startRendering(),
29 .beRejected() 30 'Promise from calling startRendering twice')
30 .then(done); 31 .beRejected()
32 .then(() => task.done());
31 }); 33 });
32 34
33 audit.defineTask('promise-results', function (done) { 35 audit.define('promise-results', (task, should) => {
34 // Create an offline context and verify that buffer returned by the prom ise matches the 36 // Create an offline context and verify that buffer returned by the
35 // expected results. 37 // promise matches the expected results.
36 context = new OfflineAudioContext(contextChannels, renderFrames, sampleR ate); 38 context =
39 new OfflineAudioContext(contextChannels, renderFrames, sampleRate);
37 40
38 var buffer = context.createBuffer(contextChannels, renderFrames, sampleR ate); 41 var buffer =
42 context.createBuffer(contextChannels, renderFrames, sampleRate);
39 for (var k = 0; k < renderFrames; ++k) { 43 for (var k = 0; k < renderFrames; ++k) {
40 buffer.getChannelData(0)[k] = 1; 44 buffer.getChannelData(0)[k] = 1;
41 buffer.getChannelData(1)[k] = 2; 45 buffer.getChannelData(1)[k] = 2;
42 } 46 }
43 47
44 var source = context.createBufferSource(); 48 var source = context.createBufferSource();
45 source.buffer = buffer; 49 source.buffer = buffer;
46 source.connect(context.destination); 50 source.connect(context.destination);
47 source.start(); 51 source.start();
48 52
49 context.startRendering().then(handlePromise).then(done); 53 context.startRendering()
54 .then(buffer => {
55 return handlePromise(should, buffer);
56 })
57 .then(() => task.done());
50 }); 58 });
51
52 audit.runTasks();
53
54 function handlePromise(buffer)
55 {
56 renderedData = buffer;
57 var success = true;
58 59
59 Should("context.state", context.state) 60 audit.run();
60 .beEqualTo("closed");
61 Should("renderedData.numberOfChannels", renderedData.numberOfChannels)
62 .beEqualTo(contextChannels);
63 Should("renderedData.length", renderedData.length)
64 .beEqualTo(renderFrames);
65 61
66 for (var channel = 0; channel < contextChannels; ++channel) { 62 function handlePromise(should, renderedData) {
67 var data = renderedData.getChannelData(channel); 63 should(context.state, 'context.state').beEqualTo('closed');
68 for (var k = 0; k < renderFrames; ++k) { 64 should(renderedData.numberOfChannels, 'renderedData.numberOfChannels')
69 if (data[k] != channel + 1) { 65 .beEqualTo(contextChannels);
70 success = false; 66 should(renderedData.length, 'renderedData.length')
71 badChannel = channel; 67 .beEqualTo(renderFrames);
72 badFrame = k; 68
73 break; 69 for (let channel = 0; channel < renderedData.numberOfChannels;
74 } 70 ++channel) {
75 } 71 should(
76 if (!success) 72 renderedData.getChannelData(channel), `Output channel ${channel}`)
77 break; 73 .beConstantValueOf(channel + 1);
78 } 74 }
79
80 Should('OfflineAudioContext.startRendering promise rendered data',
81 success)
82 .summarize('correctly', 'incorrectly');
83 } 75 }
84 </script> 76 </script>
85 77
86 </body> 78 </body>
87 </html> 79 </html>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-basic.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698