| Index: third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-sequence.html
|
| diff --git a/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-sequence.html b/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-sequence.html
|
| index bfeaa1978673930e14aff7f2781ab048eb5bff87..a19228c9f1f8d20cad29b630b20ad2204f408169 100644
|
| --- a/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-sequence.html
|
| +++ b/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/offlineaudiocontext-suspend-resume-sequence.html
|
| @@ -1,16 +1,15 @@
|
| <!doctype html>
|
| <html>
|
| <head>
|
| - <script src="../../resources/js-test.js"></script>
|
| + <script src="../../resources/testharness.js"></script>
|
| + <script src="../../resources/testharnessreport.js"></script>
|
| <script src="../resources/audit-util.js"></script>
|
| - <script src="../resources/audio-testing.js"></script>
|
| + <script src="../resources/audit.js"></script>
|
| </head>
|
|
|
| <body>
|
| <script>
|
| - description('Test OfflineAudioContext.resume() and OfflineAudioContext.suspend() with the timed sequence.');
|
| - window.jsTestIsAsync = true;
|
| -
|
| + var audit = Audit.createTaskRunner();
|
| var context;
|
|
|
| // The sample rate is multiple of the rendering quantum, so suspension
|
| @@ -36,41 +35,49 @@
|
|
|
| var actualSuspendTimes = [];
|
|
|
| - context = new OfflineAudioContext(1, sampleRate * renderDuration, sampleRate);
|
| + audit.define('test', (task, should) => {
|
| + task.describe('resume() and suspend() with timed sequence');
|
| + context = new OfflineAudioContext(1, sampleRate * renderDuration,
|
| + sampleRate);
|
|
|
| - for (var i = 0; i < suspendTimes.length; i++) {
|
| + for (var i = 0; i < suspendTimes.length; i++) {
|
| + // Schedule suspends in a random time order, but the actual suspend
|
| + // must happen in ascending time order.
|
| + scheduleSuspend(i, suspendTimes[i], should);
|
| + }
|
|
|
| - // Schedule suspends in a random time order, but the actual suspend
|
| - // must happen in ascending time order.
|
| - scheduleSuspend(i, suspendTimes[i]);
|
| + context.startRendering()
|
| + .then(buffer => verifyResult(should))
|
| + .then(() => task.done());
|
|
|
| - }
|
| + });
|
|
|
| - function scheduleSuspend(index, suspendTime) {
|
| - testPassed('Scheduling suspend #' + index + ' at ' + suspendTime + ' second(s).');
|
| - context.suspend(suspendTime).then(function () {
|
| - actualSuspendTimes.push(suspendTime);
|
| - context.resume();
|
| - })
|
| + audit.run();
|
| +
|
| + function scheduleSuspend(index, suspendTime, should) {
|
| + should(() => context.suspend(suspendTime)
|
| + .then(() => {
|
| + actualSuspendTimes.push(suspendTime);
|
| + context.resume();
|
| + }),
|
| + 'Scheduling suspend #' + index + ' at ' + suspendTime +
|
| + ' second(s)')
|
| + .notThrow();
|
| }
|
|
|
| - function verifyResult() {
|
| -
|
| + function verifyResult(should) {
|
| for (var i = 0; i < actualSuspendTimes.length; i++) {
|
| var scheduledOrder = suspendTimes.indexOf(actualSuspendTimes[i]);
|
| - var expectedOrder = expectedSuspendTimes.indexOf(actualSuspendTimes[i]);
|
| + var expectedOrder = expectedSuspendTimes.indexOf(actualSuspendTimes[
|
| + i]);
|
|
|
| - if (i === expectedOrder) {
|
| - testPassed('The resolution order of suspend #' + scheduledOrder +
|
| + should(i, 'The resolution order of suspend #' + scheduledOrder +
|
| ' is ' + i + ' at ' + suspendTimes[scheduledOrder].toFixed(2) +
|
| - ' second(s).');
|
| - }
|
| + ' second(s)')
|
| + .beEqualTo(expectedOrder);
|
| }
|
| }
|
|
|
| - context.startRendering().then(verifyResult).then(finishJSTest);
|
| -
|
| - successfullyParsed = true;
|
| </script>
|
|
|
| </body>
|
|
|