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