| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 | 2 |
| 3 <html> | 3 <html> |
| 4 <head> | 4 <head> |
| 5 <script src="../../resources/js-test.js"></script> | 5 <script src="../../resources/testharness.js"></script> |
| 6 <script src="../../resources/testharnessreport.js"></script> |
| 6 <script src="../resources/audit-util.js"></script> | 7 <script src="../resources/audit-util.js"></script> |
| 7 <script src="../resources/audio-testing.js"></script> | 8 <script src="../resources/audit.js"></script> |
| 8 <script src="../resources/delay-testing.js"></script> | 9 <script src="../resources/delay-testing.js"></script> |
| 9 </head> | 10 </head> |
| 10 | 11 |
| 11 <body> | 12 <body> |
| 13 <script> |
| 14 let audit = Audit.createTaskRunner(); |
| 12 | 15 |
| 13 <div id="description"></div> | 16 audit.define("test", function (task, should) { |
| 14 <div id="console"></div> | 17 task.describe("Tests attribute and maximum allowed delay of DelayNode"); |
| 15 | |
| 16 <script> | |
| 17 description("Tests attribute and maximum allowed delay of DelayNode."); | |
| 18 | |
| 19 function runTest() { | |
| 20 if (window.testRunner) { | |
| 21 testRunner.dumpAsText(); | |
| 22 testRunner.waitUntilDone(); | |
| 23 } | |
| 24 | |
| 25 window.jsTestIsAsync = true; | |
| 26 | 18 |
| 27 // Create offline audio context. | 19 // Create offline audio context. |
| 28 var context = new OfflineAudioContext(1, sampleRate * renderLengthSeconds, s
ampleRate); | 20 var context = new OfflineAudioContext(1, sampleRate * renderLengthSeconds, s
ampleRate); |
| 29 var toneBuffer = createToneBuffer(context, 20, 20 * toneLengthSeconds, sampl
eRate); // 20Hz tone | 21 var toneBuffer = createToneBuffer(context, 20, 20 * toneLengthSeconds, sampl
eRate); // 20Hz tone |
| 30 | 22 |
| 31 var bufferSource = context.createBufferSource(); | 23 var bufferSource = context.createBufferSource(); |
| 32 bufferSource.buffer = toneBuffer; | 24 bufferSource.buffer = toneBuffer; |
| 33 | 25 |
| 34 window.context = context; | 26 window.context = context; |
| 35 shouldThrow("context.createDelay(180)"); | 27 should(() => context.createDelay(180)) |
| 36 shouldThrow("context.createDelay(0)"); | 28 .throw(); |
| 37 shouldThrow("context.createDelay(-1)"); | 29 should(() => context.createDelay(0)) |
| 38 shouldThrow("context.createDelay(NaN)"); | 30 .throw(); |
| 39 | 31 should(() => context.createDelay(-1)) |
| 32 .throw(); |
| 33 should(() => context.createDelay(NaN)) |
| 34 .throw(); |
| 35 ; |
| 40 var delay = context.createDelay(179); | 36 var delay = context.createDelay(179); |
| 41 delay.delayTime.value = delayTimeSeconds; | 37 delay.delayTime.value = delayTimeSeconds; |
| 42 window.delay = delay; | 38 window.delay = delay; |
| 43 shouldBeTrue("delay.delayTime.value === 0.5"); | 39 should(delay.delayTime.value, |
| 40 "delay.delayTime.value = " + delayTimeSeconds) |
| 41 .beEqualTo(delayTimeSeconds); |
| 44 | 42 |
| 45 bufferSource.connect(delay); | 43 bufferSource.connect(delay); |
| 46 delay.connect(context.destination); | 44 delay.connect(context.destination); |
| 47 bufferSource.start(0); | 45 bufferSource.start(0); |
| 48 | 46 |
| 49 context.oncomplete = checkDelayedResult(toneBuffer); | 47 context.startRendering() |
| 50 context.startRendering(); | 48 .then(buffer => checkDelayedResult(buffer, toneBuffer, should)) |
| 51 } | 49 .then(() => task.done()); |
| 50 }); |
| 52 | 51 |
| 53 runTest(); | 52 audit.run(); |
| 54 | 53 |
| 55 </script> | 54 </script> |
| 56 | 55 |
| 57 </body> | 56 </body> |
| 58 </html> | 57 </html> |
| OLD | NEW |