| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title> | |
| Test AudioScheduledSourceNode | |
| </title> | |
| <script src="../imported/w3c/web-platform-tests/resources/testharness.js"></script> | |
| <script src="../resources/testharnessreport.js"></script> | |
| <script src="resources/audit.js"></script> | |
| </head> | |
| <body> | |
| <script id="layout-test-code"> | |
| let context = new AudioContext(); | |
| let audit = Audit.createTaskRunner(); | |
| audit.define( | |
| { | |
| label: 'construction', | |
| description: 'Construct AudioScheduledSourceNode' | |
| }, | |
| function(task, should) { | |
| should(function() { | |
| return new AudioScheduledSourceNode(context); | |
| }, 'new AudioScheduledSourceNode(c)').throw(TypeError); | |
| task.done(); | |
| }); | |
| audit.define( | |
| { | |
| label: 'properties', | |
| description: 'Test properties on derived nodes' | |
| }, | |
| function(task, should) { | |
| let expectedProperties = ['start', 'stop', 'onended']; | |
| // AudioScheduledSourceNode must have these properties. | |
| for (p in expectedProperties) { | |
| should( | |
| AudioScheduledSourceNode.prototype, | |
| 'AudioScheduledSourceNode.prototype') | |
| .haveOwnProperty(expectedProperties[p]); | |
| } | |
| // ConstantSource and Oscillator must not | |
| let nodes = ['ConstantSourceNode', 'OscillatorNode']; | |
| for (n in nodes) { | |
| for (p in expectedProperties) { | |
| should(window[nodes[n]].prototype, nodes[n] + '.prototype') | |
| .notHaveOwnProperty(expectedProperties[p]); | |
| } | |
| } | |
| // AudioBufferSourceNode has it's own start method, but should not | |
| // have the others. | |
| for (p in expectedProperties) { | |
| if (expectedProperties[p] !== 'start') { | |
| should( | |
| AudioBufferSourceNode.prototype, | |
| 'AudioBufferSourceNode.prototype') | |
| .notHaveOwnProperty(expectedProperties[p]); | |
| } | |
| } | |
| should( | |
| AudioBufferSourceNode.prototype, | |
| 'AudioBufferSourceNode.prototype') | |
| .haveOwnProperty('start'); | |
| task.done(); | |
| }); | |
| audit.run(); | |
| </script> | |
| </body> | |
| </html> |